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

votes: 13
2011.10.20 15:57
2017.12.28 14:43
XCCX.mq5 (8.89 KB)view
XCCX_BB.mq5 (31.12 KB)view

This indicator is a modified variant of the Commodity Channel Index (CCI).

The main difference of this indicator from its standard equivalent is the possibility to change the smoothing algorithm by selecting an appropriate one out of ten algorithms present:

  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 Phase parameter has 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 period, for AMA it is a slow EMA period;
  • 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.

It is quite natural that some smoothing variants require some different interpretation of the indicator signals. Oversold/overbought levels are indicated in dynamically changing variant based on the Bollinger Bands ® to provide more accurate work with them.

The indicator uses SmoothAlgorithms.mqh library classes (must be placed 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".

XCCX_BB indicator

Translated from Russian by MetaQuotes Software Corp.
Original code:


Relative strength index with dynamically changing oversold/overbought levels and the possibility to select smoothing algorithm.

Stalin Stalin

Stalin is one of the so-called «signal» indicators, as it provides a trader with accurate market entry points.

DailyPivot Shift DailyPivot Shift

DailyPivot_Shift indicator differs from the common DailyPivot indicator, as the main levels can be calculated with day start shift.

ATR Channels ATR Channels

ATR Channels create price movement channels considering ATR (Average True Range).