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

Waddah Attar RSI Level

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

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

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

О программе

Индикатор отображает на графике ценовые уровни, соответствующие значениям RSI (20, 30, 40, 50, 60, 70, 80), рассчитанные на выбранном таймфрейме. Для каждого уровня выполняется линейная интерполяция на основе текущих и предыдущих значений RSI и цен закрытия, после чего уровни отрисовываются горизонтальными линиями с текстовыми метками. Индикатор использует 8 буферов и работает в основном окне графика.

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

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

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

НастройкаОписание
RSIDayPeriod Период расчёта индикатора RSI, используемый в функциях iRSI для получения значений RSI на выбранном таймфрейме.
TimeFrame Таймфрейм, на котором выполняется расчёт значений RSI и цен закрытия для определения ценовых уровней. По умолчанию соответствует H4 (240).
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Gray        // RSI 50
#property indicator_color2 DarkGreen   // RSI 40
#property indicator_color3 Maroon      // RSI 60
#property indicator_color4 Green       // RSI 30
#property indicator_color5 Crimson     // RSI 70
#property indicator_color6 Lime        // RSI 20
#property indicator_color7 Red         // RSI 80

extern int RSIDayPeriod =  8;
extern int TimeFrame   = 240;

double P1Buffer[];   // RSI 50
double P2Buffer[];   // RSI 40
double P3Buffer[];   // RSI 60
double P4Buffer[];   // RSI 30
double P5Buffer[];   // RSI 70
double P6Buffer[];   // RSI 20
double P7Buffer[];   // RSI 80

int myPeriod = PERIOD_D1;

double L80, L70, L60, L50, L40, L30, L20;

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

int deinit()
  {
   ObjectDelete("rsi20" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi20" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("rsi30" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi30" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("rsi40" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi40" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("rsi50" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi50" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("rsi60" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi60" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("rsi70" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi70" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("rsi80" + DoubleToStr(RSIDayPeriod, 0));
   ObjectDelete("txtrsi80" + DoubleToStr(RSIDayPeriod, 0));

   Comment("");
   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   int i, dayi, counted_bars = IndicatorCounted();
   double rsi1, rsi2, c1, c2, drsi, dc;

   if(counted_bars < 0) 
       return(-1);

   if(counted_bars > 0) 
       counted_bars--;  
   int limit = Bars - counted_bars;

   for(i = limit - 1; i >= 0; i--)
     {
       dayi = iBarShift(Symbol(), TimeFrame, Time[i],true);
       if(dayi != -1)
         {
           rsi1 = iRSI(Symbol(), TimeFrame, RSIDayPeriod, PRICE_CLOSE, dayi + 1);
           rsi2 = iRSI(Symbol(), TimeFrame, RSIDayPeriod, PRICE_CLOSE, dayi + 2);

           c1 = iClose(Symbol(), TimeFrame, dayi + 1);
           c2 = iClose(Symbol(), TimeFrame, dayi + 2);

           drsi = rsi1 - rsi2;

           if(drsi == 0)
             {
               rsi2 = iRSI(Symbol()

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

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

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

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

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

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

Стоимость полного кода
502,70₽ ≈ $6.14