A strategy designed with a one-pip spread in mind quietly bleeds when the spread hits four. A spread filter fixes that with a single condition: no new trades if the current spread exceeds a threshold.
Choosing the threshold takes some thought. A fixed number, like 1.5 pips, is simple but crude. A relative threshold, like twice the median spread for that hour, adapts to normal variation between sessions. A cost-to-target ratio is smarter still: skip any trade where the spread exceeds a set percentage of the profit target, such as 20%.
Where to read the spread matters too. The value at the moment of the signal is the relevant one, not an average from a minute ago.
A backtest with realistic variable spreads shows what the filter costs in missed trades and what it saves in avoided losses. In many cases, the net effect is clearly positive, with a modest drop in trade count.
Does a spread filter run on the strategy, and how was the threshold chosen?
Spread filters: the cheapest improvement most bots lack
-
Shadow Trader
- Posts: 5438
- Joined: Wed Sep 09, 2026 5:19 pm
-
FXS HongKong Scalper
- Posts: 407
- Joined: Sat Oct 24, 2026 10:15 pm
Re: Spread filters: the cheapest improvement most bots lack
The cost-to-target ratio is what we use. Our rule: skip if spread is more than 20 percent of the target. On a 5 pip target the limit works out to 1 pip, which rules out most of the first minute after 08:00 London and almost all of the rollover hour.
One implementation detail: check the spread at the moment of sending, not at the moment the signal forms. In fast markets the two can be several ticks apart, and the filter that passed on the bar close might be wrong by the time the order goes out.
One implementation detail: check the spread at the moment of sending, not at the moment the signal forms. In fast markets the two can be several ticks apart, and the filter that passed on the bar close might be wrong by the time the order goes out.
FXS Official Team | Hong Kong Session Desk