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

rsi_zones__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, написанный на языке MQL5. Основная функция индикатора — расчёт показателя RSI (Relative Strength Index) с заданным периодом и типом цены, а также визуальное отображение зон на графике при пересечении настраиваемых верхнего и нижнего уровней.

Индикатор рисует прямоугольники на графике, окрашенные в зависимости от того, выше ли значение RSI верхнего уровня (зона роста), ниже нижнего уровня (зона падения) или находится в нейтральной области. Поддерживается работа на различных таймфреймах, включая перекрёстную временную шкалу.

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

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

НастройкаОписание
TimeFrame Таймфрейм, на котором работает индикатор. Может принимать текстовое обозначение (например, M1, H1, D1) или значение текущего таймфрейма.
RsiPeriod Период расчёта индикатора RSI, задаваемый целым числом.
RsiPrice Тип цены, используемый для расчёта RSI, задаваемый целочисленным значением.
LevelUp Верхний уровень RSI. При значении индикатора выше этого уровня зона окрашивается в цвет зоны роста.
LevelDown Нижний уровень RSI. При значении индикатора ниже этого уровня зона окрашивается в цвет зоны падения.
UniqueID Уникальный идентификатор, используемый для именования графических объектов, создаваемых индикатором на графике.
ColorUp Цвет прямоугольника, отображающего зону, в которой значение RSI выше верхнего уровня (зона роста).
ColorDown Цвет прямоугольника, отображающего зону, в которой значение RSI ниже нижнего уровня (зона падения).
ColorNeutral Цвет прямоугольника, отображающего нейтральную зону, в которой значение RSI находится между верхним и нижним уровнями.
alertsOn Главный переключатель, включающий или отключающий всю систему уведомлений индикатора.
alertsOnCurrent Переключатель, определяющий, на каком баре проверять смену состояния RSI: на текущем баре (true) или на предыдущем (false).
alertsMessage Переключатель для отображения текстовых предупреждений (алертов) на графике при смене состояния RSI.
alertsSound Переключатель для воспроизведения звукового сигнала при смене состояния RSI.
alertsEmail Переключатель для отправки уведомлений по электронной почте при смене состояния RSI.
Dummy Вспомогательное числовое значение, используемое для управления временной меткой при построении прямоугольников на графике.
Получить полный код

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

#property indicator_chart_window

extern string TimeFrame        = "current time frame";
extern int    RsiPeriod        = 14;
extern int    RsiPrice         = 0;
extern double LevelUp          = 65;
extern double LevelDown        = 32;
extern string UniqueID         = "Rsi zones";
extern color  ColorUp          = Green;
extern color  ColorDown        = Orange;
extern color  ColorNeutral     = CLR_NONE;
extern bool   alertsOn         = false;
extern bool   alertsOnCurrent  = true;
extern bool   alertsMessage    = true;
extern bool   alertsSound      = false;
extern bool   alertsEmail      = false;
extern double Dummy            = -1;

double colors[];

int    timeFrame;
string indicatorFileName;

int init()
{
      // код доступен только после оплаты
   }
int deinit()
{
   string lookFor       = UniqueID+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i);
         if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
   return(0);
}

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

         datetime tDummy = Dummy;
         if (timeFrame!=Period()) 
         { 
            iCustom(NULL,timeFrame,indicatorFileName,"",RsiPeriod,RsiPrice,LevelUp,LevelDown,UniqueID,ColorUp,ColorDown,ColorNeutral,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,Time[0],0,0); 
            return(0); 
         }
         else if (Dummy<=Time[0]) tDummy = Time[0];
         static bool secondTime=false;
         if (secondTime)
         {
            int count=0;
            for (;limit<Bars; limit++) if (colors[limit]!=colors[limit+1]) { count++; if (count>1) break; }
         }
         else secondTime=true;

      double MaxValue = High[0]*10.0;   
      for(i = limit; i>=0 ; i--)
      {
         if (i>Bars-2) continue;

         double value = iRSI(NULL,0,RsiPeriod,RsiPrice,i);
         colors[i]  = 0;

               if (value>LevelUp)   colors[i] =  1;
               if (value<LevelDown) colors[i] = -1;
      

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

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

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

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

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

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

Стоимость полного кода
339,20₽ ≈ $4.15