trend
Trend Strength
Intermediate
ADX

Average Directional Index

Measures the strength of a trend regardless of direction, helping traders distinguish trending from ranging markets.

Overview

The Average Directional Index (ADX) was developed by J. Welles Wilder Jr. in 1978 and published in his landmark book "New Concepts in Technical Trading Systems." Unlike most indicators, ADX does not indicate trend direction — it measures trend strength. A high ADX reading means the market is trending strongly (in either direction), while a low reading means prices are moving sideways.

How it looks on a chart

Illustration only — synthetic data generated for visual reference.

Beginner

Think of ADX as a trendometer: it tells you not whether a market is going up or down, but how strongly it is trending at all. ADX ranges from 0 to 100. Readings below 20 suggest a weak, choppy market where trend-following strategies tend to lose money. Readings above 25 indicate a developing trend. Above 40 signals a strong trend. ADX comes with two helper lines: +DI (plus directional indicator) and -DI (minus directional indicator). When +DI is above -DI, the trend is upward. When -DI is above +DI, the trend is downward. A crossover of these lines can act as a directional signal when combined with a rising ADX. The most practical use of ADX is as a filter. Before taking a moving average crossover or other trend-following signal, check that ADX is above 25. This simple filter can dramatically improve the performance of trend systems by keeping them out of choppy, mean-reverting conditions.

Intermediate

ADX is derived from the Directional Movement Index (DMI). The +DM is the portion of today's range that extends above yesterday's high; -DM is the portion that extends below yesterday's low. These are smoothed over 14 periods (using Wilder's smoothing, equivalent to a 27-period EMA), then divided by ATR(14) to normalize for volatility. ADX is then the smoothed absolute difference of +DI and -DI divided by their sum. Wilder's smoothing differs from a standard EMA: Smoothed(t) = Smoothed(t-1) - (Smoothed(t-1)/n) + Current. This makes ADX especially slow to respond — it typically lags price changes by 2–3 weeks on daily charts. For faster response, shorter periods (7 or 10) are used on intraday or shorter-timeframe charts. A reading of ADX rising from below 20 through 25 is often the most actionable signal: the market is transitioning from ranging to trending. ADX peaking and beginning to turn down — even from high values — can signal the trend is exhausting, even if price is still making new highs.

Advanced

ADX's non-directional nature makes it uniquely useful as a regime classifier in systematic strategies. Quantitative researchers often split market history into "trending regimes" (ADX > 25) and "ranging regimes" (ADX < 20) and optimize separate parameter sets for each. This regime-dependent optimization can materially reduce drawdowns in strategy portfolios. One limitation rarely discussed is that ADX can remain elevated after a trend ends if price transitions into a strong counter-trend. The indicator measures magnitude of directional movement, not persistence of a single direction. In volatile, whipsawing markets post-news events, ADX can spike to 40+ even when there is no durable trend. From an academic perspective, ADX-based regime filtering has been validated in several systematic futures studies (Szakmary et al. 2010, Hurst et al. 2017). Combining ADX with realized volatility as a dual regime filter tends to outperform either filter alone in trend-following CTA-style strategies.

Formula

+DI = 100 × Smoothed(+DM) / ATR(14)
-DI = 100 × Smoothed(-DM) / ATR(14)
DX = 100 × |+DI − -DI| / (+DI + -DI)
ADX = Smoothed(DX, 14)
  1. 1.Calculate +DM = max(High - Prev High, 0) if > |Low - Prev Low|, else 0; -DM is the inverse.
  2. 2.Smooth +DM, -DM, and True Range over 14 periods using Wilder's smoothing method.
  3. 3.Compute +DI = 100 × Smoothed+DM / SmoothedTR and -DI = 100 × Smoothed-DM / SmoothedTR.
  4. 4.Compute DX = 100 × |+DI − -DI| / (+DI + -DI).
  5. 5.Smooth DX over 14 periods using Wilder's smoothing to get ADX.

Parameters

ParameterDefaultRangeDescription
Period14550Smoothing period for DM and TR calculations.
Trend Threshold251540ADX level above which a trend is considered active.

Trading signals

bullish: ADX rises above 25 with +DI > -DI

Uptrend gaining strength — trend-following long signals are more reliable.

bearish: ADX rises above 25 with -DI > +DI

Downtrend gaining strength — trend-following short signals are more reliable.

neutral: ADX below 20

No trend present — avoid trend strategies, consider mean-reversion.

neutral: ADX peaks and turns down from above 40

Trend exhaustion — consider tightening stops or reducing position size.

Limitations

  • Highly lagging — ADX is a triple-smoothed indicator that reacts slowly to trend changes.
  • Does not indicate trend direction, only strength; must be paired with +DI/-DI or another directional tool.
  • Can stay elevated after a trend reverses if the counter-trend is also strong.
  • Prone to giving false signals in assets with infrequent large moves (e.g., binary events).
How Gilito AI uses ADX

Gilito uses ADX as a primary regime filter across its strategy library — trend-following strategies are only activated when ADX(14) exceeds a configurable threshold, while mean-reversion strategies are preferred when ADX is below 20. This regime switching is backtested over full market cycles to validate its effectiveness on each specific asset.

Related indicators