← К каталогу
Исходный код · ID 1650

cci - of rsi - super smoothed 1.1.mq5

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный индикатор для MetaTrader 5 рассчитывает индикатор CCI (Commodity Channel Index) на основе супер-сглаженного RSI. Сначала вычисляется стандартный RSI заданного периода, затем к его значениям применяется алгоритм супер-сглаживания, и на основе полученной сглаженной серии рассчитывается CCI.

Индикатор поддерживает три режима отображения: цветные линии, цветная гистограмма с линиями, а также простой бинарный гистограммный вид 0-1. Уровни перепроданности и перекупленности настраиваются и отображаются на графике как уровни индикатора.

Алгоритм сглаживания представляет собой рекурсивный фильтр второго порядка с коэффициентами, вычисляемыми на основе экспоненциальных и тригонометрических функций, что обеспечивает высокую степень сглаживания значений RSI. Цветовая схема для восходящих и нисходящих движений полностью настраивается пользователем.

Индикатор использует 5 отображаемых буферов и 7 внутренних буферов для расчёта и отрисовки. Расчёт выполняется на каждом тике с пересчётом всех баров от последнего к первому.

Настройки программы

НастройкаОписание
RSIPeriod Задаёт период расчёта индикатора RSI.
RSIPrice Определяет тип цены, используемой для расчёта RSI.
CCIPeriod Задаёт период расчёта индикатора CCI.
OverSold Устанавливает уровень перепроданности для отображения на графике.
OverBought Устанавливает уровень перекупленности для отображения на графике.
SmoothPeriod Задаёт период супер-сглаживания для значений RSI.
ColorUp Задаёт цвет отображения при восходящем движении.
ColorDown Задаёт цвет отображения при нисходящем движении.
DisplayAs Определяет способ отображения индикатора: линии, гистограмма с линиями или бинарный вид 0-1.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
#property strict

enum enDisplayType
{
   dis_lines, // Display as colored lines
   dis_histo, // Display as colored histogram with colored lines
   dis_binary // Display as colored simple 0-1 histogram
};
extern int                RSIPeriod    = 50;          // Rsi period
extern ENUM_APPLIED_PRICE RSIPrice     = PRICE_CLOSE; // Price
extern int                CCIPeriod    = 50;          // CCI period
extern double             OverSold     = -100;        // Oversold level
extern double             OverBought   =  100;        // Overbought level
extern double             SmoothPeriod = 5;            // Smoothing period
extern color              ColorUp      = clrLimeGreen; // Color up
extern color              ColorDown    = clrOrangeRed; // Color down
extern enDisplayType      DisplayAs    = dis_lines;    // Display as :

double cci[];
double ccida[];
double ccidb[],histbu[],histbd[];
double slope[],rsi[];

int init()
{
      // код доступен только после оплаты
   }

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit=MathMin(Bars,Bars-1);

   if (slope[limit]==-1) CleanPoint(limit,ccida,ccidb);
   for(int i=limit; i>=0; i--) rsi[i] = iSsm(iRSI(NULL,0,RSIPeriod,RSIPrice,i),SmoothPeriod,i);
   for(int i=limit; i>=0; i--)
   {
      cci[i]   = iCCIOnArray(rsi,0,CCIPeriod,i);
      ccida[i] = EMPTY_VALUE;
      ccidb[i] = EMPTY_VALUE;
      if (i<Bars-1) slope[i] = slope[i+1];
            if (DisplayAs==dis_lines)
            {
               if (i<Bars-1 && cci[i]<cci[i+1]) slope[i] = -1;
               if (i<Bars-1 && cci[i]>cci[i+1]) slope[i] =  1;
            }
            else
            {
               if (cci[i]<0) slope[i] = -1;
          

Показано первые 50% кода (символов: 4106)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
410,60₽ ≈ $5.02