How to Debug a NinjaTrader Trade Copier with AI
The CrossTrade trade copier moves orders from a leader to one or more followers. When a follower misses, the broker UI usually shows nothing. The CrossTrade Add-On activity log holds the truth. With CrossTrade MCP, an AI agent reads both leader and follower logs in one conversation and points at the gap.
Direct answer
Authenticate with mcp:read. Run this prompt with the leader, follower, and time window:
For leader <leader_account> and follower <follower_account> between <start> and
<end>:
1. GetActivityLog for both accounts.
2. ListOrders and ListExecutions for both in the same window.
3. ListPositions for both.
4. Build a single chronological timeline.
5. Identify the step where the follower path broke.
6. State the verbatim rejection reason if any.
7. Suggest a one-line preventive check.
Do not place, cancel, modify, or flatten anything.
The agent reconstructs the timeline. The rejection reason is usually one line, like "follower rejected: max contracts (existing 4 + routed 2 > limit 5)".
Common copier failures
| Pattern | Cause |
|---|---|
| Leader filled, follower rejected | Max contracts on follower account |
| Follower late or out of sync | Routing delay or follower broker latency |
| Wrong quantity on follower | Copier ratio or per-account override |
| Follower took the wrong side | Configuration error in copier mapping |
| Two accounts diverged silently over time | Manual trades on one account, or copier-disabled window |
Prerequisites
| Requirement | Detail |
|---|---|
| CrossTrade subscription | Elite |
| CrossTrade Add-On | v1.13.0 or higher |
| MCP client | Any |
| Scope | mcp:read |
Step 1: Confirm the symptom
Before running the agent, note the leader fill time and the follower account that missed. A 5-minute window around the leader fill is usually enough.
Step 2: Run the diagnostic prompt
Paste the prompt above with your specific accounts and window.
Step 3: Read the timeline
Look for the step where the follower path stops. Typical patterns:
14:32:09.812 LEADER order placed
14:32:10.041 LEADER fill confirmed
14:32:10.044 copier leader fill received
14:32:10.047 copier follower routing started
14:32:10.121 copier follower rejected: max contracts (existing 4 + routed 2 > limit 5)
14:32:10.121 FOLLOWER no order placed
The verbatim rejection reason is what you want. It usually tells you exactly which check fired.
Step 4: Fix the underlying issue
| Cause | Fix |
|---|---|
| Max contracts on follower | Reduce existing position or raise the per-account limit (if firm rules allow) |
| Follower disconnected | Reconnect the follower account in NT8 |
| Symbol mapping | Confirm both accounts subscribe to the same instrument; update copier mapping |
| Existing position conflict | Flatten the conflicting position manually |
| Copier ratio mismatch | Update copier configuration in CrossTrade |
| Bracket/ATM mismatch | Make sure both accounts have compatible bracket settings |
Step 5: Verify with a test signal
After the fix, fire a controlled leader order on Sim101 (or whatever non-funded environment you use for tests) and re-run the diagnostic prompt. The agent should report the follower path matched.
Funded futures considerations
- Apex prohibits automation entirely; a copier that routes to an Apex follower may violate firm rules even when CrossTrade can technically perform the route. Verify the firm's automation policy.
- Some firms prohibit cross-firm copying. Verify before you rely on it.
- Per-account max contracts on funded accounts usually cannot be raised without firm approval.
Related
- Main site: Trade Copier Diagnostics
- Tool: Trade Copier Incident Explainer
- Docs: GetActivityLog
- Trade Copier docs: Configuration