Intermediate11 min read·September 23, 2026

ADX and DMI, Drawn Out

ADX differs from every indicator in the earlier lessons in one decisive way. RSI, stochastic and MACD all carry some sense of up versus down. ADX deliberately throws that information away during its own calculation.

So a high ADX does not mean up. It means one side is winning decisively — and which side is the job of +DI and −DI, the two lines drawn alongside it. That distinction is more or less the whole lesson.

The charts use the same window as the earlier lessons, and like stochastic this one needs highs, lows and closes.

1. The raw material: directional movement

It starts with a very simple comparison. How much further did this bar's high push above the previous high, and how much further did this bar's low push below the previous low?

Only the larger of the two counts, and only if it's positive. A bar that extended both ways is credited to whichever side extended more; a bar that sat entirely inside the previous bar's range contributes to neither.

Directional movement: which side pushed further

Each bar, compare how far the high pushed above the previous high against how far the low pushed below the previous low. Only the larger one counts, and only if it's positive.

  • Price (close)
  • +DI
  • −DI
08/0309/05

09/05: up 0, down 0 → counts as neither

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

The two bars in the price panel show how far this bar extended in each direction. Below, those extensions accumulated and smoothed into +DI and −DI.

2. +DI and −DI carry the direction

Accumulated upward and downward movement, divided by true range and expressed as a percentage, gives the two DI lines. +DI on top means recent upward extension has dominated; −DI on top means the reverse.

Plenty of DMI strategies trade the crossing of those two lines.

+DI and −DI carry the direction

Smoothed and scaled against true range, the two lines say which side has been winning.

  • +DI
  • −DI
  • +DI crosses above
  • −DI crosses above
+DI−DI08/03

14 +DI/−DI crossings in this window.

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

Crossings marked on price. Note how they arrive in clusters rather than evenly.

3. ADX is that gap with the direction erased

Here's the heart of it. ADX takes the distance between +DI and −DI, discards which one was on top by taking the absolute value, and smooths what's left.

That single absolute-value step is where direction disappears. A reading of +DI 40 against −DI 10 and one of +DI 10 against −DI 40 are identical as far as ADX is concerned — both are "one side is ahead by 30".

ADX is the gap, with the sign thrown away

Take the distance between +DI and −DI, drop which one was on top, then smooth it. That last step is where direction disappears.

  • +DI
  • −DI
  • ADX
08/0309/05

+DI 22.2 · −DI 20.8 · gap 1.4 → ADX 19.3

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

The thick vertical bar is the gap between the DI lines; the darker line is ADX, that gap smoothed. Widening gap, rising ADX — regardless of which line is on top.

4. ADX arrives late

Smoothing twice has a price. The DI lines are already smoothed, and ADX smooths the DX derived from them again. That's why it produces no value at all until twice the period has elapsed, and why it moves slowly once it does.

ADX arrives late

The window's lowest close, against the moment ADX first got above 25 afterwards.

  • Price (close)
  • ADX (lower panel)
31 bars before ADX confirmed08/03

Price bottomed on 08/14. ADX didn't clear 25 until 08/19 — 31 bars later, by which point the advance was already 9.0% along. Two smoothing passes buy steadiness at the cost of timing.

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

The highlighted stretch is how long it took ADX to clear 25 after price had bottomed.

Price bottomed on 14 August. ADX didn't clear 25 until 19 August — 31 bars later, with the advance already about 9% along.

That isn't a defect so much as the design. You trade timing for steadiness, which is why ADX tends to be more useful as a gate answering "are we in a trending stretch at all" than as something to time an entry with.

5. A high ADX doesn't mean up

Here's what the absolute-value step from section 3 looks like in real data — a falling stretch where ADX held a strong reading the whole way through.

A high ADX doesn't mean up

A falling stretch where ADX stayed strong throughout — found in the data, not chosen by hand.

  • Price (close)
  • ADX (lower panel)
price falling here08/03

From 08/21 to 08/23 price fell -3.0%, and ADX rose to 68.9 across that stretch — its highest reading anywhere in this window. ADX measures how decisively one side is winning, not which side. That's what +DI and −DI are for.

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

Through the highlighted stretch price fell, and ADX climbed to its highest reading in the window anyway.

Reading "ADX above 25, so we're in an uptrend" would have had you exactly backwards here. ADX said strong; it never said up. For direction you have to look at the +DI and −DI lines sitting in the same panel.

6. Period and threshold

The 25 line is a convention too — 20 is equally common, and either way you're just choosing how much of the chart to call trending. Note also that changing the period moves the warm-up with it, at twice the rate.

Period and threshold

25 is the usual line, and like every threshold in these lessons it's a convention.

  • Price (close)
  • ADX (lower panel)
08/03

At period 14, ADX needs 28 bars before it produces anything at all. Above 25: 124 of 172 bars.

BTC/USDT · 4h · Binance · 2026-08-03 → 2026-09-05

Changing the period moves where the line can even begin: ADX needs twice the period in bars before it produces a first value.

7. Common misreadings

  • ADX doesn't indicate direction. Direction is removed from the calculation at the absolute-value step.
  • A high ADX can mean a strong downtrend. Direction is what +DI and −DI are for.
  • ADX confirms rather than predicts. It rises after a trend is already underway.
  • The warm-up is long — twice the period before any value exists, so short datasets can produce nothing at all.
  • 25 is a conventional line. Moving it changes how much of the chart gets labelled trending, nothing more.

8. Seeing it run in the Simulator

ADX appears in the Simulator in two roles: a template that trades the +DI/−DI crossing with an optional minimum-ADX condition, and an optional filter that gates another strategy's entries on ADX level — which suits the indicator's character better.

To compare period and minimum-ADX combinations rather than guess, the Sweep tool runs a real backtest across every combination in the ranges you pick and ranks them.

In the Simulator
  • ADX/DMI Trend — trades the +DI/−DI crossing, with an optional minimum-ADX condition.
  • ADX trend-strength filter — an optional gate on another strategy's entries, blocking them when the trend is too weak.