Running two or three funded Tradovate accounts off the same signal means listing every account inside the alert’s multiple_accounts array, since PickMyTrade (a TradingView-to-broker trade automation platform) treats that array as the complete routing instruction. On pickmytrade.trade, every account in the array trades through your Tradovate connection. Leave one out and it sits idle while the rest fire normally, with the alert log looking perfectly healthy.
Table of Contents
- Symptom, Cause and Fix at a Glance
- What Goes Into the multiple_accounts Array
- One Subscription Covers Every Sub-Account Under That Login, Not a Second Login
- Step by Step: Adding Every Account Through the Alert Builder
- Choosing risk_percentage or quantity_multiplier When the Accounts Are Different Sizes
- A Worked Example: One Alert, a K and a 0K Tradovate Account
- Keep One Signal From Filling the Same Account Twice
- When One Account Shows Order Placed and Nothing Landed at the Broker
- Where a Position Cap Silently Rejects One Account
- Test on a Demo Connection Before You Point This at Funded Accounts
- What Your Prop Firm Says About Multiple Automated Accounts
- If Your Accounts Are on Rithmic, ProjectX or Interactive Brokers Instead of Tradovate
- Before You Fire It Live: A Checklist
- Frequently Asked Questions
Get one distinction straight before touching the alert. This array sends orders from a TradingView signal to several accounts at once. It is not the Manual Trade Copier, which mirrors orders you place by hand from one Tradovate account to another and lives on a completely different tab. Confusing the two is the single most common question on this topic, so decide which one you actually want before you build anything.
Symptom, Cause and Fix at a Glance
| What you see | Why it happens | What to do |
|---|---|---|
| Alert fires, only one account trades | That account id is missing from multiple_accounts, main account included | List every account you expect to trade inside the array |
| Every account took the same size despite different balances | quantity_multiplier was used instead of risk_percentage | Switch every entry to risk_percentage and add a stop loss |
One account shows Order Placed, nothing at the broker | Tradovate accepted the relay’s handoff, then rejected or never filled the order | Open that order details inside Tradovate and read its own reason |
Your maximum order quantity has been met. Please change your quantity to place the order. | Order bigger than that account’s Max Position Size | Lower the quantity, or raise the limit in Risk Settings in Tradovate if it is yours |
| A second prop firm’s Tradovate login never trades | That login carries its own PickMyTrade token, not the main one | Add its token as a separate multiple_accounts entry with its own subscription |
| The same signal fills twice on one account | same_direction_ignore was left off, so a repeat signal stacked a second position | Set same_direction_ignore to true on that account |
| Contract counts round oddly after scaling | Futures only trade in whole contracts | Pick a risk percentage and stop distance that round cleanly |
What Goes Into the multiple_accounts Array
Problem: One TradingView strategy, several funded accounts under the same Tradovate login, and no wish to duplicate the alert once per account.
Fix: Send one alert and list every account inside it. On pickmytrade.trade the array holds four fields per account, matching the shape used across PickMyTrade’s Tradovate documentation:
{
"symbol": "MNQ1!",
"date": "{{timenow}}",
"data": "{{strategy.order.action}}",
"quantity": 0,
"risk_percentage": 1,
"price": "{{close}}",
"order_type": "MKT",
"token": "PickMyTrade_token",
"multiple_accounts": [
{
"token": "PickMyTrade_token",
"account_id": "1_account_id",
"risk_percentage": 1,
"quantity_multiplier": 0
},
{
"token": "PickMyTrade_token",
"account_id": "2_account_id",
"risk_percentage": 1,
"quantity_multiplier": 0
}
]
}Unlike the Rithmic and ProjectX examples in PickMyTrade’s other guides, the Tradovate array carries no connection_name field, because a Tradovate subscription only ever points at one connection. You do not have to hand-write any of this. In the alert builder, use Add Account once per account, and it writes the array for you with a row per account showing Account ID, Risk Percentage and Quantity Multiplier.

One Subscription Covers Every Sub-Account Under That Login, Not a Second Login
Problem: Traders assume adding a fourth or fifth account to the array is always free, because “unlimited accounts” is the phrase they remember from pricing.
Fix: Separate two things that get merged in people’s heads. Every sub-account that sits under one Tradovate login, funded or evaluation, connects through the same PickMyTrade subscription and the same token, so you can list as many of those as your login has. A second Tradovate login, whether it is a second prop firm or a personal account on its own credentials, is a separate connection. That needs its own PickMyTrade subscription and its own token in the array, with its own account_id. Confirm which situation you are in before you assume a new account is a one-line addition.
In practice this means a trader running an evaluation and a funded account at the same firm, both issued under one Tradovate login, adds both as two rows under one token. A trader who also holds a second prop firm’s account, issued on its own separate Tradovate login, generates a second token from that login’s own PickMyTrade connection and adds it as a third row. The array does not care how many tokens sit inside it, only that each row’s token matches the login that actually owns that account_id.
Step by Step: Adding Every Account Through the Alert Builder
- Open the Generate Alert screen and build the base alert for your strategy, with the symbol, order type and stop fields set.
- Click Add Account for the first account you want traded, and pick its connection from the dropdown.
- Paste in that account’s
account_idexactly as Tradovate shows it, not a nickname you gave it. - Set either
risk_percentageorquantity_multiplieron that row, never both. - Repeat Add Account for every remaining account, including a second login’s token if you have one.
- Copy the generated JSON into the TradingView alert’s Message box, under the Notifications tab, with nothing typed above or below it.
- Fire one test alert and confirm the alert log shows one row per account, not one row for the whole alert.
Choosing risk_percentage or quantity_multiplier When the Accounts Are Different Sizes
Problem: Both fields sit on every row of the array, and setting both leaves you guessing which one actually decided the size.
Fix: Pick one per account, because they are alternative ways to size a trade, not additive ones.
- quantity_multiplier scales the alert’s own
quantityfield. A base quantity of 2 with a multiplier of 3 sends 6 contracts to that account. It is simple and predictable when every account is the same size. - risk_percentage ignores the alert’s quantity and sizes from that account’s own balance instead, so set
"quantity": 0at the top level when you use it. It needs a stop loss on the alert, since PickMyTrade calculates size from account value, the risk percentage, and the distance between the stop and the entry price. With no stop distance there is nothing to divide by.
Full field definitions live in PickMyTrade’s multi-account setup guide, and the base payload fields are covered in the webhook JSON syntax guide.
A Worked Example: One Alert, a $50K and a $150K Tradovate Account
Problem: A contract count that is sensible on a $150K account is reckless on a $50K one, and drawdown limits scale differently at every tier, so a shared quantity_multiplier cannot get both right at once.
Fix: Give both accounts the same risk_percentage instead of a fixed multiplier. Each account then sizes itself from its own balance and the same stop distance, so exposure stays proportional without a lookup table. The table below shows how a 1 percent risk setting and a 20-tick stop split across two account sizes on MNQ, where each tick is worth $0.50 per micro contract.
| Account | Balance | Risk at 1 percent | Stop distance | Resulting contracts |
|---|---|---|---|---|
| Account A | $50,000 | $500 | 20 ticks ($10/contract) | 50 micros |
| Account B | $150,000 | $1,500 | 20 ticks ($10/contract) | 150 micros |
Both accounts risk the same 1 percent of their own balance from one alert, with no per-account math done by hand. Futures still trade in whole contracts, so an odd risk percentage or stop distance can round to a size you did not expect. Check the filled quantity in the alert log against the number you predicted the first few times you run it.
Keep One Signal From Filling the Same Account Twice
Problem: A strategy that fires more than one signal in the same direction, or an indicator that fires on every bar close, can send a second entry to an account that is already in the position. Across several accounts that turns one mistake into several duplicated positions at once.
Fix: Two fields on the base alert guard against this, and both apply across every account in the array, not just one. Set same_direction_ignore to true so a repeat signal in the direction you already hold is ignored rather than stacked. Set duplicate_position_allow to false so a second signal cannot open a parallel position with its own bracket next to the first. Neither field replaces careful Pine logic, so cap re-entries in the strategy itself too, but they are the last line of defense across every account in the array.
When One Account Shows Order Placed and Nothing Landed at the Broker
Problem: Same alert, same instant, and one account fills while another shows Order Placed with no position in Tradovate’s order list.
Fix: Read that status precisely. Order Placed means the relay handed the order to Tradovate, not that Tradovate filled or even accepted it. The size or risk check happens afterward, inside the broker, so a rejection reason lives in Tradovate’s own order details rather than the alert log. Open the order there before assuming the automation is broken.
Where a Position Cap Silently Rejects One Account
Problem: The alert is identical for every account, but the accounts are not, and a Max Position Size setting or a prop firm’s contract limit decides what actually fills.
Fix: Check that account’s Risk Settings in Tradovate, or the firm’s published contract limit if it is a funded account. The rejection usually reads Your maximum order quantity has been met. Please change your quantity to place the order. Lower the quantity, or raise the limit if the account is yours to change.

Test on a Demo Connection Before You Point This at Funded Accounts
Problem: The first time every account fires together is a bad time to discover a typo in one account_id.
Fix: Build the full array against a demo connection first, fire one alert, and confirm the log shows exactly one row per account with the status and quantity you expected. Only then repoint the tokens at live accounts.
What Your Prop Firm Says About Multiple Automated Accounts
Problem: The array works the same regardless of what any given firm allows, and firm policy on automation varies sharply and changes often.
Fix: Read your firm’s current policy before you route a single live order. Topstep allows automated strategies on funded accounts, but will not help you set one up or troubleshoot it once it is running. Topstep’s own trade copier is a separate product from PickMyTrade, and it stays unavailable on the Live Funded Account regardless. Apex Trader Funding prohibits automated order entry on every account type, so an Apex account should not be in this array at all. Several firms run their evaluation and funded accounts on Tradovate; the Tradovate prop firms guide names the ones that do, though firm policy on automating them is yours to confirm directly, not PickMyTrade’s or that guide’s to certify.
If Your Accounts Are on Rithmic, ProjectX or Interactive Brokers Instead of Tradovate
This guide covers Tradovate connections on pickmytrade.trade. If your funded accounts sit on Rithmic, ProjectX, TopstepX, Interactive Brokers or another platform instead, the array gains a connection_name field and the setup runs on PickMyTrade’s other connection, not this one. Check which platform your login actually uses before you copy the payload above.
Before You Fire It Live: A Checklist
- Count the entries in
multiple_accountsand confirm the number matches every account you expect to trade. - Confirm each entry’s
account_idis copied from Tradovate, not a nickname. - Confirm every entry uses the token of the login that owns that account, especially across a second subscription.
- Confirm each entry sets either
risk_percentageorquantity_multiplier, not both. - If you used risk percentage, confirm the alert carries a stop loss to calculate from.
- Check each account’s Max Position Size in Risk Settings, or its firm’s contract limit.
- Fire one test alert on a demo connection and confirm one log row per account.
- Check the fills inside Tradovate itself, not only the statuses in the alert log.
- Re-read your firm’s current automation policy before the first live account.
Still not routing to every account? Send support the alert log rows for every account, the JSON pasted into TradingView with tokens replaced by
PickMyTrade_token, and a screenshot of the account’s order details inside Tradovate. Redact account numbers and tokens first, and never paste a live webhook URL into a ticket, since the token inside it is a credential.
Frequently Asked Questions
The multiple_accounts array lives inside the TradingView alert JSON and routes one signal to several Tradovate accounts at once. The Manual Trade Copier is a separate feature that mirrors orders you place by hand from one Tradovate account to another. An alert never touches the copier, and the copier never touches an alert.
PickMyTrade’s multi-account documentation does not publish a fixed cap on the array itself. In practice the limit comes from your Tradovate login and your prop firms, not from the array. One PickMyTrade subscription covers every sub-account under a single Tradovate login. A second login needs its own subscription and its own token.
Yes, but each login needs its own PickMyTrade subscription and its own token, because a subscription is tied to one Tradovate connection. Add both tokens as separate entries in the multiple_accounts array, each with its own account_id, and confirm both logins show connected before you test.
Use risk_percentage. It sizes each account from its own balance and the alert’s stop distance, so a $50K and a $150K account take proportional risk automatically. quantity_multiplier scales the alert’s raw quantity instead, which works well when every account is the same size but has to be recalculated by hand otherwise.
The array replaces the routing decision rather than adding to it, so an account left out of multiple_accounts stays idle even if it traded fine before. Count the entries against the accounts you expect to trade, confirm every token matches the login that owns that account, and check the alert log for one row per account.
Apex Trader Funding prohibits automated order entry on every account type. That rule applies whether one account or five accounts sit in the array. Confirm your own firm’s current policy before automating, since rules vary by firm and change often.
Also Checkout: Automate TradingView Indicators with Tradovate Using PickMyTrade
