Education
order flow
replication
trade copier
NinjaTrader
mechanics
technical
execution

How Order Flow Replication Actually Works Inside a Trade Copier

What happens in the 1.6 milliseconds between your leader entry and your follower fill? Understanding the mechanics helps you configure your setup correctly and debug it faster when something goes wrong.

Copilink Team
February 22, 2026
4 min read
13 views

How Order Flow Replication Actually Works Inside a Trade Copier

Most traders use a trade copier as a black box — trades go in on the leader, trades come out on the followers. Understanding what's happening inside that box helps you configure it correctly, troubleshoot failures faster, and understand why certain edge cases behave the way they do.


The Replication Pipeline

When you place an order on your leader account, the following sequence happens inside a NinjaTrader-native copier like Copilink:

  1. Order event detection (~0ms). NinjaTrader fires an order update event when the leader account's order state changes — this could be a new order submission, a fill confirmation, a modification, or a cancellation. Copilink listens for these events via NinjaTrader's internal event system.
  2. Event classification (~0.1ms). The copier classifies the event: is this a new entry? A stop loss modification? A target hit? A manual close? Each event type triggers different replication logic.
  3. Risk rule evaluation (~0.2ms). Before generating any follower orders, the copier checks each follower account's risk state: Is the daily loss limit still available? Is the account locked? Is the trailing drawdown ceiling still intact? Would this order's potential P&L impact create a consistency rule violation? Accounts that fail any check are excluded from this replication cycle.
  4. Follower order generation (~0.3–0.5ms per follower). For each follower that passed the risk check, the copier generates the corresponding order: translates the instrument if cross-instrument mapping is configured, applies the contract ratio, sets the order type (market, limit, stop — matching the leader), and assigns the correct account.
  5. Order submission (~1.0–1.6ms total). Generated orders are submitted to NinjaTrader's order processing pipeline, which routes them to the broker API for each follower account. From this point, the orders travel through the broker to the exchange — the same path as any manually placed order.

What "1.6ms Latency" Actually Means

The ~1.6ms figure for Copilink represents the time from step 1 (order event detection) to step 5 (order submitted to broker API). It does not include broker processing time or exchange round-trip — those add 3-8ms on top, giving a realistic total of 6-9ms from leader fill to follower order submitted.

This timeline assumes the copier is running on hardware with sufficient CPU resources. On an underpowered VPS, the event processing and order generation steps can extend — particularly steps 3-4, which involve in-memory calculations across multiple accounts. This is why proper VPS specs matter for consistent low-latency performance.


Order Modifications: The More Complex Case

Initial entries are the simplest case. Order modifications — moving a stop loss, adjusting a target, adding to a position — involve more complex replication logic.

When the leader moves a stop from $4,500 to $4,502, the copier needs to:

  1. Detect the modification event
  2. Identify the corresponding open order on each follower (matched by entry timestamp, instrument, and direction)
  3. Calculate the follower's equivalent stop price (accounting for any contract ratio or instrument mapping)
  4. Submit a modification order to each follower's open position

The order matching logic in step 2 is where some copiers introduce errors — if a follower entered at a slightly different time than the leader (due to replication latency), the position matching needs to be robust against minor timestamp differences. A well-implemented copier like Copilink handles this correctly; poorly implemented copiers can occasionally fail to match the right open order for modification, leaving a stop at the original level.


Position Close: Full vs. Partial

When the leader closes its full position, the copier replicates a full close on each follower — straightforward. Partial closes (exiting part of a position at a target while leaving part open) are more complex: the copier needs to calculate the proportionate close size on each follower based on its current position and the contract ratio, then submit a partial close order.

Most quality NinjaTrader copiers handle full closes cleanly. Partial close support varies — verify this works correctly in your setup during testing before trading it live, especially if your strategy uses scaled exits.

Understanding these mechanics gives you the foundation to diagnose problems when they occur and to make informed decisions about copier configuration. For the full technical documentation on Copilink's replication logic, visit copilink.com/faq.

Ready to Start Trade Copying?

Try Copilink free for 7 days. No credit card required. Copy trades across unlimited prop firm accounts.