UltraMFI - MetaTrader 5 Script | Forex Indicator Download - MT4/MT5 Resources

Actual author : Dmitry .
The indicator is based on MFI (Money Flow Index) and its multi-signal line analysis. The signal line calculation algorithm is as follows. We have indicator input parameters as source data:
Any period value in multiple signal lines is calculated using an arithmetic series:
SignalPeriod(number) = starting length + number * step size,
The value of the numeric variable ranges from zero to the total number of steps . The obtained period values are added to the variable array and used at each indicator tick to obtain a smoothed array of Larry Williams Percent Range indicator values. Calculate the current trend direction for each smoothing and determine the number of positive and negative trends for the entire array of MFI smoothing values.
The final positive and negative trend numbers are sequentially smoothed and used as indicator lines to form colored clouds with the help of draw_fill style class.
The trend direction of this indicator is determined by the color of the clouds, while its strength is determined by the width of the clouds. You can use overbought (UpLevel) and oversold (DnLevel) levels set as a percentage value of the indicator's maximum range.
The smoothing algorithm can be chosen from ten possible versions:
It should be noted that the Phase1 and Phase2 parameters have completely different meanings for different smoothing algorithms. For JMA, it is an external phase variable that varies from -100 to +100. For T3, it is the smoothed ratio multiplied by 100 for better visualization; for VIDYA, it is the CMO oscillation period; for AMA, it is the slow EMA period. In other algorithms, these parameters do not affect averaging. For AMA the fast EMA period is fixed and the default value is equal to 2. For AMA, the ratio of raised powers is also equal to 2.
The indicator uses SmoothAlgorithms.mqh library classes (copy them to
//+------------------------------------------------------------------------+ //|Indicator input parameters | //+------------------------------------------------------------------------+ Input integer MFI_period = 13 ; // MFI indicator period Input ENUM_APPLIED_VOLUME volume type = volume_scale ; // MFI indicator volume //---- Enter Smooth_Method W_Method=MODE_JJMA; // Smoothing method Input integer starting length = 3 ; // Initial averaging period Input integer W phase = 100 ; // Smoothing parameter // For JJMA, it changes in the range of -100 ... +100 and affects the quality of the transient period; // For VIDIA it is the CMO period, for AMA it is the slow moving average period //---- Input unit steps = 5 ; // Cycle change steps The total number of steps in the input unit = 10 ; // Number of cycle changes //---- Enter Smooth_Method SmoothMethod=MODE_JJMA; // Soothing method Input integer smoothing length = 3 ; // smoothing depth Input integer smoothing phase = 100 ; // smoothing parameter // For JJMA, it changes in the range of -100 ... +100 and affects the quality of the transient period; //---- Enter Unit Upper = 80 ; // Overbought level %% Input unit DN level = 20 ; // Oversold level %% Input colorUpLevelsColor =blue; // color for overbought levels Input color DnLevelsColor=blue; // Color of oversold levels Input style level style=DASH_; // Level style Input width LevelsWidth=Width_1; // Width of level //+------------------------------------------------------------------------+

Figure 1. UltraMFI indicator
Attachment download
📎 SmoothAlgorithms.mqh (130.2 KB)
📎 UltraMFI.mq5 (22.19 KB)
Source: MQL5 #21750
💡 Featured Recommendations
✍️ Latest by the author
- •
- •
- •
- •
- •
- •
📌 Popular topics
- •
- •
- •
- •
- •
- •
- •
- •
🔗 You May Be Interested In
- •
- •
- •
- •
- •
- •