Indicators
ADX Trend-Strength Filter
ADX doesn't tell you direction, only whether a trend exists at all. Used as a filter on top of a real signal, not as a signal by itself, is where it actually earns a place on the chart.
Same signal, two ledgers: unfiltered vs. ADX-confirmed
The subpanel computes a genuine Wilder ADX, +DI, and -DI from the candles as the tape plays. A simple 9/21 moving-average crossover fires the trade signal underneath it. Every signal gets logged into two running ledgers at once: one that takes every crossover regardless of ADX, and one that only counts a crossover if ADX was already above your threshold at that moment. Move the threshold slider and both ledgers' stats recompute instantly from the same signal list, so the filter's real effect is visible, not asserted.
Press play or step to run the MA-cross signal live.
Every signal, ADX ignored
Only when ADX confirms trending
How it works
- Directional movement starts from the high and low, not the close. +DM is today's high minus yesterday's high (kept only if positive and bigger than -DM), -DM is yesterday's low minus today's low (kept only if positive and bigger than +DM). True range is the largest of high-low, high-to-prior-close, and low-to-prior-close.
- Everything gets smoothed Wilder's way, not a plain average. The first smoothed value is a straight sum over 14 bars, every value after that is prior − (prior ÷ 14) + today's raw value. +DI and -DI are each the smoothed directional movement divided by the smoothed true range, times 100.
- DX measures the gap between +DI and -DI, ADX smooths DX. DX = 100 × |+DI − -DI| ÷ (+DI + -DI). ADX is that same Wilder smoothing applied to DX itself, which is why ADX lags both DI lines, it's a smoothed average of an already-derived value.
- 25 is the traditional line between "no real trend" and "trending." Below it, price is often just chopping inside a range no matter what +DI and -DI are doing relative to each other. Above it, directional moves have historically had more room to run. The threshold slider lets you test that line yourself instead of taking it on faith.
Where this breaks
ADX confirms a trend that's already underway, it doesn't call the start of one
Because ADX is a Wilder-smoothed average of an already-smoothed directional-movement calculation, it is structurally a lagging confirmation tool, not a leading one. By the time ADX climbs through 25, a meaningful chunk of the move that pushed it there has usually already happened, which means an ADX filter can screen out a real signal at the exact moment the trend is just getting started, simply because ADX hasn't caught up yet. It can also stay elevated for a while after a trend has actually stalled, since the smoothing that makes ADX stable also makes it slow to turn back down. Filtering on ADX trades a real reduction in whipsaw signals for a real cost in how early you can act, and how quickly the filter reacts once conditions actually change.