When a trade copier is not copying, the follower (the account that mirrors the master) is in one of four states: flat while the master is in, still open after the master closed, the wrong size, or doubled or opposite. Check, in order, the broker's record of the follower, its session, its size and symbol settings, and any second sender. One cause is arithmetic: under floor rounding, a 0.5x follower of a 1-contract master rounds to 0 and never trades.

Key takeaway

Start with the broker's record of the follower, not the copier's log: Tradovate's API documentation says requests hit with a penalty ticket come back as HTTP 200 OK, not as errors. Then look for a session ended by a second login, a size that floors to zero (a 0.5x follower of a 1-contract master computes 0.5 and trades 0) and a second copier on the same account. On TopstepX, as of October 2026, the firm itself can drop a follower from the copier.

What should I check first when my trade copier is not copying?

Check what the broker shows for the follower: its position, its working orders and any rejected orders. The broker's record is the truth; the copier's log only shows what the copier believes it sent.

The two can disagree with no error anywhere. Tradovate's penalty tickets documentation, as of October 2026, says "P-tickets don't come back as an error": a penalty response for exceeding an endpoint limit arrives as an HTTP 200 OK, and its rate limits page says the request was not handled. A copier that only checks for errors can log such a request as sent while the follower stays flat.

WHAT DOES THE BROKER SHOW? What does the broker show for the follower? Flat, master in Session ended Size rounded to 0 Firm rejected or locked Throttled Open, master flat Exit missed in disconnect Stop held on local PC Dropped by firm before exit Wrong size Floor rounding Firm position cap Partial fill Duplicate or opposite Two copiers Retry with new order ID Inverse or mapping Two to four causes per symptom; each is confirmed at the broker, the firm or the copier settings.
Every diagnosis starts from the broker's record of the follower, not the copier's log; the symptom you see there narrows the cause to two to four candidates.

Work through the causes in this order, cheapest check first:

  1. Read the follower at the broker. Note its position, working orders and rejects, and compare them with the master's.
  2. Make an unmatched position safe. If the follower holds a position the master does not, flatten or protect it before you diagnose.
  3. Check the session. Look for a second login on the same credentials, a quota message or a disconnect at the minute of the missed trade.
  4. Check the firm side. Look for a lock, a liquidate-only status or removal from the firm's copier group.
  5. Check size and symbol. Multiply the follower's multiplier by the master's size, and confirm the contract month and symbol mapping.
  6. Check for a second sender. Look for another copier, a group-trading feature or a manual order on the same account.

The table maps each symptom to its causes, the observation that confirms each, and the first fix.

Symptom at the brokerCauseWhat confirms itFirst fix
Flat, master inSession ended by another loginQuota code or disconnect in the log at that minuteClose the other login, reconnect
Flat, master inSize rounded to zeroMultiplier x master size under 1Raise multiplier or master size
Flat, master inFirm reject, lock or removalNotice on the firm's platformWait for the firm's reset
Flat, master inThrottledMany followers at once; penalty or HTTP 429 responsesFewer followers per login
Flat, master inWrong contract monthCopier pinned to an expired monthUpdate the mapping
Open, master flatExit missed in a disconnectConnection gap at the master's exitFlatten, then fix the connection
Open, master flatStop held locallyNo working stop at the brokerFlatten; use broker-held stops
Open, master flatDropped by the firm firstFirm notice of removalFlatten by hand
Wrong sizeRounding, firm cap, partial fillSize equals the floored value, the cap or part of the orderFix multiplier or cap
DoubledTwo senders on one accountTwo orders, different IDs, same secondTurn one sender off
OppositeInverse or mapping settingReversed on every tradeFlatten, turn the setting off

No public data shows how often copiers fail, by cause or by product, so this order ranks checks by cost, not frequency. The belief that failures are mostly the copier's fault is also unsupported: most causes above sit at the broker, the feed, the firm or in the trader's settings.

Why did my copier stop after I logged in on my phone?

Because a second login on the same credentials can take the copier's session. On Rithmic the reported default is one connection per login. On Tradovate, a 2021 user post on its forum reports that logging in to Tradovate Trader ends an API session, and its partner documentation says the server closes the oldest connection when a limit is exceeded.

Tradovate's WebSocket connection overview allows 50 total connections per user, plus 15 distinct devices (a limit labelled for organization administrators) and 5 distinct IP addresses for market-data connections. Past a limit, "the server closes your oldest connection and revokes its token to make room for the new one." A copier connected since before the open is usually the oldest.

Before it closes a connection for a limit or maintenance, Tradovate sends a shutdown event with a reason code: ConnectionQuotaReached, DeviceQuotaReached, IPQuotaReached or Maintenance. Its documentation advises: "Log these events so you can distinguish a deliberate server close from a network drop." A quota reason code in a copier log means another connection took the slot, not that your internet dropped.

For Rithmic, an Optimus Futures support moderator wrote in a November 2021 forum reply that "all Rithmic accounts by default are limited to 1 connection at a time without the use of the R Trader Pro plugin." No Rithmic-authored page on session limits could be loaded; workarounds are in our guide to multiple Rithmic connections. A cloud copier counts as another computer: Thor runs on cloud servers 24/7, which removes a closed laptop as a cause but not a second login on the same credentials.

An illustrative timeline: at 09:29:50 the copier connects on login A. At 09:30:05 you open login A on your phone and the copier's connection is closed. At 09:30:20, 15 seconds after the kick, the master enters and the follower receives nothing until the copier reconnects.

A SECOND LOGIN CAN END THE COPIER SESSION COPIER login A PHONE login A MASTER FOLLOWER 09:29:50 09:30:05 09:30:20 connected session taken by the new login (reported for Tradovate Trader; Rithmic default 1 connection) phone login opened entry nothing received 15 s Times illustrative. Tradovate: 2021 user forum report; Rithmic: reported default of 1 connection per login.
When a second login takes the session, the copier loses its connection; the next master entry reaches nobody until the copier reconnects.

The common claim that Tradovate allows exactly two sessions per account is unsupported. No Tradovate page fetched for this article states the retail limit. Treat the copier's login as occupied while it runs.

Why did the follower get the wrong size, or no trade at all?

Usually because the multiplier times the master's size is not a whole number and the copier rounds it, often down. A 0.5x follower of a 1-contract master computes 0.5; floor rounding makes that 0, and the trade is skipped without an error.

One MT4 and MT5 copier's published lot rounding rules state: "If the floored result is zero, skip the trade rather than forcing the broker's minimum lot." No cross-vendor survey of rounding rules exists. The table shows what floor and nearest rounding do to the same trades.

MultiplierMaster 1: raw sizeFloorNearest (half up)Smallest master that trades (floor)
0.3x0.30004
0.5x0.50012
0.9x0.90012
1.5x1.50121

Computed by Phoenix Technologies; method: follower = floor(master x multiplier), nearest = round half up, smallest master = ceil(1 / multiplier); multipliers and master sizes illustrative.

Under floor rounding, every multiplier below 1.0 skips every 1-contract trade, even 0.9x. So a 0.5x multiplier halves a trade only when the master's size is even: a 3-contract master at 0.5x computes 1.5 and floors to 1, a third, not half. What that costs over a month is in why follower results differ from the master.

FLOOR ROUNDING SKIPS SMALL MULTIPLIERS multiplier raw size, then floor (1-contract master) follower trades smallest master 0.3x 0.3 0, skipped 4 0.5x 0.5 0, skipped 2 0.9x 0.9 0, skipped 2 1.5x 1.5 1, trades 1 3 contracts at 0.5x 1.5 1: a third, not half 0 1 2 Illustrative multipliers. follower = floor(master x multiplier); smallest master = ceil(1 / multiplier).
Under floor rounding any multiplier below 1.0 never trades a 1-contract master, even 0.9x; and 0.5x of 3 contracts is 1, a third.

Two other causes produce a wrong size. A firm cap can trim or reject the order: TopstepX's copy trading settings page, as of October 2026, says "Follower Accounts must have a greater than or equal margin / max position size as the Lead Account". A follower can also fill only part of its order (see how partial fills happen). If a follower needs less than one contract per master contract, no copier setting fixes it; only a larger master size does.

Why does it copy to some followers but not others?

Two causes split a group: rounding, where a small multiplier floors to 0 while larger ones trade, and throttling, where one master trade becomes a burst of requests and the late ones are not processed. A firm limit on one account is the third.

Tradovate's rate limits documentation sets 5,000 requests per hour for authenticated users, "Applied per user (by user ID) across all endpoints". A breach returns HTTP 429, and the server stops handling requests for a period. Its table also lists 5,000 per minute and per second, so the hourly figure binds. No copier publishes its call count per order, so the table assumes an illustrative 3 calls per order (submit, confirm, poll) and 3 legs per trade (entry, stop, target).

Followers on one user IDRequests per master tradeFull trades per 5,000 requests per hour
19555
545111
109055
2018027

Computed by Phoenix Technologies; method: requests = 3 calls x 3 legs x followers; trades = floor(5,000 / requests), rounded down because a partial burst leaves some followers out; call counts illustrative.

Twenty followers under one user ID spend the hour's budget in 27 bracketed trades: 180 x 27 = 4,860 requests, and a 28th would need 5,040. Trailing stops and cancel-and-replace edits add more. Followers on separate prop-firm logins are separate users with separate budgets, so this ceiling bites when many accounts share one login.

ONE MASTER TRADE, MANY REQUESTS requests per master trade = 3 calls x 3 legs x followers trades/hour in 5,000 9 555 1 follower 45 111 5 followers 90 55 10 followers 180 27 20 followers requests 180 x 27 = 4,860 a 28th trade needs 5,040 one user ID, one budget Call counts illustrative. Limit: 5,000 requests per hour per user ID, Tradovate API docs, as of October 2026.
Followers sharing one login share one request budget: 20 bracketed followers exhaust it in 27 master trades.

Staying under the hourly user limit does not mean you are never throttled: endpoint limits use a rolling one-hour window, so a burst on one endpoint at 09:31 still counts at 10:30, and penalty tickets are keyed to the caller's IP subnet, which every account sent from one server IP shares. Backoff and retry patterns are in why automation gets throttled.

Why is the follower still in a trade after the master closed?

The follower missed the exit: its session was down when the master closed, its stop lived where it could not act, or the firm removed it from the copier first. Flatten or protect that orphaned position before diagnosing it, because it is open risk with no master behind it.

A short gap is enough: Tradovate drops a silent connection after 15 seconds, and a master exit inside a reconnect never reaches the follower. If the copier itself went down, recovery is in what to do when a copier dies.

NinjaTrader's help guide on simulated stops says "SS orders are held and simulated locally on your PC and are therefore subject to issues such as loss of internet connection and computer crashes", and they stop simulating if market data stops. A stop that never left the PC was never at the broker, so it is false that a stop is always there once placed. Look for each follower's stop as a working order at the broker; how brackets change between platforms is in how brackets and trailing stops translate.

Why did the follower get a duplicate or opposite position?

A doubled follower means two things sent the order: a second copier, a platform's group-trading feature, or a retry under a new order ID. An opposite follower means a reversed setting: an inverse option left on or a symbol mapping pointing the wrong way.

Take an illustrative master long 2. Two copiers at 1x on the same follower each send 2, so the follower ends up long 4. A second copier is therefore not a backup but a second sender; one vendor's troubleshooting guide lists "another copier is active on the same accounts" as a cause, alongside Tradovate's own group trading.

If an acknowledgement is lost and the copier resends under a new client order ID (ClOrdID, FIX tag 11, the sender's own label for an order), the broker sees two orders. The FIX 4.4 specification says of that ID: "Uniqueness must be guaranteed within a single trading day." A retry that reuses the ID can be caught as a duplicate; one with a new ID is a new order.

An opposite follower is the urgent case. Master +2 and follower -2 net to 0 across the pair, the pattern firm rules can treat as hedging across prop accounts, so flatten first. Then look for an inverse setting (see how reverse copy trading works), a wrong symbol mapping across brokers, or a copier pinned to an expired month after a futures contract rollover.

Can the prop firm's risk engine stop a follower from copying?

Yes. A firm can reject, flatten, lock or remove a follower under its own rules, and the copier then shows a failure it did not cause. Topstep documents this for its TopstepX copier, as of October 2026; check the firm's current rules before relying on them.

Topstep's TopstepX help article says "The Lead account must have the lowest Maximum Position Size (MPS) of all accounts in the group." It adds that if lead and followers sit at different scaling-plan tiers, a follower can be removed automatically at the start of the trading day, which looks like a copier that broke overnight.

When a personal daily loss or profit limit fires on a follower set to Liquidate Only, Topstep writes that the follower account "does get dropped from the copier before it's flattened." Under Liquidate and Block, the follower is locked until the next trading day but stays in the copier. Which other firms remove followers on rule events is not published in one place.

A copier's own guards can hold a follower back on purpose too. Thor has built-in drawdown kill-switches and max position limits, and a follower stopped by one did not copy by design, so check those settings before calling it a failure.

What check before each session stops it happening again?

Before the open, confirm at the broker that every follower is flat or matches the master, is logged in only through the copier, has a multiplier that trades your smallest order, and is reached by exactly one copier. During the session, compare the copier's record with the broker's every few seconds and correct the copier to the broker, never the reverse.

The interval matters where a firm times overages. Topstep's scaling plan page, as of October 2026, says of contract overages in its Express Funded Account: "Errors corrected in under 10 seconds are ignored." That tolerance is Topstep's rule only; other firms differ.

The reconciliation loop has four steps: read the copier's record, read the broker's state, compare, then alert and correct the copier's record to the broker. With an illustrative 2 seconds to send and fill a correction, a lap every 5 seconds fixes a mismatch within 7 seconds, inside the 10; a lap every 10 seconds can take 12, outside it. Keeping the evidence is covered in audit trails and reconciliation.

RECONCILE TO THE BROKER, NEVER THE REVERSE 1 Read copier record 2 Read broker state 3 Compare the two 4 Mismatch: alert, fix copier to the broker one lap = one check interval time to correct a mismatch, worst case 10 s tolerance (Topstep XFA) 5 s check 2 s fix 5 s + 2 s = 7 s: inside 10 s check 2 s fix 10 s + 2 s = 12 s: outside 0 s 5 s 10 s 12 s 10 s: Topstep Express Funded Account overage rule, as of October 2026. 2 s fix illustrative.
A loop that checks every 5 seconds corrects a mismatch inside Topstep's 10-second window; one that checks every 10 seconds can miss it.

The decision rules:

  • If a follower holds a position the master does not, flatten it before anything else.
  • If a multiplier times your smallest master order is under 1, that follower skips those trades.
  • If the copier log shows a quota reason code, look for another login, not your internet.
  • If two tools can send orders to one account, turn one off.
  • If the firm has locked or removed the account, no copier setting brings it back that day.

Before trusting a new setup with funded accounts, run it once through a test plan for a new copier.

Go deeper

Frequently asked questions

Why does my copier say connected but trades are not copying?

Connected to the copier is not the same as accepted at the broker. On Tradovate, a request that exceeds an endpoint limit can return HTTP 200 OK with a penalty ticket and go unhandled, so the copier can look healthy while nothing is processed. The follower can also be locked or removed by the firm while every connection is up. Read the follower's orders at the broker to tell which.

What does HTTP 429 mean in a copier log?

On Tradovate it means a user-level rate limit was exceeded. As of October 2026 that limit is 5,000 requests per hour for an authenticated user. Once it is reached the server stops handling requests for a period, so followers served late in a burst can miss the trade.

Can I trade a follower account by hand while the copier runs?

On TopstepX's built-in copier you cannot: its settings page says that while copy trading is on, you cannot create, close or adjust orders in a follower account. With other copiers a manual order desynchronises the follower from the master. It then shows up as one of the four symptoms at the next trade.

Does using a VPN or a second network affect a Tradovate copier?

It can. Tradovate's partner documentation allows 5 distinct IP addresses for market-data connections and sends an IPQuotaReached reason code when a connection is closed for that limit. Each extra network a login opens market data from counts towards it.

Why does copying work on sim but not on my live accounts in NinjaTrader?

Check Global Simulation Mode. NinjaTrader's help guide says that when it is enabled, all order entry interfaces only allow a simulation account to be selected. Free licence users cannot disable it, so a copier that selects accounts through such a NinjaTrader install can be held to simulation accounts.

Sources

  1. Tradovate (partner API documentation) (2026), WebSocket Connections
  2. Tradovate (partner API documentation) (2026), Rate Limits
  3. Tradovate (partner API documentation) (2026), Penalty Tickets (p-tickets)
  4. TopstepX (2026), Copy Trading
  5. Topstep (2026), TopstepX
  6. Topstep (2026), What is the Scaling Plan?
  7. NinjaTrader (2026), Simulated Stop Orders
  8. FIX Trading Community (FIXimate, hosted by Orchimate) (FIX 4.4), ClOrdID | FIX.4.4 | FIX Trading
  9. Optimus Futures Trading Community (2021), Simultaneous login with Rithmic paper trading account
  10. mt4copier.com (2026), Protect Small Accounts: 6 Step Lot Rounding Rules for MT4, MT5, DXTrade