Expert Advisors • Indicators • Scripts • Libraries

MQL.RobotFX.org is the biggest collection of MetaTrader expert advisors (MT5 & MT4), indicators, scripts and libraries that can be used to improve trading results, minimize risks or simply automate trading tasks

Average Directional Movement Index Wilder | MetaTrader Tool

Discover expert developed MetaTrader tools that can complement professional solutions.

Average Directional Movement Index Wilder (ADX Wilder) helps to determine if there is a market trend.

This technical indicator is constructed as a strict correspondence with the algorithm described by Welles Wilder in his book "New concepts in technical trading systems".

Trading rules of this indicator are described in the Average Directional Movement Index.

Image for Average Directional Movement Index Wilder

Calculation:

First positive (dm_plus) and negative (dm_minus) changes at each bar are calculated, as well as the true range tr:

If High(i) - High(i-1) > 0 dm_plus(i) = High[(i) - High(i-1), otherwise dm_plus(i) = 0.

If Low(i-1) - Low(i) > 0 dm_minus(i) = Low(i-1) - Low(i), otherwise dm_minus(i) = 0.

tr(i) = Max(ABS(High(i) - Low(i)), ABS(High(i) - Close(i-1)), ABS(Low(i) - Close(i-1)))

where:

  • High(i) - maximum price of the current bar;
  • Low(i) - minimum price of the current bar;
  • High(i-1) - maximum price of the previous bar;
  • Low(i-1) - minimum price of the previous bar;
  • Close(i-1) - close price of the previous bar;
  • Max (a, b , c) - maximum value out of three numbers: a, b и c;
  • ABS(X) - absolute value of the X.

After that the smoothed values are calculated: Plus_D(i), Minus_D(i) and ATR():

ATR(i) = SMMA(tr, Period_ADX,i)
Plus_D(i) = SMMA(dm_plus, Period_ADX,i)/ATR(i)*100
Minus_D(i) = SMMA(dm_minus, Period_ADX,i)/ATR(i)*100

where:


  • SMMA(X, N, i) - Smoothed Moving Average of X series on the current bar;
  • Perod_ADX - number of bars, used for calculation.

Now Directional Movement Index - DX(i) - is calculated:

DX(i) = ABS(Plus_D(i) - Minus_D(i))/(Plus_D(i) + Minus_D(i)) * 100

After preliminary calculations we obtain the value of the ADX(i) indicator on the current bar by smoothing DX index values:

ADX(i) = SMMA(DX, Perod_ADX, i)

Grid trading done right – try the robust Grid Expert Advisor for controlled risk. Details here.

Level up your trading with professional RobotFX expert advisors and indicators. Visit www.robotfx.org for proven MT4/MT5 tools.

8

Best MetaTrader Indicators + Profitable Expert Advisors