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.
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
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.
Smoothed and scaled against true range, the two lines say which side has been winning.
- +DI
- −DI
- +DI crosses above
- −DI crosses above
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".
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
+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.
The window's lowest close, against the moment ADX first got above 25 afterwards.
- Price (close)
- ADX (lower panel)
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 falling stretch where ADX stayed strong throughout — found in the data, not chosen by hand.
- Price (close)
- ADX (lower panel)
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.
25 is the usual line, and like every threshold in these lessons it's a convention.
- Price (close)
- ADX (lower panel)
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.
- 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.