WPR_Histogram_Vol indicator with additional averaging of the resulting histogram. A similar averaging is applied to dynamic overbought/oversold levels as well.
//+-----------------------------------------+ //|  INDICATOR INPUTS           | //+-----------------------------------------+ input uint                WPRPeriod=14;            // indicator period 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;              // first smoothing parameter, //---- for JJMA, changing within -100 ... +100, affects the transient process quality; //---- for VIDIA this is CMO period, for AMA this is a slow average input int                Shift=0;                  // Indicator horizontal 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
Fig. 1. XWPR_Histogram_Vol indicator