RSI_Histogram_Vol indicator with additional averaging of the resulting histogram. A similar averaging is applied to dynamic overbought/oversold levels as well.
//+-----------------------------------------+ //|  INDICATOR INPUT PARAMETERS          | //+-----------------------------------------+ input uint                RSIPeriod=14;            // indicator period input ENUM_APPLIED_PRICE  RSIPrice=PRICE_CLOSE;    // price input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK;  // volume input int                HighLevel2=+20;          // overbought level 2 input int                HighLevel1=+15;          // overbought level 1 input int                LowLevel1=-15;            // oversold level 1 input int                LowLevel2=-20;            // oversold level 2 input Smooth_Method      MA_SMethod=MODE_SMA_;    // Averaging method input uint                MA_Length=12;            // Smoothing depth                    input int                MA_Phase=15;              // parameter of the first smoothing, //---- for JJMA within the range of -100 ... +100, it influences the quality of the transition process; //---- for VIDIA it is a CMO period, for AMA it is a slow average period input int                Shift=0;                  // Horizontal indicator shift in bars
The indicator uses SmoothAlgorithms.mqh library classes (copy it to <terminal_data_folder>MQL5Include). The use of the classes was thoroughly described in the article