Filters and limits
Everything that can stop a copy, and the reason it records.
Before a copy is sized and placed, it passes through a chain of checks. Any one of them stops that copier — and only that copier — and writes a skip reason to the copy event.
Knowing the reasons is the fastest way to answer "why didn't this copy?".
The chain, in order
- Copier enabled
The enabled toggle on the copier. Skip reason
copier_disabled. - Copier mode
Must be Active. Monitor and paused both stop here. Skip reason
copier_not_active. See Copier modes. - Pending orders
With Copy Pending Orders off, limit and stop orders are ignored. Skip reason
pending_orders_disabled. - Symbol filter
A per-symbol allow list. Skip reason
symbol_disabled. - Max open trades
Refuses new copies when the follower already holds this many open positions. Skip reason
max_open_trades_reached. - Time filter
A trading window. Outside it, nothing opens. Skip reason
outside_trading_hours. - Signal age
A hard ceiling on how old the parent trade may be. Skip reason
signal_too_stale.
Only then is the lot size calculated, and it can still produce nothing: a size that rounds below the broker minimum is skipped unless Force Minimum Lot is on. See Risk types.
Max open trades
Set it on the copier's Edit dialog; leave it blank for unlimited.
It counts open positions on the follower account, not copies from this copier. That is usually what you want — the point is to cap the follower's total exposure — but it means positions the follower opened by other means count towards the limit too.
Staleness guard
Three settings on the Edit dialog, each blank by default, meaning "inherit the platform default":
| Setting | Default | What it does |
|---|---|---|
| Max Signal Age (s) | 120 | Reject any parent trade older than this |
| Fast-Path (s) | 5 | Below this age, accept without further checking |
| Max Drift (pips) | 20 | Reject when the price has moved this far since the parent opened |
The age ceiling is the one that matters day to day. It is what stops a backlog of queued signals from firing an hour's worth of stale entries at once when a connection recovers.
The price-drift check is wired into the chain but currently passes everything — it needs live follower prices, which are not yet plumbed through. Set the value if you like; treat it as taking effect later, not now.
Slippage
Not a filter in the chain — it is sent with the order, and it is the broker that rejects the fill if the price has moved further than you allowed. A rejection shows up as a failed copy event with the broker's error rather than as a skip.
Symbol and time filters
Both are real and enforced by the engine, on every copy, exactly as described above.
Neither has a screen yet. They are set through the Trademetry API on the copier record, not from the copier form or its Edit dialog. If you need them, use the API; if you are looking for them in the interface, you will not find them.
The symbol filter is a map of symbol to on-or-off, and anything not mentioned is
allowed. {"NAS100": false} blocks that one instrument and leaves everything
else copying — you do not have to enumerate the symbols you want.
The time filter takes a start and an end, in UTC. A window where the start is
later than the end is read as crossing midnight, so 22:00–06:00 behaves as
an overnight session rather than as an empty one.
Drawdown guard
Also API-only, and also genuinely enforced: a follower whose equity has fallen past a configured limit stops taking new copies. It can be set as a percentage lost since the start of the day, as a percentage below the account's equity high-water mark, or both.
Existing positions are not touched. It stops new risk being added; it is not a kill switch.
Symbol names that differ between brokers
Not a filter, but it produces the same symptom — copies that fail rather than skip.
Brokers name instruments differently: what the leader calls EURUSD, a follower
at another broker may require as EURUSD.FX. Orders sent with the wrong name
fail at the broker with an error that looks like a volume problem but is not.
The fix lives on the account, not the copier: set the account's symbol suffix, and every copy to it is translated automatically. Trademetry can also detect the suffix by probing the terminal.
Reading the copy events
The copier's detail page lists its copy events. Each carries what happened, and for anything that did not open, the reason — one of the strings above, or the broker's own error for a rejected order.
Two failures look identical from outside and are not. A skip with a reason means Trademetry decided not to copy — the answer is in your configuration. A failure with a broker error means Trademetry tried and the broker refused — the answer is at the broker: AutoTrading off, margin, symbol name, or market closed.