Average Directional Index
The strength of a trend without telling you direction. ADX reads 0 to 100 and answers one question: is this market trending or chopping?
Average Directional Index on NVDA, daily candles. Data via Financial Modeling Prep, cached server-side.
Quick reference
The Average Directional Index is the indicator that answers the question every other indicator dodges: is this market trending, or is it chopping?
That single question matters more than most signals technical analysis produces. Trend-following strategies work in trending markets and bleed in ranges. Mean-reversion strategies work in ranges and lose money in trends. ADX tells you which regime you are in. Used as a filter, it can be the difference between a profitable strategy and a losing one - even if the underlying signals are identical.
What ADX actually measures
ADX measures the strength of a trend, not its direction. A reading of 35 in a downtrend looks identical to a reading of 35 in an uptrend - the only thing the number tells you is "there is a strong directional move happening." For direction you need the companion lines: +DI (positive directional indicator) and -DI (negative directional indicator).
The construction:
- +DI rises when up-moves dominate (the bar makes a higher high relative to yesterday by more than it makes a lower low)
- -DI rises when down-moves dominate (the bar makes a lower low by more than a higher high)
- ADX is the smoothed average of the spread between +DI and -DI
When the two DI lines diverge sharply (one rising, the other falling), a trend is present and ADX rises. When the DI lines tangle and cross repeatedly, the market is choppy and ADX stays low.
Critical: ADX rising does not mean the trend is up. It means whatever direction the trend is, the strength is increasing. Falling ADX means trend strength is fading - the market may be reversing or it may be entering consolidation.
The formula
The calculation has three layers.
Step 1: Directional Movement (DM)
For each bar, compute up-move and down-move:
Up-move = today's high - yesterday's high
Down-move = yesterday's low - today's low
+DM = Up-move if Up-move > Down-move AND Up-move > 0, else 0
-DM = Down-move if Down-move > Up-move AND Down-move > 0, else 0
Step 2: Smoothed DI
Wilder's smoothing applied to +DM, -DM, and True Range over 14 periods:
+DI = 100 × (Smoothed +DM / Smoothed True Range)
-DI = 100 × (Smoothed -DM / Smoothed True Range)
Step 3: ADX
Compute the directional index DX for each bar:
DX = 100 × (|+DI - -DI|) / (+DI + -DI)
ADX is Wilder's smoothing of DX over 14 periods.
In plain English: ADX takes the gap between the two DI lines, normalizes it, and smooths it. A large persistent gap means strong trend; a small fluctuating gap means chop.
A worked example
Suppose over the last 14 bars +DI averages 30 and -DI averages 12. The current bar's DX:
DX = 100 × |30 - 12| / (30 + 12)
= 100 × 18 / 42
≈ 42.9
The smoothed ADX from prior bars is, say, 35. After today's bar:
ADX(today) = ((35 × 13) + 42.9) / 14
= (455 + 42.9) / 14
≈ 35.6
ADX ticked up from 35 to 35.6, reflecting today's higher DX reading. The trend is strengthening.
If +DI was 18 and -DI was 22 (DI lines tangled and close together):
DX = 100 × |18 - 22| / (18 + 22)
= 100 × 4 / 40
= 10
A DX of 10 with a prior ADX of 35 would pull ADX down. The trend is weakening.
How traders actually use ADX
Three uses generate consistent edge. The fourth (trying to time entries from ADX directly) does not.
1. Trend filter for strategy gating
This is ADX's killer application. Many trend-following strategies require ADX > 25 before taking any directional signal. Below 25, the market is too choppy for trend signals to work; the strategy stands aside.
The numbers traders use:
- ADX < 20: no trend, skip trend-following signals
- ADX 20-25: trend developing, take signals with caution
- ADX 25-40: clear trend, take trend signals confidently
- ADX > 40: very strong trend, signals are reliable but the move may be near exhaustion
Backtests across multiple decades and asset classes show that requiring ADX > 25 dramatically improves the win rate of moving-average crossover and breakout strategies. The strategies do not get more right; they take fewer of the wrong signals.
2. DI crossover for direction
When +DI crosses above -DI, the directional pressure has flipped to the upside. When -DI crosses above +DI, it has flipped to the downside. This cross is more reliable when ADX is rising and above 20.
The DI cross by itself is a weak signal. Combined with the ADX threshold filter, it becomes useful: "ADX rising above 25 AND +DI crossing above -DI" is a setup with meaningfully better statistics than either component alone.
3. Trend exhaustion warning
When ADX climbs above 40 and starts to roll over, the trend is mature. ADX cannot rise indefinitely - eventually momentum saturates and the indicator turns down. That turn often (but not always) coincides with the trend slowing into consolidation or reversal.
A high-and-falling ADX is a warning to tighten stops, take partial profits, or stop adding to a position. It is not a reversal signal on its own.
The trap most retail traders fall into
The most common ADX mistake: ignoring it.
Most retail traders treat ADX as a niche curiosity. They have RSI, MACD, moving averages, and maybe Bollinger Bands on the chart, but no regime filter. The result: they take trend signals in chop and mean-reversion signals in trends. Both fail.
ADX is the indicator that fixes this. Adding "ADX > 25" as a gating condition to almost any directional strategy improves its expected outcome. It is the single highest-leverage change most retail systems can make.
The second trap: trying to trade ADX directly. ADX is not a trade signal. There is no useful "ADX is high, so buy" rule. ADX gates other signals; it does not generate them.
The third trap: misreading falling ADX as a bear signal in an uptrend. Falling ADX in an uptrend means the uptrend is weakening, but price may still keep drifting up. ADX descriptive of trend strength, not future price direction.
ADX vs other indicators
vs Bollinger Band Width (BBW). Both measure how compressed the market is, but from different angles. BBW measures price dispersion via standard deviation around the SMA; ADX measures directional consistency. A low BBW with a low ADX = squeeze with no trend (consolidation). A low BBW with a rising ADX = squeeze beginning to break into a trend. A high BBW with a high ADX = strong trending move. The two together describe regime more completely than either alone.
vs ATR. ATR measures volatility magnitude (how big are the bars?). ADX measures volatility direction-consistency (how much do they all point the same way?). Both can be high simultaneously (trending volatile market), or one can be high while the other is low (volatile chop = high ATR, low ADX; tight trend = lower ATR, higher ADX).
vs RSI / Stochastic / MACD. These are momentum indicators - they react to recent price changes. ADX is a regime indicator - it tells you whether to trust momentum signals at all. Pair ADX as a gate around any momentum signal for a measurable improvement in win rate.
Common questions
Should I change the 14-period default? Almost never. 14 is Wilder's standard and the universal convention. Shorter periods make ADX noisier; longer periods make it lag.
Why is ADX above 20 but my system is losing? ADX measures trend strength, not strategy fit. A trending market with ADX 30 can still have your specific entries placed at bad moments. ADX gates regime; entry timing is a separate problem.
Can ADX go above 100? No. The DX formula bounds ADX between 0 and 100 by construction. Readings above 60 are rare but happen in parabolic moves.
Does ADX work on intraday charts? Yes. The same regime logic applies: ADX > 25 on the 15-minute chart means the intraday trend is strong. Below 20 means the market is intraday-ranging. Many intraday strategies use ADX on a higher timeframe to filter trades on a lower timeframe.
Why does my ADX look different from the chart in a YouTube video? Two reasons. Wilder's smoothing requires a starting period (some platforms seed differently). And some platforms apply additional smoothing layers. The numbers will be close but not identical across implementations.
What is the difference between ADX and DMI? DMI (Directional Movement Index) is the broader framework that includes +DI, -DI, and ADX. ADX is just the trend-strength line within that framework. Many platforms label the full bundle "DMI / ADX" together.
When to use ADX and when not to
Use ADX when:
- You are running a trend-following strategy and need to gate it from trading in chop
- You are switching between trend and mean-reversion modes and need a regime indicator
- You want to identify which instruments on a watchlist are currently trending hardest
Skip ADX when:
- You are looking for direction (use +DI / -DI or another indicator)
- You are trying to predict reversals (ADX describes current regime, not future regime change)
- You already have a working regime filter from another source (price structure relative to a 200-SMA, for example)
