Range Filter versus moving averages
Both tools follow trend but behave differently. The difference explains why there are fewer signals than you might expect.
A moving average always moves
A classic average is recalculated on every bar: a new price arrives, the line shifts. Even in dead calm it wobbles slightly, and price keeps crossing it.
Hence the familiar problem with crossover strategies: in a range they emit a stream of signals, most of which mean nothing. Smoothing helps, but smoothing adds lag.
Range Filter stands still while it can
The filter line moves only when price leaves the channel around it. While price stays inside the channel the line does not move at all, however many bars pass. The result is a series of steps rather than a smooth curve.
The channel width is not fixed: it is derived from the average bar-to-bar price change, smoothed by two EMAs in sequence, and multiplied by a factor. The more volatile the instrument is right now, the wider the channel and the larger the move needed to shift the line.
What follows from that
- Fewer signals. A signal appears not on every crossing but only on the first bar of a new wave, when the direction of the stepped line has flipped.
- The filter adapts to volatility on its own. The channel narrows in quiet markets and widens in turbulent ones, so there is no need to retune it per instrument.
- It still gets a prolonged range wrong. No channel helps if price methodically walks back and forth with the same amplitude.
- The lag has not gone anywhere. The line reacts to a move that has already happened, so entries always come after part of the impulse is over.
Our parameters
TradeRadar computes Range Filter with a sampling period of 20 bars and a range multiplier of 3.5. Common TradingView versions default to 50 and 3.0 — our variant is noticeably more sensitive and gives an earlier entry at the cost of more triggers.
The TP1/TP2/TP3 and SL levels are fixed at 1%, 2%, 3% and 1% from the entry price. They do not depend on the channel width and act as a common ruler for comparing signal behaviour across pairs and timeframes.