Chaikin Oscillator is named after its author Marc Chaikin and based on the Accumulation/Distribution indicator and a number of Joe Granville and Larry Williams works.
The presented variant of this popular indicator allows to select the smoothing algorithm out of ten possible variants:
- 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 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 period, for AMA it is a slow EMA period;
- 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”.