Real author:
Yuriy Tokman (YTG)
The MFI oscillator in the main chart window relative to the Moving Average indicator. The MFI indicator is shown in blue, the Moving Average line is dark red, and the levels with the default values are shown as borders of a light gray channel.
Indicator input parameters:
//+----------------------------------------------+ //| Indicator input parameters                 | //+----------------------------------------------+ input uint PeriodMFI=14;                              // MFI indicator period input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK;    // Volume input Smooth_Method XMA_Method=MODE_SMMA;            // Averaging method input uint XLength=12;                                // Depth of averaging input int XPhase=15;                                  // Smoothing parameter //---- 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 double Dev=10.0;                                // Channel width deviation input ENUM_APPLIED_PRICE  Applied_price=PRICE_CLOSE;  // Price type or handle input int  Level_MFI_UP = 70;                        // Overbought level input int  Level_MFI_DN = 30;                        // Oversold level input int Shift=0;                                    // Horizontal indicator shift in bars Â
The indicator uses SmoothAlgorithms.mqh library classes (copy it to <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”.
Fig.1. The MFI_Chart indicator