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

RK-ml-RSI_EMA_mtf

rsi5-3ema_mtf, 1h (e-3).mq5

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

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор RK-ml-RSI_EMA_mtf — это пользовательский индикатор для MetaTrader 5, рассчитывающий значение RSI на выбранном старшем таймфрейме и применяющий к нему экспоненциальное скользящее среднее (EMA). Отображает четыре буфера в отдельном окне: значения RSI, сглаженную EMA и два трендовых сигнальных массива.

Индикатор определяет развороты тренда по пересечению значений RSI и рисует стрелки в отдельном окне. Поддерживает интерполяцию значений между барами при работе на старшем таймфрейме, а также систему уведомлений: звуковые, текстовые и email-оповещения при смене тренда.

Индикатор работает в мультитаймфреймном режиме, используя внутренние режимы расчёта и передачи данных между графиками. Автор продукта — Kalenzo.

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

НастройкаОписание
TimeFrame Таймфрейм — Старший таймфрейм, на котором рассчитывается RSI (например, H4, H1, D1)
RsiPeriod Период RSI — Период индикатора RSI
MaType Тип скользящей средней — Тип скользящей средней, используемой для сглаживания RSI (по умолчанию EMA)
MaPeriod Период скользящей средней — Период экспоненциального скользящего среднего, применяемого к значениям RSI
Interpolate Интерполяция — Включает или отключает интерполяцию значений RSI и EMA между барами при работе на старшем таймфрейме
pus1 Разделитель 1 — Разделитель группы настроек
arrowsIdentifier Идентификатор стрелок — Идентификатор объектов-стрелок на графике, используемый для их создания и удаления
arrowsUpColor Цвет стрелок восходящего тренда — Цвет стрелок, обозначающих восходящий тренд
arrowsDnColor Цвет стрелок нисходящего тренда — Цвет стрелок, обозначающих нисходящий тренд
pus2 Разделитель 2 — Разделитель группы настроек
alertsOn Уведомления включены — Включает или отключает всю систему уведомлений индикатора
alertsOnCurrent Отслеживание на текущем баре — Определяет, на каком баре отслеживать смену тренда для уведомлений
pus3 Разделитель 3 — Разделитель группы настроек
alertsSound Звуковые уведомления — Включает или отключает звуковые уведомления при смене тренда
up_sound Звук восходящего тренда — Имя звукового файла, воспроизводимого при восходящем тренде
down_sound Звук нисходящего тренда — Имя звукового файла, воспроизводимого при нисходящем тренде
pus4 Разделитель 4 — Разделитель группы настроек
alertsMessage Текстовые уведомления — Включает или отключает отображение текстовых предупреждений в виде всплывающих окон
arr_up Метка восходящего тренда — Текстовая метка, отображаемая в уведомлении при восходящем тренде
arr_down Метка нисходящего тренда — Текстовая метка, отображаемая в уведомлении при нисходящем тренде
pus5 Разделитель 5 — Разделитель группы настроек
alertsEmail Email-уведомления — Включает или отключает отправку email-уведомлений при смене тренда
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Orange
#property indicator_color3 Lime
#property indicator_color4 Red

#property indicator_width1 2
#property indicator_width2 0 
#property indicator_width3 0
#property indicator_width4 0

extern string TimeFrame        = "H4";
extern int    RsiPeriod        = 5;
extern int    MaType           = MODE_EMA;
extern int    MaPeriod         = 3;
extern bool   Interpolate      = true;

extern string pus1 = "";
extern string arrowsIdentifier = "RsiEmaArrows";
extern color  arrowsUpColor    = Aqua;
extern color  arrowsDnColor    = Red;

extern string pus2 = "";
extern bool   alertsOn          = true;
extern bool   alertsOnCurrent   = false;

extern string pus3 = "";
extern bool   alertsSound       = true;
extern string up_sound = "news";
extern string down_sound = "ok";

extern string pus4 = "";
extern bool   alertsMessage     = true;
extern string arr_up = "up";
extern string arr_down = "down";

extern string pus5 = "";
extern bool   alertsEmail       = false;

double rsi[],ema[],trend[],trend_d[];

string indicatorFileName;
bool   calculating   = false;
bool   returningBars = false;
int    timeFrame;

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

int deinit()
  {
      deleteArrows();

   return(0);
  }

int start()
{
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
   int i,limit;

   if(counted_bars < 0) return(-1);
   if(counted_bars>0) counted_bars--;
         limit = MathMin(Bars-counted_bars,Bars-1);
         if (returningBars)  { rsi[0] = limit+1; return(0); }
         if (timeFrame > Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));

     if (calculating)
     {
         for(i=0; i<limit; i++) rsi[i] = iRSI(NULL,0,RsiPeriod,PRICE_CLOSE,i);
         for(i=0; i<limit; i++) ema[i] = iMAOnArray(rsi,0,MaPeriod,0,MaType,i);
         return(0);
     }         
     for(i=limit; i>=0; i--)
     {
         int y = iBarShift(NULL,timeFrame,Time[i]);
            rsi[i]   = iCustom(NULL,timeFrame,indicatorFileName,"calculate",RsiPeriod,MaType,MaPeriod,0,y);
            ema[i]   = iCustom(NULL,timeFrame,indicatorFileName,"calculate",RsiPeriod,MaType,MaPeriod,1,y);

               trend[i] = trend[i+1];
               trend_d[i] = trend_d[i+1];

                  if (rsi[i]>rsi[i+1] && rsi[i+1]<rsi[i+2]) {trend[i]= 1;trend_d[i]=EMPTY_VALUE;}
                  if (rsi[i]<rsi[i+1] && rsi[i+1]>rsi[i+2]) {trend_d[i]=-1;trend[i]=EMPTY_VALUE;}

                  deleteArrow(Time[i]);

                  if (trend[i]!=trend[i+1])
                  {
                     if (trend[i] == 1) drawArrow(i,arrowsUpColor,233,false);
                     if (trend[i] ==-1) drawArrow(i,arrowsDnColor,234,true);
                  }

                  if (trend_d[i]!=trend_d[i+1])
                  {
                     if (trend_d[i] == 1) drawArrow(i,arrowsUpColor,233,false);
                     if (trend_d[i] ==-1) drawArrow(i,arrowsDnColor,234,true);
                  }

               if (timeFrame <= Period() || y==iBarShift(NULL,timeFrame,Time[i-1])) continue;
               if (!Interpolate) conti

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

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

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

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

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

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

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