Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal

votes: 19
2011.12.19 14:42
2016.11.22 07:32

CADXWOnArray class is designed for calculation of ADXW (Average Directional Movement Index Wilder, ADX Wilder) values on indicator buffers.


Init() method with the following parameters is called in the OnInit() function:

Solve() method with the following parameters is called in the OnCalculate() function:

  • const int aRatesTotal  - is a rates_total variable from the OnCalculate() function parameters;
  • const int aPrevCalc - prev_calculated variable from the OnCalculate() function;
  • double aDataClose[] - the buffer with the Close data for the indicator calculation;
  • double aDataHigh[] - the buffer with the High data for the indicator calculation;
  • double aDataLow[] - the buffer with the Low data for the indicator calculation;
  • double aP[] - intermediate buffer for a positive component;
  • double aM[] - intermediate buffer for a negative component;
  • double aTR[] - intermediate buffer for ATR (Average True Range) intermediate calculation;
  • double aATR[] - intermediate buffer for ATR;
  • double aPS[] -  intermediate buffer for smoothed positive component;
  • double aMS[] -  intermediate buffer for smoothed negative component ;
  • double aPDI[] - the buffer with the PDI calculated value;
  • double aMDI[] - the buffer with the MDI calculated value;
  • double aADXR[] - intermediate buffer for ADXW calculation;
  • double aADX[] - the buffer with ADXW calculated value.
 Additional methods: 
  • int BarsRequiredADX() - returns the minimum number of bars for ADX calculation;
  • int BarsRequiredPDIMDI() - returns the minimum number of bars for PDI and MDI calculation;
  • string Name() - returns the line with the indicator name;
  • string PDIName() - returns the line with the PDI line name;
  • string MDIName() - returns the line with the MDI line name.

Test_ADXWOnArray.mq5 is a sample indicator showing CADXWOnArray class application. IncADXWOnArray file must be placed to MQL5\Include\IncOnArray of the terminal data folder (IncOnArray folder must be created).

CMAOnArray class from the IncMAOnArray file is needed for the proper work. It can be found here.

Average Directional Movement Index Wilder (ADX Wilder) helps to determine if there is a price 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".

Example of use of CADXWOnArray class

Translated from Russian by MetaQuotes Software Corp.
Original code:

IncADXOnArray IncADXOnArray

CADXOnArray class is designed for calculation of ADX (Average Directional Movement Index) values on indicator buffers. The example of use of the class is provided.

ReverseSymbol ReverseSymbol

The indicator allows to work with changing in real time and mirror reversed (1/X) trading instrument.

SpreadCandlesCreator SpreadCandlesCreator

The indicator builds a candlestick chart consisting of floating spread current values in online mode.

VGridLine_Intraday X4 VGridLine_Intraday X4

Vertical time grid with four hours step.