UltraWPR – indicator for MetaTrader 5


This indicator is based on WPR (Larry Williams’ Percent Range, %) and its multiple signal lines analysis. Signal lines calculation algorithm is as follows. We have indicator input parameters as source data:

  • StartLength – minimum initial value of the first signal line;
  • Step – period change step;
  • StepsTotal – number of period changes.

Any period value from the multitude of signal lines is calculated using arithmetic progression:

SignalPeriod(Number)  =  StartLength +  Number * Step,

where the value of Number variable ranges from zero to StepsTotal. Obtained values of the periods are added to the variables array and are used at each indicator tick to get the array of smoothed Larry Williams’ Percent Range indicator values. Directions of the current trend for each of the smoothings are calculated and also the number of positive and negative trends for the whole array of WPR smoothed values is determined. The final number of positive and negative trends is smoothed in its turn and used as the indicator lines that form a color cloud displayed with the help of theDRAW_FILLING style class.

A trend direction in this indicator is determined by the cloud color, while its power is determined by the cloud width. You can use the overbought (UpLevel) and oversold (DnLevel) levels that are set in percent value from the indicator maximum amplitude.

Smoothing algorithms can be selected out of ten possible versions:

  1. SMA – simple moving average;
  2. EMA – exponential moving average;
  3. SMMA – smoothed moving average;
  4. LWMA – linear weighted moving average;
  5. JJMA – JMA adaptive average;
  6. JurX – ultralinear smoothing;
  7. ParMA – parabolic smoothing;
  8. T3 – Tillson’s multiple exponential smoothing;
  9. VIDYA – smoothing with the use of Tushar Chande’s algorithm;
  10. 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”.

Place the SpearmanRankCorrelation indicator compiled file to the terminal_data_folder\MQL5\Indicators\.

Indicator input parameters:

//| Indicator input parameters                   |
input int WPR_Period=13;                    // WPR indicator period
input Smooth_Method W_Method=MODE_JJMA;     // Smoothing method
input int StartLength=3;                    // Initial smoothing period                    
input int WPhase=100;                       // Smoothing parameter
input uint Step=5;                          // Period change step
input uint StepsTotal=10;                   // Number of period changes
input Smooth_Method SmoothMethod=MODE_JJMA;// Smoothing method
input int SmoothLength=3;                   // Smoothing depth                    
input int SmoothPhase=100;                  // Smoothing parameter
input uint UpLevel=80;                      // Overbought level, %
input uint DnLevel=20;                      // Oversold level, %
input color UpLevelsColor=Blue;             // Overbought level color
input color DnLevelsColor=Blue;             // Oversold level color
input STYLE Levelstyle=DASH_;              // Levels style
input WIDTH  LevelsWidth=Width_1;          // Levels width

Recommended MT5 Brokers

XM Broker

  • Free $50 To Start Trading Instantly! (Withdraw-able Profit)
  • Deposit Bonus up to $5,000
  • Unlimited Loyalty Program
  • Award Winning Forex Broker
  • Additional Exclusive Bonuses Throughout The Year

XM broker

>> Sign Up for XM Broker Account here <<

FBS Broker

  • Trade 100 Bonus: Free $100 to kickstart your trading journey!
  • 100% Deposit Bonus: Double your deposit up to $10,000 and trade with enhanced capital.
  • Leverage up to 1:3000: Maximizing potential profits with one of the highest leverage options available.
  • ‘Best Customer Service Broker Asia’ Award: Recognized excellence in customer support and service.
  • Seasonal Promotions: Enjoy a variety of exclusive bonuses and promotional offers all year round.

fbs broker

>> Sign Up for FBS Broker Account here <<


(Free MT5 Indicators Download)

Click here below to download:

UltraWPR – indicator for MetaTrader 5

Get Smarter About Forex Trading Using Indicators

Join 100,000+ subscribers and get our 5 min daily newsletter on what matters in forex.

We do not sell or share your information with anyone.


Please enter your comment!
Please enter your name here