The Indicator Series : The ADX, beyond a trend/range filter

I have to say that from all the indicators I have used in my career as a forex trader, the ADX (Average Directional Index) is the tool I dislike the most. The reason for this is probably because most traders have become accostumed to viewing the ADX as a range/trend condition filter when this is far from being an accurate use of this trading indicator. People who develop automated trading systems generally use the ADX to filter out trades (which I have learned is not a good approach) generating a global loss of statistical significance with a very small -if even present- improvement in profitability. On today’s post I am going to talk to you about this indicator developed by Welles Wilder, I am going to go into its mathematical origin and into how it could be used successfuly for the creation of automated trading strategies. As always the most important thing is to understand what the indicator is telling you and how this information can be used to exploit tradable market inefficiencies.
First of all, the mathematical calculation of this indicator is not as straightforward as others since this tool has many different components. The Average Directional Index indicator is made up of three lines called DI+, DI- and DX. The lines are calculated according to the formula you see below (where the true range is mainly the highest value between the averages calculated, include the average of the close prices (current close – last close) of the N indicator period):

DI+ = Average of X periods [Current High – Previous High]/(Average of X periods of the True range)

DI- = Average of X periods [Current Low- Previous Low]/(Average of X periods of the True range)

DX = 100 * ((DI+)-(DI-)/(DI+)+(DI-))

So what is the indicator telling us ? Mainly the higher the values of DI+ or DI- the higher the difference between the current and past highs/lows becomes relative to the largest movement observed within the current and last candle X period average. However note that DI+ and DI- are not normalized and therefore we can only interpret them relative to each other. A higher value of DI+ over DI- indicates that in average higher highs where achieved while a value of DI- above DI+ indicates the opposite. The DX – which is normalized – compares the difference between DI- and DI+ and tells us what percentage this difference represents from the sum of both indexes. The value of DX will be higher as the difference between DI+ and DI- becomes larger effectively showing that during the past X periods the market has shown a prevalent movement in one direction.

The fact that the DX value seems to be related with prevalent market movement then does not imply that we can define trends/ranges clearly from the ADX. There are two reasons why this is mainly not a good use of the ADX indicator. First of all, the DX line is comparative meaning that if we have a quiet market period with low volatility but a steady up/down movement the indicator may interpret it as a trend. The second problem is related to the fact that you would have to select a “level” to use as a threshold between “ranging and trending” conditions, something which cannot be easily done. Usually if you attempt to enter trades in favor of “the trend” when the DX value is high you will find that the trend has already happened and you are just entering too late.

The ADX indicator however can be used to detect retracements given the fact that it can detect when a weakening from a previously strong trend has happened. For example, if the ADX reaches an extreme value (indicating strong market momentum) we could simply wait for a weaker DX value and enter the trade in the direction of the trend when the trend has apparently “ceased”. Of course, we will enter upon a retracement, within a very good position to take advantage of future movements. Such a case is exemplified within the following chart.

As you see, the ADX indicator can be used for this type of purpose successfuly, not taking into account any range/trend filtering characteristics which are generally attributed to this trading tool. We take advantage of the fact that the indicator signals “what has already happened” and we use it to enter trades in favorable positions to exploit a tradable market inefficiency. Of course, developing a mechanical trading strategy based on this concept would require the development of additional closing criteria and trade analysis (to see which DX levels are adequate) but such an approach is bound to be a good start to develop a long term profitable strategy based on the ADX indicator.

If you would like to learn more about automated trading systems and how you can use systems developed with market adaptability and sound trading in mind to achieve long term profitability please consider buying my ebook on automated trading or joining Asirikuy to receive all ebook purchase benefits, weekly updates, check the live accounts I am running with several expert advisors and get in the road towards long term success in the forex market using automated trading systems. I hope you enjoyed the article !

Print Friendly, PDF & Email
You can leave a response, or trackback from your own site.

2 Responses to “The Indicator Series : The ADX, beyond a trend/range filter”

  1. Matthew Clarke says:

    Hi Daniel,

    Totally agree about the problem of the lagging-nature of the ADX (in the manner it is most frequently used or interpreted, with a static value acting as a threshold criterion for trending/not-trending).

    Have you thought about examining how the ADX value for the current period compares to its value of a prior period, and from that deriving a measure of the rate-of-change in the ADX value?

    I have found that the ADR-R indicator is very useful in determining when a currency goes from a non-trending to a trending condition (i.e. the ADX will cross-up, only ever up, above the ADX-R), and also to decide if a current trend is weakening (the ADX will fall below the corresponding ADX-R).

    Thans for a great resource,


  2. pipster says:

    In my system I use the ADX as a filter between the OSMA and Stochastics. 30 is the filter, below 30 I use stochastics, for range trading, above 30 I use the osma. Since the ADX can stay high or low for a very long time this filter seems to work well helping to define a range that is likely to turn into a trend

Leave a Reply

internal_server_error <![CDATA[WordPress &rsaquo; Error]]> 500