MetaTrader 4 feeds
How MetaTrader 4 filters incoming quotes.
MT4 filtering is configured per symbol. It can reject or reshape unusual updates, but it cannot decide whether a plausible source price is correct.
- Filtering is configured per symbol, not per feed.
- Thresholds use platform points and must match the instrument.
- Smoothing changes the published price and can add lag.
Tune per instrument
A threshold suitable for a major currency pair may be unsuitable for a metal, index, or crypto symbol.
Preserve evidence
Keep enough raw and accepted tick evidence to explain a disputed price.
Know the boundary
Platform filters see one stream; upstream protection can compare sources and detect stale inputs.
On this page
MT4’s symbol filters are a final platform control. They evaluate incoming Bid and Ask updates against the symbol’s configured thresholds and recent prices before the update reaches clients.
What the main controls are for
The exact fields available depend on the server build, but an MT4 configuration commonly includes:
- a filtration distance, measured in platform points;
- a confirmation count for accepting a new price level;
- a range or automatic-limit control;
- a short opening window in which quotes can be withheld; and
- optional smoothing across several ticks.
These controls should be documented in business terms. “150 points” is not a policy until someone has translated it into a price distance for that symbol and tested it against normal spreads and market openings.
One threshold may cover different problems
A distance filter can react to both a wide spread and a jump in Bid or Ask. Those are not always the same risk. A threshold loose enough for an index opening can be ineffective on a quiet currency pair; a threshold suitable for EURUSD can suppress legitimate movement in gold.
Group symbols only when their point size, normal spread, quote frequency, and opening behavior are genuinely similar.
Confirmation and range controls
Confirmation counts allow a new level to become acceptable after repeated updates. This can prevent a single bad tick from being published, but it can also delay a genuine move.
Range controls can keep a quote inside an allowed band. Test whether the result is a rejected tick, a retained previous price, or a modified output on your build. Operations must know which symptom to expect.
Smoothing is a pricing change
Smoothing publishes a calculated value rather than the latest source tick. It may make a stream look calmer, but it also adds lag and can obscure the relationship with the source.
Use it only with a stated objective, a small tested window, and a clear owner. If the commercial goal is a stable markup or spread, express that directly in the pricing layer instead of relying on smoothing as a substitute.
Preserve the evidence
For any symbol with material filtering, retain enough evidence to compare:
- what the source or upstream feed sent;
- what MT4 accepted;
- what clients received; and
- which filter settings were active at that time.
Tick retention and logging can add storage and operational load, so decide the scope and retention period deliberately. The verification methodology gives a practical test structure.
What MT4 filtering cannot see
A per-symbol filter cannot compare independent venues, recognize that a source is quoting the wrong instrument, or detect a frozen price that remains numerically plausible. It also does not replace feed failover when quotes stop.
Use quote protection for cross-source and stale-input checks, and MT4 backup feeds for source continuity. Apply MT4 filtering afterwards as a platform-specific final guard.
A feed shaped around your setup
Decide where quote protection should happen.
Send one difficult symbol and the behavior you expect during a spike. We’ll explain which checks belong upstream and which belong in MT4.