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

Rsi zones

rsi_zones.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, который отображает зоны на графике на основе значений RSI. Индикатор рассчитывает RSI с заданными параметрами и выделяет области, где значение RSI выше верхнего уровня или ниже нижнего уровня, с помощью цветных прямоугольников. Также предусмотрены уведомления при смене зоны.

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

Настройки позволяют задать период RSI, цену для расчета, уровни, цвета для разных зон, уникальный идентификатор для объектов и параметры уведомлений. Индикатор не выполняет торговых операций и предназначен только для анализа и визуализации.

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

НастройкаОписание
TimeFrame Таймфрейм для расчета индикатора. Можно указать 'current time frame' для текущего таймфрейма или строковое обозначение (например, 'H1', 'M15').
RsiPeriod Период усреднения для расчета RSI.
RsiPrice Тип цены, используемый для расчета RSI (например, 0 - Close, 1 - Open и т.д.).
LevelUp Верхний уровень RSI, выше которого зона считается верхней.
LevelDown Нижний уровень RSI, ниже которого зона считается нижней.
UniqueID Уникальный идентификатор для имен графических объектов, создаваемых индикатором. Используется для удаления объектов при деинициализации.
ColorUp Цвет прямоугольника для зоны, где значение RSI выше верхнего уровня.
ColorDown Цвет прямоугольника для зоны, где значение RSI ниже нижнего уровня.
ColorNeutral Цвет прямоугольника для нейтральной зоны, где значение RSI находится между уровнями. Если установлено CLR_NONE, прямоугольник не отображается.
alertsOn Включает или отключает все уведомления о смене зоны.
alertsOnCurrent Если включено, уведомления проверяются на текущем (незавершенном) баре; иначе на предыдущем завершенном баре.
alertsMessage Если включено, при смене зоны выводится всплывающее сообщение.
alertsSound Если включено, при смене зоны воспроизводится звуковой сигнал.
alertsEmail Если включено, при смене зоны отправляется уведомление на email.
Dummy Служебный параметр, используемый для управления временем последнего расчета. При значении -1 не влияет на работу.
Получить полный код

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

#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          = Gold;
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% кода (символов: 3405)

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

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

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

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

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

Стоимость полного кода
340,50₽ ≈ $4.16