Real-time trade replication between Sierra Chart instances — independent sizing, Triggered Limit support, bracket sync, and safety controls
Trade Copier is a real-time trade replication system for Sierra Chart that copies trading activity from a Source chart to a Follower chart — entries, exits, partial closes, scale-ins, reversals, bracket orders, and pending orders including Limit, Stop, Stop-Limit, and Triggered Limit orders. The Follower calculates its own position size independently, so you can run different account sizes, different risk levels, or supported mini → micro contract pairs (e.g., ES on Source, MES on Follower) with automatic quantity adjustment.
Trade Copier consists of two ACSIL studies that communicate through Windows shared memory:
| Instance 1 (Source) | Instance 2 (Follower) | ||
|---|---|---|---|
| Role | You trade here (manual or algo) | → | Trades replicated automatically |
| Study | SOURCE — monitors your position | Shared Memory | FOLLOWER — replicates with own sizing |
| Data sent | Position, brackets, pending orders | < 1ms latency | Receives and executes independently |
The Source study runs on your main Sierra Chart instance. It does not place any orders — it only monitors your position, bracket orders, and pending orders, then writes the current state to shared memory every processing tick.
The Follower study runs on your second Sierra Chart instance. It reads the shared memory state and replicates every change using its own independent position sizing.
Communication uses Windows shared memory (memory-mapped files). There is no file I/O, no network traffic, and no serialization overhead. Latency is sub-millisecond.
| Action | Behavior |
|---|---|
| Market entry | Follower enters at market with independently calculated quantity |
| Limit/Stop entry | Pending order placed at the same price, modified or cancelled if Source changes it |
| Partial close | Follower closes the proportional number of contracts |
| Scale-in | Follower adds contracts with recalculated quantity |
| Reversal | Two-phase process: flatten first, confirm zero position, then enter new direction |
| Full flatten | Follower flattens immediately |
| Stop loss | Placed and updated in real time to match Source stop distance |
| Take profit | Placed and updated in real time to match Source target distance |
| Triggered Limit entry | Both limit price and trigger price are copied and modified using Sierra Chart's two-price order fields |
| Pending order modification | Price, trigger price when applicable, and quantity changes replicated automatically |
| Pending order cancellation | Cancelled on Follower when cancelled on Source |
The Follower never blindly copies the Source quantity. It calculates its own position size using one of three modes:
The simplest mode. The Follower quantity equals the Source quantity multiplied by a configurable factor.
| Source Qty | Multiplier | Follower Qty |
|---|---|---|
| 2 | 1.0 | 2 |
| 2 | 0.5 | 1 |
| 3 | 2.0 | 6 |
| 1 | 5.0 | 5 |
The Follower calculates its own quantity from three values: its account balance, a risk percentage, and the stop distance from the Source's bracket order.
Calculation:
Risk Amount = Account Balance × Risk %
Tick Risk = Stop Distance (ticks) × Tick Value
Quantity = floor(Risk Amount / Tick Risk)
Example:
This mode means the Source and Follower can have completely different account sizes and still risk the same percentage per trade.
The Follower risks a fixed dollar amount per trade, regardless of account size.
Calculation:
Quantity = floor(Fixed $ Amount / (Stop Distance × Tick Value))
Example:
Trade Copier can mirror working entry orders before they fill. This includes regular Limit/Stop entries and Sierra Chart Triggered Limit orders.
| Setting | Behavior |
|---|---|
| Copy Pending Orders | Replicates Source working entry orders on the Follower |
| Max Pending Parent Orders | Limits how many Source parent pending orders the Follower copies; 0 means unlimited up to the internal 4-order buffer |
| Attach Brackets to Pending Orders | Optional mode that attaches the Source pending order's simple TP/SL to the Follower pending order |
The bracket-on-pending mode is disabled by default to preserve the existing copier behavior. Enable it only when you want the Follower pending entry to be submitted with its own attached target/stop immediately.
Supported pending attached brackets are simple limit targets plus stop or stop-limit stops. Trailing and step-trailing stops can still be observed after a position exists, but they are not automatically recreated as attached brackets on a pending entry.
When the Follower chart uses a supported micro contract while the Source uses the standard contract, Trade Copier automatically detects the mismatch and applies a ×10 multiplier to the quantity calculation.
| Source Symbol | Follower Symbol | Auto-Multiplier |
|---|---|---|
| ES | MES | ×10 |
| NQ | MNQ | ×10 |
| CL | MCL | ×10 |
| GC | MGC | ×10 |
This means you can trade 1 ES on your main account and automatically have 10 MES on a smaller account. The supported automatic bridge is mini Source → micro Follower; if you run the reverse direction, use matching roots or configure sizing manually.
The Follower monitors a heartbeat timestamp written by the Source on every processing tick. If the heartbeat is not updated for more than a configurable number of seconds (default: 10), the Follower assumes the Source has crashed, disconnected, or lost its data feed, and immediately flattens the Follower position.
When the Source position goes to zero, the Follower flattens immediately. This prevents orphaned positions caused by timing gaps — for example, if the Source exits via a bracket fill that the Follower hasn't received yet.
A hard limit on the maximum number of contracts the Follower can hold, regardless of what the sizing calculation produces. If the calculated quantity exceeds the cap, it is clamped to the cap value. This prevents runaway position sizes from misconfigured multipliers or unexpected conditions.
If more than 10 orders are sent within a one-minute window, the Follower flattens all positions and temporarily blocks replication until the minute window resets. This protects against rapid-fire order loops caused by timing edge cases or data feed issues.
When the Source reverses direction (e.g., from long to short), the Follower does not send a single double-quantity order. Instead, it executes a two-phase process:
This prevents double positions that can occur if the flatten and entry orders are processed out of sequence.
A configurable cooldown period between consecutive orders (in milliseconds). If the Follower detects that another order would fire before the cooldown expires, it queues the action until the interval has elapsed. This prevents order bursts during rapid Source activity.
The Follower automatically detects whether the chart is connected to a simulation or live trading account and routes all orders to the correct account type. No manual configuration needed.
An optional ACS button on the chart toolbar can enable or disable the Follower. When disabled, the Follower stops reading shared memory and places no orders. Use this to temporarily pause replication without removing the study.
| Setting | Description | Default |
|---|---|---|
| Sizing Mode | Multiplier, Risk %, or Fixed $ | Multiplier |
| Multiplier | Quantity multiplier (Multiplier mode) | 1.0 |
| Risk Percent | Account risk percentage (Risk % mode) | 1.0% |
| Account Balance | Manual balance for sim accounts (Risk % mode) | 0 (auto from live) |
| Fixed Risk Amount | Dollar risk per trade (Fixed $ mode) | $500 |
| Max Position | Hard cap on Follower contracts | 10 |
| Source Timeout (seconds) | Seconds before auto-flatten on lost heartbeat | 10 |
| Min Order Interval (ms) | Cooldown between consecutive orders | 1000 |
| Toggle Button (ACS#, 0=off) | Optional ACS button number for enable/disable | 0 |
| Max Pending Parent Orders | Maximum Source pending parent orders to copy (0 = unlimited up to 4) |
0 |
| Attach Brackets to Pending Orders | Attach copied simple TP/SL to newly submitted pending entries | No |
| Setting | Description | Default |
|---|---|---|
| Copier Enabled | Master Source on/off switch | Yes |
| Toggle Button (ACS#, 0=off) | Optional ACS button number for enable/disable | 0 |
| Debug Logging | Throttled diagnostic logging for positions and working orders | No |