Ghost Orders and Missed Fills: How to Troubleshoot a Broken Trade Copier Setup
Ghost orders and missed fills are the most disruptive trade copier failures. Here's exactly how to diagnose which type of failure you're dealing with and fix it without losing a funded account.
Ghost Orders and Missed Fills: How to Troubleshoot a Broken Trade Copier Setup
Two failure types account for the majority of trade copier problems in prop firm setups. Ghost orders — where an order appears in NinjaTrader as sent but no position exists at the broker. And missed fills — where the copier should have sent a follower order but didn't, leaving the follower out of a position the leader is in. Each has different causes and different fixes.
Ghost Orders
A ghost order is an order that NinjaTrader shows as "Filled" in its interface but the corresponding position doesn't exist at the broker level. You have a phantom position in your NinjaTrader P&L that the broker doesn't recognize.
What Causes Ghost Orders
- Connection drop during order confirmation. The order was sent to the broker, but the confirmation message never made it back to NinjaTrader before the connection dropped. NT assumes the order is filled; the broker has no record of it.
- Stale cached position data. NinjaTrader is displaying position data from a cached state that doesn't reflect the current broker reality — common after a reconnect event, particularly with Rithmic connections.
- Rejected order that wasn't properly surfaced. The broker rejected the order (exceeding contract limits, for example) but the rejection message was lost, leaving NT in a state where it believes the order is pending or filled.
Diagnosing a Ghost Order
- Log into your broker portal directly (Tradovate web app, or Rithmic's portal) and check the actual position for that account
- If the broker shows no position where NinjaTrader shows one — you have a ghost order
- In NinjaTrader, go to the Positions tab and manually close the phantom position (NT needs to reconcile its state even though no actual position is open)
- Force a position sync: disconnect and reconnect that account's broker connection in NinjaTrader to refresh position data from the broker
Preventing Ghost Orders
- Run NinjaTrader on a stable VPS — connection stability is the primary variable
- After any disconnection event, always verify positions at the broker level before resuming trading
- Use Copilink's position reconciliation monitoring — it detects state mismatches between NT and broker and alerts you
Missed Fills
A missed fill means the copier should have placed an order on a follower account but didn't — leaving that account flat when it should have an open position matching the leader.
What Causes Missed Fills
- Follower account connection was down when the leader order fired. The copier tried to send the order but the follower's broker connection wasn't active.
- Order rejected by broker due to insufficient margin, contract limit exceeded, or prohibited order type during the current session window.
- Copier configuration error — wrong instrument mapping, incorrect account designation, or the follower account wasn't active in the copier when the order fired.
- Market order during halted trading — if a follower's account was in a restricted state (daily loss limit hit, account locked), the order was intentionally blocked by the risk layer.
Diagnosing a Missed Fill
- Check the Copilink order log — was the follower order generated and marked "sent," or did it never generate?
- If "sent" but no fill: check the broker's order history for that account. Was the order received and rejected, or was it never received?
- If never generated: check whether the follower account was marked active in Copilink at the time of the leader order. Check for any error messages in the NinjaTrader log around that timestamp.
- Check whether the account was in a locked state (daily loss limit, risk rule triggered) — this is an intentional block, not a malfunction.
What to Do After a Missed Fill
See the full response protocol in our mid-session desync guide. Short version: decide whether the remaining trade is worth entering at current price, or leave the follower flat for this trade and investigate the root cause before the next session.
Don't force-enter on a follower using the copier while the leader is already in the trade — this creates order doubling risk if the copier also generates a copy of the manual follower entry.
Related Articles
How to Automate a Kill Switch That Flattens All Accounts When Daily Loss Is Hit
4 min readNinjaTrader Crashed During a Live Session — Exact Recovery Steps for Prop Accounts
4 min readFrom Sim to Live: How to Transition Your Trade Copier Setup When You Pass Your Evaluation
4 min readReady to Start Trade Copying?
Try Copilink free for 7 days. No credit card required. Copy trades across unlimited prop firm accounts.