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

MARSICD

marsicd_1.05.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор MARSICD — многопараметрический аналитический индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает два варианта RSI (ARSI и инвертированный RRSI), применяет к ним скользящие средние (AMA и RMA), вычисляет их разность (Delta) и сглаживает её третьей скользящей средней (sMAD). Результаты отображаются в виде гистограмм и линий с настраиваемыми уровнями.

Индикатор поддерживает работу с несколькими таймфреймами: он может считывать данные с более старших интервалов и отображать их на текущем графике. Доступны специальные режимы CalculateValue и returnBars, используемые для внутренних межиндикаторных вызовов. Опция интерполяции обеспечивает плавное заполнение значений между барами при мультитаймфреймовой работе.

Все ключевые параметры периодов и таймфрейма настраиваются пользователем. Диапазон отображаемых значений — от -70 до 70 с несколькими справочными уровнями.

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

НастройкаОписание
TimeFrame Временной интервал, с которого считываются данные. Принимает название таймфрейма (например, M1, H1, D1) или специальные значения CalculateValue и returnBars.
ARSI_PERIOD Период расчёта первого индикатора RSI (ARSI).
RRSI_PERIOD Период расчёта инвертированного индикатора RSI (RRSI).
AMA_PERIOD Период скользящей средней для сглаживания значения ARSI.
RMA_PERIOD Период скользящей средней для сглаживания значения RRSI.
sMAD_PERIOD Период скользящей средней для сглаживания разности AMA и RMA (Delta).
Interpolate Включает или отключает интерполяцию значений между барами при мультитаймфреймовой работе.
Получить полный код

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

#property indicator_separate_window
#property indicator_minimum -70
#property indicator_maximum 70
#property indicator_level1 -30
#property indicator_level2 -70
#property indicator_level3 -50
#property indicator_level4  30
#property indicator_level5  70
#property indicator_level6  50
#property indicator_buffers 7
#property indicator_color3 Green
#property indicator_color4 Maroon
#property indicator_color1 LimeGreen
#property indicator_color2 PaleVioletRed
#property indicator_color5 MediumSeaGreen
#property indicator_color6 Red
#property indicator_color7 Salmon
#property indicator_width5 2
#property indicator_width6 2
#property indicator_style7 STYLE_DOT

extern string TimeFrame = "Current time frame";
extern int ARSI_PERIOD=14;
extern int RRSI_PERIOD=14;
extern int AMA_PERIOD=5;
extern int RMA_PERIOD=5;
extern int sMAD_PERIOD=21;
extern bool Interpolate = true;
bool ShiftDown = true;

double ARSI_BUF[];
double RRSI_BUF[];
double AMA_BUF[];
double RMA_BUF[];
double DeltaUp[];
double DeltaDn[];
double Delta[];
double sMAD[];

string indicatorFileName;
bool   calculateValue;
bool   returnBars;
int    timeFrame;

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

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

   if (calculateValue || timeFrame==Period())
   {
      for(int i=limit; i>=0; i--) 
        {
         ARSI_BUF[i]=iRSI(NULL,0,ARSI_PERIOD,6,i);
         RRSI_BUF[i]=100.0-iRSI(NULL,0,RRSI_PERIOD,6,i);
         if (ShiftDown)
         {
            ARSI_BUF[i] -= 50;
            RRSI_BUF[i] -= 50;
         }
      }
      for(i=limit; i>=0; i--) 
      {
         AMA_BUF[i]=iMAOnArray(ARSI_BUF,Bars,AMA_PERIOD,0,MODE_LWMA,i);
         RMA_BUF[i]=iMAOnArray(RRSI_BUF,Bars,RMA_PERIOD,0,MODE_LWMA,i);
         Delta[i]=AMA_BUF[i]-RMA_BUF[i];
         DeltaUp[i] = EMPTY_VALUE;
         DeltaDn[i] = EMPTY_VALUE;
            if (Delta[i]>0) DeltaUp[i] = Delta[i];
            if (Delta[i]<0) DeltaDn[i] = Delta[i];
      }
      for(i=limit; i>=0; i--) sMAD[i]=iMAOnArray(Delta,Bars,sMAD_PERIOD,0,MODE_LWMA,i);
      return(0);
   }

   lim

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

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

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

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

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

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

Стоимость полного кода
516,90₽ ≈ $6.32