Download MetaTrader 5

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

2011.12.29 09:57

IncERDOnArray - library for MetaTrader 5

| English Русский 中文 Español Deutsch 日本語 Português

votes: 22

CERDOnArray class is designed to calculate the Efficiency Ratio (ER) used in the Adaptive Moving Average (AMA) considering price movement direction. When the price is moving upwards the indicator has positive values, when it is moving downwards, - negative ones.


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

  • int aPeriod - efficiency ratio calculation period.

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 aData[] - data buffer for the indicator calculation;
  • double aERD[] - the buffer with the calculated value.

Additional methods:

  • int BarsRequired() - returns the minimum number of bars for the indicator calculation;
  • string Name() - returns the line with the indicator name.

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

Adaptive Moving Average (AMA) Technical Indicator is used for constructing a moving average with low sensitivity to price series noises and is characterized by the minimal lag for trend detection. This indicator was developed and described by Perry Kaufman in his book "Smarter Trading".

Test_ERDOnArray - example of use of the CERDOnArray class

Translated from Russian by MetaQuotes Software Corp.
Original code:

IncEROnArray IncEROnArray

CEROnArray class is designed to calculate the Efficiency Ratio (ER) used in the Adaptive Moving Average (AMA). The example of use of the CEROnArray class is presented.

ZigZag based on VininI_FractalsTrend ZigZag based on VininI_FractalsTrend

ZigZag based on fractals. Due to the use of Fractals indicator, it works much faster than conventional ZigZag indicator.

XdinMA XdinMA

The moving average, calculated by using the simplest algebraic combination of two other moving averages with different periods. Smoothing algorithms can be selected out of ten possible versions.

GetFontName GetFontName

Function module for more convenient font selection display in the indicator input parameters. To free the indicator user from the necessity to manually enter a font name some changes to the code should be inserted.