ADX summarizes the strength of directional movement in earlier prices. It does not choose a trade side or measure a chance of profit. A reading of 30 means neither a 30% probability nor a 30-pip move. The calculations below separate DM, DI, DX and smoothed ADX before considering a strategy filter.

What the ADX actually measures

Wilder presented the Directional Movement System in New Concepts in Technical Trading Systems (1978), alongside ATR, RSI and Parabolic SAR. ADX is its direction-independent strength measure. With valid positive denominators, DX and its smoothed ADX lie between 0 and 100. Fourteen is a conventional period in source bars, not necessarily fourteen daily sessions; no Forex-wide rarity statistic for values above 60 is supplied here.

Compare +DI with −DI for the sign of directional imbalance, not buyer or seller counts. ADX discards that sign: swapping the two DI inputs leaves DX unchanged. Check the actual indicator’s legend and implementation. TradingView’s ADX display omits the DI lines; its DMI display includes all three. Colours alone do not establish which line you are reading.

Indicator at a glance
AuthorJ. Welles Wilder, 1978
Default period14 source bars in this conventional setting
Typea gauge of trend strength, not direction
Value range0 to 100 with valid denominators and initialization
System linesADX for strength, +DI and -DI for direction
AvailabilityVerify the named implementation; TradingView DMI displays the DI lines with ADX

Candle colour does not select DM

Check both directions of range expansion. The body compares Open with Close; DM compares the extreme prices of adjacent candles.

Scroll sideways to see the full diagram

Candle colour does not select DMPrevious candle: O 102, H 110, L 100, C 108. Current: O 108, H 114, L 98, C 105. The current body falls, but the high rises by 4 while the low falls by 2. Wilder's rule selects +DM = 4 and −DM = 0.Falling body, positive directional movement98102106110114PreviousCurrentH 110 • L 100H 114 • L 98Upward move: 114 − 110 = 4Downward move: 100 − 98 = 2Larger 4: +DM = 4, −DM = 0

Hypothetical model: arbitrary price units. This shows one DM selection, not complete DI or ADX. Extreme-comparison rule: StockCharts — ADX.

A falling body can coexist with positive DM.

Where the +DI and -DI lines come from

For each pair of adjacent candles, compare upMove = current High − previous High with downMove = previous Low − current Low. Keep +DM only when upMove is positive and larger; keep −DM only when downMove is positive and larger. Otherwise the corresponding DM is zero; equal moves select neither. Smooth DM and true range, then compute +DI and −DI as their ratios multiplied by 100. ADX smooths DX = 100 × |+DI − −DI| / (+DI + −DI), with a defined zero-denominator convention in the implementation.

A shared denominator can change both DI lines without changing DX. In two hypothetical completed calculation states, hold smoothed +DM=0.6 and −DM=0.2. Smoothed TR=2 gives +DI=30 and −DI=10; TR=4 gives 15 and 5. Both give DX=100×|30−10|/(30+10)=100×|15−5|/(15+5)=50. For positive TR and DM sum, the common normalization factor cancels. Falling DI levels alone therefore do not require falling ADX. These are given states, not a reconstructed OHLC history.

How to read ADX levels

Levels below 20 and above 25 are conventional weak/strong-trend interpretations in Fidelity’s description, not boundaries of proven positive expectancy. The band from 20 to 25 does not establish that a new trend must be forming. A low reading cannot certify future containment between support and resistance. If used, fix the threshold before testing the complete rule.

A rising or falling ADX describes changes in its smoothed measure of directional movement. A decline from a high reading does not by itself forecast a correction or a reversal. The 20, 25 and 40 levels are interpretation conventions to test on the chosen instrument and timeframe, not guarantees of a market regime or profitable action.

ADX as a market-regime filter

ADX can be tested as a regime filter rather than used as an automatic entry. For example, a predefined variant might admit trend setups only above 25. That threshold changes the sample of trades but does not establish positive expectancy or guarantee removal of losing signals. Test the complete rule, costs and excluded cases on consistent data.

A range or reversion rule requires its own definition and evaluation. Low ADX does not prove stable price levels or a future bounce. The market-regime trading guide compares possible classifications; a chosen filter changes eligible trades, including possible wins as well as losses. Store the excluded observations rather than assume they were losing opportunities.

Practical takeaway: ADX summarizes directional imbalance; its value alone does not tell you whether to buy or sell.

Lag and false signals

In the stated Wilder convention, first ADX is an average of the initial DX values. Later updates use ADX′=((n−1)×ADX+DX)/n. This smoothing retains earlier information; a threshold crossing need not coincide with the start of a move and does not prove fewer false trades. Keep period, source interval, initialization and history length fixed when comparing readings.

ADX and ADXR are separate. In Fidelity’s convention, ADXR averages current ADX with the value n bars earlier, not every intervening ADX. Current 24 and ADX 18 fourteen bars earlier give ADXR(14)=(24+18)/2=21. State the implementation’s lag convention before comparing outputs. Combining ADX with other price-derived indicators does not automatically create independent evidence or improve net results.

ADX and ATR — strength, direction and distance

The Average True Range describes smoothed range including gaps, in price units. ADX is dimensionless. EUR/USD ATR 0.0080 equals 80 pips at pip 0.0001; ADX 24 specifies no price distance. Neither indicator independently supplies entry, position size or an optimal stop. Define those rules separately.

Use three independent hypothetical states with given DI and previous ADX, n=14; this is one update, not full reconstruction from OHLC. For +DI/−DI=30/10 and previous ADX 22, DX=100×20/40=50 and new ADX=(13×22+50)/14=24. Swapping to 10/30 gives the same 24 although directional imbalance reverses. For DI 22/18 and previous ADX 38, DX=10 and new ADX=(13×38+10)/14=36. ADX can remain high while current imbalance weakens. Separately, a chosen 1.5×80-pip ATR stop distance equals 120 pips, but is neither an optimal parameter nor a maximum-loss guarantee; ordinary stops can fill beyond the trigger.

What to do tomorrow

  1. Save the named indicator, period and source bars. Observe closed-bar readings beside price and distinguish ADX from the separate DI and ADXR lines.
  2. If testing a threshold such as ADX>25, compare otherwise identical strategies with and without that filter. Save all eligible and excluded cases; ADX<20 is not proof of a safe range.
  3. Record both the level and direction of ADX. Review any position-management rule against your written plan and testing results; a falling ADX alone does not establish that a correction is about to arrive.
  4. Use the given states to check normalization and smoothing by hand. Reverse the DI inputs and verify that DX is unchanged; then compare ADX’s units with ATR’s price units.
  5. Record zero-denominator handling, initialization and source history. Choose parameters on one sample and evaluate later data after costs. Two hundred trades do not certify a period or universal threshold.

Related reading: Average True Range — basics separates range from direction; trend-following systems describe complete candidate rules; market-regime trading examines classifications and filters. For broader context, see the technical analysis section on ForexMechanics.com.