Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal


Ultra Spearman Rank Correlation - indicator for MetaTrader 5

Nikolay Kositsin | English Русский 中文 Español Deutsch 日本語 Português

votes: 15
2012.02.07 15:24
2016.11.22 07:32

This indicator is based on values of the several signal lines of  SpearmanRankCorrelation indicator. The signal lines calculation algorithm looks as follows. The input parameters contain

  • rangeN - averaging period;

The set of the signal lines is calculated using the arithmetic progression formula:

SignalPeriod(Number) = StartLength + Number * Step

The value Number variable vary from 0 to StepsTotal. The resulting periods added to the arrays and used in calculation of the averaged values of SpearmanRankCorrelation indicator. The calculation of current trend direction is based on the averaged trend values for all signal lines.

Finally, the positive and negative values of the trends are averaged and used as indicator lines, shown as a color histogram, plotted using the DRAW_COLOR_HISTOGRAM2 drawing style. Historgram color depends on trend direction, the histogram width depends on strength of the trend.

For indicator values outside the overbought and oversold levels the dark colors are used. For the overbought/oversold values the light colors are used.

Input parameters:

//| Indicator input parameters                   |
input int  rangeN=14;
input Smooth_Method W_Method=MODE_JJMA;        // Smooth method
input int StartLength=3;                        // Start length
input int WPhase=100;                           // Phase
input uint Step=5;                              // Period step
input uint StepsTotal=10;                       // Steps total
input Smooth_Method SmoothMethod=MODE_JJMA;    // Smooth method
input int SmoothLength=3;                      // Smooth length
input int SmoothPhase=100;                     // Smooth phase
input uint UpLevel=80;                         // Overbought level (in %)
input uint DnLevel=20;                         // Oversold level (in %)
input color UpLevelsColor=Blue;                // Overbought level color
input color DnLevelsColor=Blue;                // Oversold level color
input STYLE Levelstyle=DASH_;                 // Level style
input WIDTH  LevelsWidth=Width_1;             // Level width

The indicator has a possibility to select the smoothing out of the dozen of 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".

The indicator uses SpearmanRankCorrelation.mq5 indicator, it must be placed to terminal_data_folder\MQL5\Include.

Ultra Spearman Rank Correlation indicator

Ultra Spearman Rank Correlation indicator

Translated from Russian by MetaQuotes Software Corp.
Original code:

ColorStdDev ColorStdDev

Most visually convenient trend power indicator based on Standard Deviation.

JBrainTrend1 JBrainTrend1

Trend indicator of the popular BrainTrend1 trading system with preliminary price timeseries smoothing.


In this version of Chande Momentum Oscillator the smoothed price is used for the calculations.

OpenCL Test OpenCL Test

A small example of the Mandelbrot fractal calculation in OpenCL. The OpenCL accelerates calculations of fractal approximately up to 100 times in comparison with the CPU calculations.