Multi-Account Placement
Last updated
Last updated
It is possible to execute orders in multiple accounts using a single webhook alert. In fact, you can copy the command into as many account as you want (prop accounts, NT SIM, NT demo, live accounts, etc.).
Simply separate each account
name with a comma and we'll generate an identical order for each account. CrossTrade will copy the order criteria and execute them sequentially, one after the other, in each account in the order of appearance in your list.
In January 2025, we identified a way to significantly increase the speed performance of order entry using multi-account placement. Previously, if more than 1 account was defined for a PLACE order, e.g., account=Sim101,Sim102,Sim103;
we would wait for confirmation of order entry before sending the next order in true synchronous fashion.
Now, orders are processed asynchronously and all sent to NT8 at the same time and let NT8 decide the sequence of order placement. We tested this thoroughly and noticed no detrimental effects on order entry other than the sequence of account orders can no longer be guaranteed to arrive as they appear in CSV ordering.
The major benefit of doing it this way is the speed of multi-account placement is now on par with some of the fastest trade copiers available running 1:1 quantity ratios. We still plan to produce a full trade copier with advanced features in the futures.
Multi-account placement is similar but distinctly different from copy trading. Typically with trade copiers, a leader account is elected along with one or more follower accounts. Whichever order actions take place in the leader account will then propagate to the follower accounts.
With multi-account placement, we instead copy the entire order instruction before it makes it to NT8 and then execute identical orders against 1 or more accounts.
A very powerful feature of Multi-Account Placement is Account Cycling. If you're prop farming, or just want to decrease the odds that you fail multiple evals at the same time through copy trading, consider Account Cycling.
Unlike standard Multi-Account Placement where orders get copied to all accounts in the list, if you have Monitors set up in NinjaTrader Account Management for multiple accounts, Account Cycling allows you to auto-select the first account in the alert's account list whose Monitor is not STOPPED
.
Orders will continue to flow to that account until the Monitor is STOPPED
(or inactive) for hitting a profit/loss threshold, minimum profit or trailing drawdown, etc.
By setting accounts=Sim101,Sim102,Sim103,Sim104;
with the option cycle_accounts=true;
, CrossTrade will iterate over the list of accounts, in the order listed, until it finds the first account that does not have a stopped Monitor. The order will then be sent to that account and only that account. In the example above, the order would be sent to Sim103.
Note that this account selection happens before any other evaluation takes place. In the Sim103 example, if the Block Signals switch were engaged, for instance, the order would ultimately be blocked.
If no Monitor exists for an account in the list, it will always be selected during cycle evaluation.
The following alert message will execute identical ES 06-25 market orders in accounts sim101, sim102, and sim103.
key=your-secret-key; command=PLACE; account=Sim101,Sim102,Sim103; instrument=ES 06-25; action=BUY; qty=1; order_type=MARKET; TIF=DAY;
Note that multi-account placement does not guarantee delivery or execution. Orders are replicated independently, which means each can succeed or fail independent of other orders.
Account Cycling: The following alert message will execute a single ES 06-25 market order in accounts Sim101, Sim102, Sim103, or Sim104. If all Monitors are stopped for all accounts, the alert will be marked Failed.
key=your-secret-key; command=PLACE; account=Sim101,Sim102,Sim103,Sim104; instrument=ES 06-25; action=BUY; qty=1; order_type=MARKET; TIF=DAY; cycle_accounts=true;