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

  1. Copier enabled

    The enabled toggle on the copier. Skip reason copier_disabled.

  2. Copier mode

    Must be Active. Monitor and paused both stop here. Skip reason copier_not_active. See Copier modes.

  3. Pending orders

    With Copy Pending Orders off, limit and stop orders are ignored. Skip reason pending_orders_disabled.

  4. Symbol filter

    A per-symbol allow list. Skip reason symbol_disabled.

  5. Max open trades

    Refuses new copies when the follower already holds this many open positions. Skip reason max_open_trades_reached.

  6. Time filter

    A trading window. Outside it, nothing opens. Skip reason outside_trading_hours.

  7. 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":

SettingDefaultWhat it does
Max Signal Age (s)120Reject any parent trade older than this
Fast-Path (s)5Below this age, accept without further checking
Max Drift (pips)20Reject 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:0006: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.