AverageSizeBar – indicator MetaTrader 5

Real author:

Igor V. Kim aka KimIV.

The indicator is a version of a technical ATR with the possibility to change a smoothing method.

ATR always has SMA, while this indicator implements all standard methods – SMA, EMA, SMMA and LWMA, as well as non-standard ones. Besides, horizontal shift of the indicator values has been provided.

This indicator was first implemented in MQL4 and published 26.05.2007 (in Russian).

Indicator input parameters:

//+-----------------------------------+
//| Input parameters of the indicator |
//+-----------------------------------+
input Smooth_Method XMA_Method=MODE_SMA; // Averaging method
input int XLength=10;                    // Smoothing depth                    
input int XPhase=15;                     // Smoothing parameter
input int Shift=0;                       // horizontal shift of the indicator in bars

Full list of possible smoothing methods:

  1. SMA – simple moving average;
  2. EMA – exponential moving average;
  3. SMMA – smoothed moving average;
  4. LWMA – linear weighted moving average;
  5. JJMA – JMA adaptive average;
  6. JurX – ultralinear smoothing;
  7. ParMA – parabolic smoothing;
  8. T3 – Tillson’s multiple exponential smoothing;
  9. VIDYA – smoothing with the use of Tushar Chande’s algorithm;
  10. AMA – smoothing with the use of Perry Kaufman’s algorithm.
Alternative:  Reverse_Engineering_RSI - indicator MetaTrader 5

It should be noted that Phase parameter has completely different meaning for different smoothing algorithms. For JMA it is an external Phase variable changing from -100 to +100. For T3 it is a smoothing ratio multiplied by 100 for better visualization, for VIDYA it is a CMO oscillator period and for AMA it is a slow EMA period. In other algorithms these parameters do not affect smoothing. For AMA fast EMA period is a fixed value and is equal to 2 by default. The ratio of raising to the power is also equal to 2 for AMA.

The indicator uses SmoothAlgorithms.mqh library classes (must be copied to the terminal_data_folder\MQL5\Include). The use of the classes was thoroughly described in the article “Averaging Price Series for Intermediate Calculations Without Using Additional Buffers”.

AverageSizeBar

AverageSizeBar


📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks