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.

ADX +DI -DI 25 line

Press play or step to run the MA-cross signal live.

Every signal, ADX ignored

Signals taken0
Win rate
Expectancy / trade

Only when ADX confirms trending

Signals taken0
Win rate
Expectancy / trade

How it works

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Risk & liability disclaimer: This page is an educational tool only, not financial, investment, or tax advice, and not a recommendation to take any specific trade. The candles and price data shown are randomly generated simulations for illustration, not real market data. Every strategy shown carries a real risk of loss, including loss of principal.