The Mass Index was popularized by Tushar Chande and Donald Dorsey. It is usually calculated by summing exponentially smoothed moving average of high-low day ranges for 25 last periods. The aim of this index is to identify a trend reversal by measuring the changes of an average range between the highest and the lowest price. When the range is widening, the Mass Index is increasing, when the range is narrowing, the Mass Index is decreasing.
Exponential moving average (for example, with period 9) is used to reveal a buy (sell) signal. As the Mass Index attempts to predict a trend reversal, a long position is opened, in case the moving average indicates a downtrend and the short one is opened when the moving average indicates an uptrend.
This indicator allows to select a smoothing type out of ten possible versions:
- SMA – simple moving average;
- EMA – exponential moving average;
- SMMA – smoothed moving average;
- LWMA – linear weighted moving average;
- JJMA – JMA adaptive average;
- JurX – ultralinear smoothing;
- ParMA – parabolic smoothing;
- T3 – Tillson’s multiple exponential smoothing;
- VIDYA – smoothing with the use of Tushar Chande’s algorithm;
- AMA – smoothing with the use of Perry Kaufman’s algorithm.
It should be noted that Phase type parameters for different smoothing algorithms have completely different meaning. 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”.