More Indicators~12 min+30 XP

ADX & DMI

An indicator that answers a different question

Every oscillator we've covered — RSI, Stochastic, MACD — tries to answer either which direction or how fast. Wilder's ADX answers a third question: how strongly is price trending, regardless of direction?

The practical implication: a strong downtrend and a strong uptrend both produce a high ADX. The indicator is direction-agnostic. You can't read ADX alone and know whether to go long or short — you need its companion DMI lines (+DI and −DI) for that.

Both come from J. Welles Wilder Jr., New Concepts in Technical Trading Systems (1978) — the same book that produced RSI, ATR, and Parabolic SAR. Kaufman confirms: "Wilder created other popular indicators. One of these is a momentum calculation called the Average Directional Movement (ADX)."

The three layers

The system stacks three calculations, each feeding the next.

Layer 1 — raw Directional Movement

Each bar, compare how much price moved up vs down:

  • PDM (positive directional movement) = high_t − high_{t−1}
  • MDM (negative directional movement) = low_{t−1} − low_t

Only the larger of the two counts; the other is set to zero. An inside day (today's range entirely inside yesterday's) produces zero on both.

Quoting Kaufman directly:

The directional movement is either up or down, whichever is larger of PDM and MDM. The value that is not used is set to zero.

Layer 2 — Directional Indicator (+DI, −DI) and DX

Normalize each DM by True Range (same TR as ATR, always positive):

+DI=100Wilder-smoothed(PDM)Wilder-smoothed(TR)\text{+DI} = 100 \cdot \frac{\text{Wilder-smoothed}(\text{PDM})}{\text{Wilder-smoothed}(\text{TR})} −DI=100Wilder-smoothed(MDM)Wilder-smoothed(TR)\text{−DI} = 100 \cdot \frac{\text{Wilder-smoothed}(\text{MDM})}{\text{Wilder-smoothed}(\text{TR})} DX=100+DI−DI+DI+−DI\text{DX} = 100 \cdot \frac{|\text{+DI} - \text{−DI}|}{\text{+DI} + \text{−DI}}

DX is bounded 0–100. Kaufman's key observation about the absolute value in DX:

The absolute value causes DX to lose the direction that prices are moving.

That's intentional. DX becomes a pure magnitude measure — it doesn't care whether the dominant direction is up or down, only how dominant one side is over the other.

Layer 3 — ADX

Smooth DX with Wilder's smoothing (α = 1/N) once more:

ADXt=(N1)ADXt1+DXtN\text{ADX}_t = \frac{(N-1) \cdot \text{ADX}_{t-1} + \text{DX}_t}{N}

And you have ADX. First output lands at bar 2N − 1 (N bars warmup for DI, another N for ADX smoothing).

Default N = 14, Wilder's canonical. Kaufman notes his text uses a "smoothing constant of 0.133" which is α = 2/(N+1) for N = 14 — slightly different from the pure Wilder α = 1/N = 0.0714. Modern charting platforms (TradingView, etc.) use Wilder's 1/N form; Kaufman's 0.133 is his own mapping. The difference is small; the signal pattern is the same.

Play with it

Market
Threshold
+DI (bullish pressure)−DI (bearish pressure)ADX (trend strength)
ADX38.9
+DI24.0
−DI10.5
Regimetrending up
ADX measures trend strength, not direction. High ADX can mean strong up OR strong down — check +DI vs −DI for the direction. ADX above 25is the standard "trending" threshold; below 20 is "range-bound." Switch to sideways: watch +DI and −DI tangle while ADX collapses below 20. That's the signal to stand down from trend-following systems.

Three lines beneath the price chart:

  • +DI (green) — bullish directional pressure
  • −DI (red) — bearish directional pressure
  • ADX (blue, thicker) — trend strength, direction-agnostic

Switch the market between up / sideways / down. Watch:

  • In an uptrend, +DI separates above −DI and ADX climbs. Strength and direction agree.
  • In a downtrend, −DI separates above +DI and ADX also climbs. Same strength, mirror direction.
  • In sideways markets, +DI and −DI tangle around each other near the same value. DX — and therefore ADX — collapses toward zero. This is the condition you're trying to filter out when using trend-following systems.

Interpretation — plain English

Murphy's one-line summary:

Wilder's ADX line rates the directional movement of the various markets on a scale of 0 to 100. A rising ADX line means the market is trending and a better candidate for a trend-following system. A falling ADX line indicates a nontrending environment. — John Murphy

And Kaufman's complement:

A higher amplitude [of ADX] means higher directional movement and a stronger trend, whether up or down.

The rule reduces to: +DI vs −DI tells you direction; ADX tells you strength. Don't conflate them.

The threshold conventions

The canonical cutoffs have migrated over the decades. Both Kaufman (citing Ruggiero) and Murphy converge on these:

ADX levelInterpretation
< 20Ranging / non-trending. Trend systems should stand down.
20–25Transitional. Watch for ADX to rise through 25 for entry confirmation.
25–40Trending. Trend-following systems operate here.
> 40Strong trend. Kaufman: 40 = strong, 50 = extremely strong, 70 = "power trend."
Turn-down from > 40Early sign of exhaustion. Not a reversal signal, but a caution.

Murphy's specific threshold call:

When the ADX line starts to drop from above the 40 level, that is an early sign that the trend is weakening. A rise back above the 20 level is often a sign of the start of a new trend.

The 40+ turn-down is the most actionable extreme reading. Price doesn't have to reverse — the trend can just transition to a range. But the pace of the trend is fading.

ADX as a regime filter

The most valuable use of ADX, and the one both books endorse without qualification: pair it with a directional system and only take trades when ADX says we're trending. Kaufman's rule:

Use the ADX as a directional filter. If the ADX is up, take only long trades; if the ADX is down, take only short trades.

And the combined +DI / −DI / ADX setup:

When the +DMI crosses above the −DMI and the ADX is up, enter a long. When the +DMI crosses below the −DMI and the ADX is down, enter a short sale.

This turns your MACD / MA crossover / breakout system into a conditional one: signals fire only when the regime supports them. Kaufman also summarizes a Fishman-Barr-Loick expert system rule: "IF ADX > 18 AND ADX ≥ ADX[2] THEN there is a 95% chance the market is trending." Two-bar rising ADX above 18 = high-confidence trending regime.

The motivation: Wilder himself estimated that trending periods occur only ~30% of the time (per Murphy). A trend system unfiltered by regime is taking losing signals during the other 70%. ADX is the cheapest available fix.

The statistical view — one real backtest

Kaufman reports Robert Colby's test of a 2-day PDI/MDI/ADX rule set on the Dow Jones Industrial Average:

The Dow Jones Industrial Averages were profitable for 72 years from 1928 to 2000… a $100 investment would have returned $9,988 after profits were reinvested, which was much better than a buy-and-hold strategy. — Kaufman, summarizing Colby

$100 → $9,988 over 72 years is a ~7% compound annual return from an ADX-gated rule set alone (without leverage or position sizing). Not stellar by modern standards, but genuinely profitable across nine decades including multiple crashes — one of the few chart-based indicators with a clean long-horizon test.

Bulkowski's Encyclopedia of Chart Patterns has zero ADX content. No hit-rate tables, no pattern-statistics work. Bulkowski tests patterns, not indicators; ADX is an indicator. Noted honestly here.

ADX vs the other Wilder indicators

Wilder's 1978 book produced five indicators. You've now met three:

IndicatorMeasuresOur lesson
RSIMomentum (speed of price change)RSI
ATRVolatility (range magnitude)ATR & Volatility
ADXTrend strength (regime)This lesson
Parabolic SARTrailing stop (trend reversal)Coming next
Swing IndexCumulative swingNot covered

All five use Wilder's α = 1/N smoothing. Porting across libraries: the same bug everyone hits — standard EMA (α = 2/(N+1)) vs Wilder's (α = 1/N) — applies to each.

Hidden traps

  • Reading ADX as directional. The most common beginner error. Kaufman warns explicitly: the absolute value in DX "causes DX to lose the direction that prices are moving." Strong downtrends produce high ADX just as surely as strong uptrends.
  • Using ADX as a standalone signal. Neither Kaufman nor Murphy endorses this. ADX is a regime filter that gates another system's signals.
  • Conflating the three layers. +DI/−DI, DX, and ADX are three different lines with different purposes. DX is usually not plotted at all (too noisy); its smoothed version (ADX) is what you see.
  • Expecting ADX to catch reversals. ADX lags by construction — it's a double-smoothed second derivative of price. It tells you when a trend has established itself, not when it's about to start or end.
  • Using the wrong period. 14 is canonical; Colby's research used 2 on daily bars; Fishman's expert system used 18. All are valid in their contexts. A Pine script that mixes a 14-day ADX with an 8-day DI crossover signal is not "Wilder's ADX" anymore.
  • Ignoring Wilder's 30% estimate. A regime-filtered trend system sits on the sidelines the majority of the time. That's the correct behavior, not a bug — but traders regularly abandon ADX-gated systems during the 70% because nothing is happening.

Quick check

Question 1 / 40 correct

ADX reads 38 — a high reading. Which of these can you conclude?

What you now know

  • Wilder 1978 gave us ADX alongside RSI, ATR, and Parabolic SAR — all same book, all α = 1/N smoothing.
  • Three layers: raw Directional Movement (+DM, −DM) → normalized DX (bounded 0–100) → Wilder-smoothed ADX.
  • +DI and −DI carry direction; ADX carries strength. Don't conflate.
  • Thresholds: below 20 = ranging, above 25 = trending, above 40 = strong, turn-down from above 40 = early exhaustion warning (Murphy).
  • Regime filter is the primary use — ADX gates other trend systems. Kaufman: "Use the ADX as a directional filter."
  • Colby's 72-year DJIA test: a 2-day ADX rule set turned $100 into $9,988 from 1928–2000. One of the cleanest long-horizon backtests of any TA indicator.
  • Wilder's ~30% trending estimate justifies the regime-filter design. ADX-gated systems sit out the majority of bars by construction.
  • Bulkowski has zero ADX content. No pattern-statistics treatment. Flagged honestly.

Next: Parabolic SAR — Wilder's trailing-stop indicator from the same 1978 book. Where ADX filters regimes, SAR tells you when to exit.

Press complete when you're done.
Back to tree