Skip to main content

Troubleshooting

Using the Tradovate Copier?

The four root causes below are NinjaTrader 8 problems and none of them apply to Tradovate. Skip to Tradovate Copier issues.

Most NT8 Trade Copier issues land on four root causes:

  1. The answer was in the logs the whole time.
  2. Another trade copier is running alongside CrossTrade.
  3. NinjaTrader hasn't been restarted recently.
  4. An account is authorized to more than one data feed at the same time.

Start here before asking for help. These four solve the bulk of what we see in support.


1. Check your logs first

Every order CrossTrade sees, every command we forward to NT8, and every reply NT8 sends back is logged. If a trade didn't happen the way you expected, the answer is almost always there.

  • Alert History (crosstrade.io/docs/getting-started/alert-history). Every TradingView webhook hits this page first. Failed alerts have a built-in help modal explaining the specific error.
  • Trade Copier → See Logs button on the Trade Copier dashboard. Shows every copier action, in order, with timestamps. Filter by leader/follower account to narrow it down.
  • CrossTrade NT8 Add-On status panel in NT8. Inline log of every order the add-on submitted or rejected, with the reason. If you can see the order failed here, you don't need to guess what went wrong.
  • Account Manager monitors (crosstrade.io/docs/account-manager/monitors). If a monitor flattened or blocked your account, it logs which rule fired.
tip

Before you ask for help, screenshot the relevant log line(s). Nine times out of ten the support reply is "your log already shows the answer: it says X" and we go around the loop twice for no reason. Save us both the round-trip.


2. Do not run other trade copiers alongside CrossTrade

If you have Replikanto, Apex Trade Copier, ETP Trade Copier, CopyTrader, the Simple Trade Copier from the NinjaTrader Ecosystem, or any other third-party copier active on the same NinjaTrader accounts as CrossTrade, you will get duplicate fills, conflicting positions, and orders you didn't intend to send.

Each copier sees the same fills and each tries to react. Neither copier is wrong on its own, but the combined behavior is chaos.

Support policy

If multiple copiers are running on your accounts, we cannot help you diagnose execution issues. The interaction is unbounded and every combination of two copiers reacting to each other's fills produces different symptoms. The only supported configuration is CrossTrade alone as the order-routing layer.

CrossTrade covers the same use cases other copiers do:

If you uninstall another copier, restart NinjaTrader so the change actually takes effect.


3. Restart NinjaTrader regularly

NinjaTrader has known memory and stability issues when left running for days at a time. Symptoms we see in support tickets after long uptimes:

  • Orders silently rejected without a NinjaTrader error
  • P/L reporting drifts from broker truth
  • Trade Copier syncs stop firing
  • The add-on shows "connected" but commands time out
  • Charts freeze; new bars stop printing
Rule of thumb

Restart NinjaTrader at least once every 48 hours. Restarting daily is even better. CrossTrade shows a yellow uptime warning on the trading pages once you cross that threshold.

This is not a CrossTrade problem we can patch around. NT8 is doing a lot of native-code work (chart rendering, indicator recalc, ATM management, market data buffering) and the longer the process runs the more those subsystems drift. A restart resets everything.

While you're at it: restart the machine once a week if NT8 runs on a dedicated PC or VPS. Windows updates, driver updates, and network stack quirks all benefit from a real reboot, not just a re-launch of NT8.

For more on keeping NT8 healthy, see Optimizing NinjaTrader Performance.


4. Don't authorize a single account to multiple data feeds

If the same NinjaTrader account is authorized to more than one data feed provider (e.g. account 12345 connected through both Feed A and Feed B at the same time), every order you submit through any trade copier gets doubled. NinjaTrader effectively submits the same order once per authorized feed, so a 1-contract order becomes 2 contracts, a 5-contract order becomes 10, and so on.

This is an NT8 issue, not a CrossTrade issue

This behavior affects every NT8 trade copier on the market, not just CrossTrade. It's a quirk of how NinjaTrader routes orders when a single account spans multiple authorized feeds. The duplicate submissions happen inside NinjaTrader before any copier gets involved. We cannot fix this from our side, and neither can any other vendor.

To check: in NinjaTrader, open Connections and confirm each trading account is authorized to exactly one data feed at a time. If an account shows up under two connection profiles, disconnect one of them before placing orders.

If you legitimately need an account on multiple feeds (backup, redundancy, separate environments), only keep one connected at a time when you're trading.


Quick reference

SymptomMost likely causeWhere to look
Trade didn't copy at allMode mismatch (order vs execution), Kill Switch on, or follower disconnected from brokerTrade Copier → See Logs
Trade copied to the wrong instrumentMissing instrument mappingCopier config → Instrument Filtering
Quantity was wrong on the followerRatio / fixed-qty / max-position configCopier config → Position Sizing
Every order fills at 2× (or 3×) the expected sizeAccount is authorized to multiple data feeds simultaneously; NT8 duplicates the submissionSection 4 above
Some orders copied, some didn'tAnother copier is also running, or NT8 uptime > 48hSections 2 and 3 above
Orders fire lateNT8 process is overloaded: too many indicators, charts, or strategiesClose unused charts; restart NT8
Connected, but commands time outAdd-on stuck after long uptimeRestart NT8
Add-on shows disconnectedNetwork blip, firewall, or expired sessionAuto-Reconnect
P/L doesn't match my brokerNT8 uptime drift; restart resets the calcRestart NT8; re-sync follower
Auto-Sync isn't correcting positionsSync interval too long, or follower account excluded from syncAuto-Sync Engine

Tradovate Copier issues

The four causes above are NinjaTrader 8 problems. None of them exist on the Tradovate Copier: it runs in CrossTrade's cloud, there is no Add-On, no local platform to restart, and no NT8 data-feed routing to double your orders. Third-party NT8 copiers cannot touch it either.

Start with the copy log, opened with See Logs on the Tradovate Copier page. It records submitted actions, broker rejections, drift warnings and corrections, and skip decisions, with leader and follower order IDs wherever that stage has them. Follower results and copier warnings are also attached to the leader's Alert History entry.

Nothing copied at all

Check the mode first. Order mode does not see manual trades placed inside Tradovate, only CrossTrade webhook commands, so a hand-placed leader trade will never copy in that mode. Use execution mode if you want fills copied whatever produced them. Then confirm the copier is active, both identities are still linked, and the instrument filter allows the symbol.

Fills during a brief disconnect never arrived

Execution-mode fills that land while the copier's connection to Tradovate is down are not replayed afterwards. With drift correction enabled, reconnect runs a bounded catch-up pass instead, so positions converge rather than every missed fill being re-sent. Candidates beyond the per-burst limit wait for later activity.

A symbol replacement did not apply

Symbol replacements only apply to unbracketed market orders. When a replacement is configured and the leader sends a limit, stop, or bracketed order on that instrument, the follower skips the copy rather than placing prices computed for a different contract. This includes ES to MES. Use market leader entries, or enable Fills Only so pending orders are skipped up front.

An inverted follower skipped a trade

Inversion applies to unpriced market entries. Priced and bracketed signal entries are skipped, because absolute entry, stop, and target prices cannot be inverted safely. Inverted followers are also skipped on cancelandbracket for the same reason.

A cancel or change never reached the follower

Signal-mode cancels and changes mirror only orders the copier itself created, using a leader-to-follower order map kept for 7 days. An order placed outside the copier, or one older than the map window, has nothing to mirror to.

Some followers filled and one did not

Follower results are independent by design. Once Tradovate accepts the leader order, a later follower timeout or rejection does not roll the leader back, and one failed follower does not cancel successful copies on the others.

Do not blindly retry the leader signal

Retrying the original leader signal can duplicate real broker exposure when the first outcome was ambiguous. Read the Copy Log and the Alert History entry first, and correct the specific follower instead.

A copy was skipped as stale

CrossTrade applies a per-identity Tradovate request governor and reserves capacity for liquidations and reconciliation. A fill copy that waits past its copy deadline is skipped rather than entered late, on the basis that a late entry is worse than no entry. Large fan-outs make this more likely, since one leader event creates a broker request per active follower.

The second copier on a pair was rejected

A given leader and follower pair may be linked by one copier only, in either mode. A signal copier and an execution copier on the same pair would copy every webhook entry twice, so the app rejects the second config.

Everything stopped after I re-linked my account

Unlinking any Tradovate identity pauses all Tradovate copiers and monitors before removing the credential, and re-linking does not automatically re-enable them. Re-enable each copier and monitor by hand after a re-link.

Tradovate quick reference

SymptomMost likely causeWhere to look
Manual leader trades never copyCopier is in order mode, which only sees webhook commandsCopier config, switch to execution mode
Nothing copies at allCopier inactive, identity unlinked, or instrument filter excludes the symbolCopy Log, My Account → Brokers
Gap in copies around a disconnectOffline fills are not replayedEnable drift correction; Copy Log
Replacement instrument not usedLeader order was limit, stop, or bracketedCopy Log skip entry
Follower size drifts by a fractionExecution-mode signed carry, converges across entries and exitsCopy Log
Fixed-qty follower stayed drifted mid-positionFixed-qty followers only auto-correct to flatCopy Log drift warning
One follower missing from an otherwise good copyIndependent follower results, timeout or rejectionCopy Log per-follower outcome
Copy skipped as stalePast the copy deadline under request loadCopy Log
Cannot create a second copier on a pairOne copier per leader/follower pairExisting copier config
All copiers pausedIdentity was unlinked and re-linkedRe-enable each copier


Still stuck?

Email us at support@crosstrade.io with:

  1. Details about what happened and when
  2. The exact alert / command that misbehaved (copy from Alert History)
  3. The log line from the add-on or copier showing what happened
  4. On NinjaTrader 8: NT8 uptime at the time (visible in the dashboard NT8 Health Monitor), and confirmation that no other copier is installed in NT8
  5. On Tradovate: the copier mode, the leader and follower accounts, and the Copy Log lines with their leader and follower order IDs