Tradovate Copier
Both copy modes are in beta: signal mode mirrors CrossTrade webhook commands, and execution mode mirrors broker fills, including manual Tradovate trades. Watch the Copy Log closely while ramping up, and report unexpected behavior to support with the order IDs involved.
The Tradovate Copier replicates trades placed on a leader Tradovate account to one or more follower Tradovate accounts. It runs entirely in CrossTrade's cloud against Tradovate's API: there is no desktop software, and your computer can be off.
Two copy modes
Each copier runs in one of two modes, chosen when you create it:
Signal mode pairs with the destination=tradovate webhook path. Mapped entries, account-scoped closes, reverses, brackets, cancels, and changes are replayed to active followers with each follower's sizing and symbol rules. Order structure is preserved: limit entries copy as limits, brackets ride along as the same server-side OSO. Unscoped global sweeps and manual Tradovate clicks are not copied by signal mode.
Execution mode watches the leader account at the broker level over a persistent connection to Tradovate. Every leader fill is copied to followers as a market order, whatever produced it: webhook orders, manual clicks inside Tradovate, or ATM bracket legs. Order types are deliberately not preserved (a fill is a fill; followers enter and exit at market), and signed fractional sizing carries a remainder per copier/leader/contract so opposite fills cancel prior fractions and scaled entries and exits converge to flat.
The signed carry is fail-closed. CrossTrade withholds a follower order if it cannot lock or read that follower's carry state before placement. Carry is committed only after Tradovate accepts the order. If the order is accepted but the updated carry cannot be persisted, the order remains live and CrossTrade records a warning so the state can be reconciled instead of silently assuming the write succeeded.
A given leader/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.
If everything flows through CrossTrade webhooks and you want order-type fidelity, use signal mode. If you also trade the leader manually inside Tradovate, or run ATMs there, and market-order copies are acceptable, use execution mode.
Setup
- Link the Tradovate identities that hold your leader and follower accounts (My Account, Brokers tab). Live and Demo environments link separately, and you can link multiple identities. Copiers can pair accounts across environments and identities, including live-to-demo and across funded-firm logins, but see the validation note below.
- Open Tradovate Copier in the sidebar and click New copier.
- Pick the leader account, the follower account (or a group of followers), choose the mode, set your sizing, and save.
- Signal mode: send your webhooks at the leader account with
destination=tradovate;as usual. Follower results are recorded in the copier log and attached to the leader's Alert History entry. Execution mode: just trade the leader; fills replicate as they happen.
Same-environment copying (Demo leader to Demo followers, or Live to Live under one login) is the validated configuration. Copying across environments or across linked identities, such as live-to-demo or between funded-firm logins, is still being validated. Verify the behavior with demo accounts before relying on it.
What signal mode copies
| Leader action (webhook command) | What followers do |
|---|---|
place, including take_profit / stop_loss brackets | Same order, transformed qty/symbol/direction. Brackets ride along as the same server-side OSO. |
flatplace | Each follower's own position and working orders on that contract are flattened and confirmed clear immediately before its entry is copied. |
closeposition / flatten (full) | Follower's own position on that contract is liquidated (which also cancels its working orders for the contract). |
closeposition with quantity / percent | Partial close against the follower's own size: percent mirrors proportionally, quantity re-applies your sizing rules. |
Account-scoped flatten sweeps | Every successfully closed leader contract is mirrored to that account's followers. Unscoped all-account sweeps are not replayed. |
reverse / reverseposition | Follower clears its own position and working orders before the new entry. Stale working orders are canceled even when the follower is already flat. A bare reverse then enters from the follower's previous size; if it was flat, cleanup still runs but the entry is skipped. reverseposition uses the explicit alert quantity. |
cancel / change | Mirrored to the follower's twin order. CrossTrade keeps a 7-day map of leader order to follower orders, so changing or canceling a copied order updates every follower. Quantity changes re-apply your sizing rules. A copied cancelreplace confirms every mapped follower cancellation before any replacement fan-out. |
cancelandbracket | Non-inverted followers proceed only when their live position side matches the leader side named by action. The side check happens before cancellation. Matching followers run a scoped cancel, a cancel-window side re-check, and bracket placement with quantity clamped to live size. Inverted followers remain skipped because absolute bracket prices cannot be inverted safely. |
What execution mode copies
Every fill on the leader account, regardless of source. Duplicate broker events are atomically suppressed before fan-out, then the fill is transformed through the follower's sizing and symbol rules and placed as a market order. Fills produced by copier orders are recognized by both broker order metadata and CrossTrade's loop-guard set. If that guard cannot be read, execution copying pauses rather than risking a circular copy. A failed follower placement is logged and is not blindly replayed; post-trade drift correction is the recovery path when enabled.
Two behaviors to understand before going live:
- Brief offline windows are not replayed. If the copier's connection to Tradovate drops, fills in the gap are not copied after the fact. With drift correction enabled, reconnect runs a bounded catch-up pass (up to 20 follower/contract probes per sync burst); excess candidates wait for later activity.
- Fixed-quantity followers only auto-correct to flat. When the leader is flat, a drifted fixed-qty follower is flattened; mid-position, the correct target size is ambiguous for a fixed-qty config, so drift is logged as a warning instead.
Per-follower settings
| Setting | Behavior |
|---|---|
| Qty ratio | Multiplier on the leader quantity (0.5x, 2x, ...). Signal mode rounds to the nearest contract; execution mode carries a signed fractional remainder isolated per copier, leader, and contract so buys and sells converge without sharing carry across configurations. If carry state cannot be read safely, that follower placement is withheld. |
| Fixed qty | Overrides the ratio with a constant quantity. |
| Max qty | Cap applied to ordinary transformed signal orders and execution fills. Execution-mode drift-correction deltas are not currently capped by this field. |
| Invert direction | Buy becomes Sell and vice versa, including bracket legs (signal mode). |
| Instrument filter | * (everything), exact roots (ES,MES), or root globs (ES*,N*). Non-matching leader trades are skipped and logged. |
| Symbol replacements | Swap contracts per follower, e.g. ES=MES trades micros on the follower. Root-level and exact-symbol swaps both work; month and year carry over. |
| Stealth | Suppresses descriptive "copied from ..." order text. Internal client-order identifiers remain so CrossTrade can prevent loops and correlate copies. |
| Market orders only | Signal mode only: follower copies of limit/stop entries are converted to market orders. (Execution mode always copies at market.) |
| Post-trade drift check | Shortly after each copy, leader and follower direction are compared and a mismatch writes a drift warning to the copier log. In signal mode this is detection only. In execution mode it also places correction orders, capped by the per-copier rate limit, both after each copy and on reconnect after downtime. |
Limit, stop, and bracket prices are copied as-is in signal mode. If a replacement maps to a contract with a different price scale (not the usual ES to MES case, which shares prices), the copied prices will be wrong for that contract. Pair replacements with "Market orders only" unless the two contracts share pricing.
Group copiers
A group copier is one config applied to several followers at once: pick multiple follower accounts, give the group a name, and every member receives the same sizing and filter rules. The copy log records the group name on each entry, so a group's activity reads as one unit.
The copy log
The copy log records submitted actions, broker rejections, drift warnings/corrections, and many skip/error decisions. Leader and follower order IDs are included when that stage has them. The log lives on the Tradovate Copier page below the copier list.
Parity with the NT8 Trade Copier
| Capability | NT8 Trade Copier | Tradovate Copier |
|---|---|---|
| Copies webhook-driven trades | Yes | Yes (both modes) |
| Copies manual platform trades | Yes (fill-driven, inside NT8) | Yes, in execution mode (beta) |
| Sizing: ratio / fixed / max | Yes | Yes |
| Instrument filter + symbol replacement | Yes | Yes |
| Direction inversion | Yes | Yes |
| Stealth mode | Yes (plus timing randomization) | Yes (descriptive text suppression; internal IDs remain) |
| Group copiers | Yes | Yes |
| Exit and cancel mirroring | Yes | Yes (signal mode) |
| Order-modification mirroring | Yes | Yes (signal mode) |
| Copy modes (order vs execution) | Yes | Yes: signal (order-preserving) and execution (fill-driven, beta) |
| Auto-sync engine (continuous, corrective) | Yes | Execution mode: rate-limited corrections after each copy and on reconnect. Signal mode: drift detection only. |
| Tandem mode (Account Manager binding) | Yes | Not yet |
| Reconnect delay | Yes | Not applicable (server-side connection) |
| Works with computer off | No (NT8 must be running) | Yes |
If your accounts are on Tradovate, the Tradovate Copier gives you cloud-side copying with nothing to keep running: signal mode for webhook-driven flows with order-type fidelity, execution mode for fill-driven copying that includes manual trades. If you trade inside NinjaTrader or copy across NT8-connected brokers, use the NT8 Trade Copier.
Current limitations
- Signal mode does not see manual trades inside Tradovate (use execution mode for that).
- Execution mode copies everything as market orders; leader order types are not preserved.
- Execution-mode fills that land while the copier is briefly offline are not replayed; the reconnect catch-up (drift check enabled) converges positions instead.
- Signal-mode cancels and changes mirror only orders the copier itself created (the leader-to-follower order map is kept for 7 days).
- One leader action fans out concurrently to followers; broker response and fill timing can still differ by account.
- One copier per leader/follower pair, in either mode.