Keltner Channel made in DRAW_FILLING style and displayed as a colored background filling.
Indicator input parameters:
//+-----------------------------------+ //| Indicator input parameters      | //+-----------------------------------+ input Smooth_Method MA_Method1=MODE_SMA;  // First smoothing method input int Length1=40;                    // First smoothing depth input int Phase1=15;                      // First smoothing parameter input Smooth_Method MA_Method2=MODE_JJMA; // Second smoothing method input int Length2=20;                    // Second smoothing depth input int Phase2=100;                    // Second smoothing parameter input int KeltnerPeriod=20;              // Keltner smoothing period input double Ratio = 2.0;                // First level ratio input Applied_price_ IPC=PRICE_CLOSE;    // Applied price input int Shift=0;                        // Horizontal shift of the indicator in bars input int PriceShift=0;                  // Vertical shift of the indicator in points
The indicator middle line is made using the algorithm with two smoothings and a possibility to select each of these 2 smoothings out of the dozen of 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 Phase1 and Phase2 parameters have 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”.