Spread filters in EAs: current spread, average spread, or both?
Posted: Thu Oct 15, 2026 8:49 pm
Spread filters in EAs: current spread, average spread, or both?
Almost every scalping EA needs a spread filter. If the spread is too wide, the trade's cost eats too much of the expected move. The question is which spread to check.
Checking the current spread right before entry is the most direct. If it's above your limit, skip. The problem is that spread can flicker. A momentary spike on one tick can block a valid entry, and a momentary dip can let a trade through right before the spread widens again.
Using an average spread over the last few minutes smooths that out and gives a better picture of conditions. But it reacts slowly. If spreads blow out suddenly around news, the average might still look fine for a while.
What I use is both. The EA checks that the current spread is under a hard limit, so it never enters during an obvious spike, and that the recent average is under a softer limit, so it doesn't trade in generally poor conditions. Setting those limits is easier if you've logged spread data from your broker at different times of day.
One more point: the spread limit should probably vary by session. A limit that suits London will block almost everything in Asia, and one that suits Asia is too loose for London. Per session limits fit how spreads actually behave.
Almost every scalping EA needs a spread filter. If the spread is too wide, the trade's cost eats too much of the expected move. The question is which spread to check.
Checking the current spread right before entry is the most direct. If it's above your limit, skip. The problem is that spread can flicker. A momentary spike on one tick can block a valid entry, and a momentary dip can let a trade through right before the spread widens again.
Using an average spread over the last few minutes smooths that out and gives a better picture of conditions. But it reacts slowly. If spreads blow out suddenly around news, the average might still look fine for a while.
What I use is both. The EA checks that the current spread is under a hard limit, so it never enters during an obvious spike, and that the recent average is under a softer limit, so it doesn't trade in generally poor conditions. Setting those limits is easier if you've logged spread data from your broker at different times of day.
One more point: the spread limit should probably vary by session. A limit that suits London will block almost everything in Asia, and one that suits Asia is too loose for London. Per session limits fit how spreads actually behave.