10.12 Directional Movement Index

The directional movement index by J. Welles Wilder expresses so-called directional movement, from high to high, or low to low, as a percentage of true range (see True Range).

When today’s high is above yesterday’s high, the increase is upwards directional movement, written DM+. If today’s high is not above yesterday’s then DM+ is zero. Conversely when today’s low is less than yesterday’s low the decrease is downward directional movement, written DM-. Again if today’s low is not below yesterday’s then DM- is zero. Both DM+ and DM- are positive numbers, the “+” and “-” signs just refer to the direction of the movement.

On an “inside day” where today’s trading range is entirely within yesterday’s both DM+ and DM- are zero. On an “outside day” where today’s trading goes both above and below yesterday’s range, only the larger of DM+ and DM- is used and the other is set to zero.

The two DM+ and DM- series are each smoothed with an N-day exponential moving average (see Exponential Moving Average) and expressed as a percentage of average true range (see Average True Range). The ATR uses the same N-day EMA smoothing. Two lines are formed, the upwards directional index DI+ and downwards directional index DI-.

            EMA[N] of DM+                 EMA[N] of DM+
DI+ = 100 * -------------     DI+ = 100 * -------------
                ATR[N]                        ATR[N]

In Chart, DI+ is drawn in green (for upwards) and DI- is drawn in red (for downwards).

The smoothing N is by Wilder’s reckoning of EMA smoothing period (as discussed in Exponential Moving Average), the default is the 14 he recommended.

An extreme of 100 is approached on DI+ when each day trades entirely above yesterday’s range (eg. runaway gaps), and then closes at the high of the day. This is rather rare, usually there’s some pullbacks. Essentially DM+ counts just the advance, the true range in the denominator counts the backtracking too. For DI-, an extreme of 100 is approached similarly when each day trades entirely lower the previous, and closes at its low.

10.12.1 Average Directional Index

The average directional index (ADX) combines DI+ and DI-, expressing their difference (ignoring the sign) as a percentage of the total, forming a single line ranging 0 to 100,

            abs(DI+ - DI-)
ADX = 100 * --------------
              DI+ + DI-


Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2016, 2017, 2019, 2023, 2024 Kevin Ryde

Chart is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.