Average Directional Movement Index (ADX)

Developed by J. Welles Wilder and described in his book “New Concepts in Technical Trading Systems”, the Average Directional Movement Index (ADX) is a technical indicator that describes if a market or a financial instrument is trending or not.

The ADX is a combination of two other indicators developed by Wilder, the positive directional indicator (+DI) and the negative directional indicator (-DI).


To calculate +DI and −DI, one needs price data consisting of high, low,
and closing prices each period and then calculate the directional movement (+DM and −DM):

UpMove = High (today) – High (yesterday)
DownMove = Low (yesterday) – Low (today)

if UpMove > DownMove and UpMove > 0, then +DM = UpMove, else +DM = 0
if DownMove > UpMove and DownMove > 0, then −DM = DownMove, else −DM = 0

After selecting the number of periods (14 periods is the number suggested by Wilder), +DI and −DI are:
  • +DI = 100 * EMA((+DM/ATR))
  • −DI = 100 * EMA((- DM/ATR))

  • EMA = Exponential Moving Average
  • ATR = Average True Range

The exponential moving average (EMA) is calculated over the number of periods selected, and the Average True Range is an exponential average of the true ranges. Hence: ADX = 100 * EMA |(+DI − −DI)/(+DI + −DI)|


Wilder recommends buying when +DI is higher than -DI, and selling when +DI is lower than -DI.

The ADX indicates trend strength, not trend direction, and it is a lagging indicator.

ADX range is between 0 and 100. Generally ADX readings below 20 indicate trend weakness, and readings above 40 indicate trend strength. An extremely strong trend is indicated by readings above 50.