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

x10-rsi #2.mq4

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

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

Продукт создаёт на графике информационные метки с текущим значением RSI, спредом, ценой Bid и названием инструмента. При достижении RSI заданных уровней перекупленности или перепроданности возможна отрисовка стрелок-меток на графике.

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

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

НастройкаОписание
RSIPeriod Период RSI — Период расчёта индикатора RSI.
PriceType Тип цены — Тип цены для расчёта RSI (0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted).
timeFrame Таймфрейм — Таймфрейм для расчёта индикатора (например, M1, M5, H1, D1 и т. д.).
overBought Уровень перекупленности — Пороговое значение RSI, выше которого индикатор считается перекупленным.
overSold Уровень перепроданности — Пороговое значение RSI, ниже которого индикатор считается перепроданным.
showArrows Отображать стрелки — Включает отрисовку стрелок-меток на графике при пересечении пороговых уровней RSI.
alertsOn Уведомления включены — Общий переключатель включения всех уведомлений о пересечении уровней RSI.
alertsMessage Всплывающие уведомления — Включает всплывающие сообщения при пересечении пороговых уровней RSI.
alertsSound Звуковые уведомления — Включает звуковые уведомления при пересечении пороговых уровней RSI.
alertsEmail Email-уведомления — Включает отправку email-уведомлений при пересечении пороговых уровней RSI.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers   3
#property indicator_color1 DimGray
#property indicator_color2 Aqua
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 3
#property indicator_width3 3

#property indicator_level1 60
#property indicator_level2 55
#property indicator_level3 45
#property indicator_level4 40
#property indicator_level5 70
#property indicator_level6 30
#property indicator_levelstyle 0
#property indicator_levelcolor DimGray

extern int       RSIPeriod     =  14;
extern int       PriceType     =   0;
extern string    timeFrame     =  "Current time frame";
extern int       overBought    =  55;
extern int       overSold      =  45;
extern bool      showArrows    = false;
extern bool      alertsOn      = true;
extern bool      alertsMessage = true;
extern bool      alertsSound   = false;
extern bool      alertsEmail   = false;

double   RSIBuffer[];
double   Upper[];
double   Lower[];

int      TimeFrame;
datetime TimeArray[];
int      maxArrows;

bool     show.extra.digit  =  false;  
double      DecNos;

double buffer.name, XARD;

color       color3            = White;
int         FontSize          =  11;
string      FontType          =  "Arial Black";
double      myPoint;
double      SetPoint() 

   { 
   double mPoint; 

   if (Digits < 4) 
   mPoint = 0.01; 
   else 
   mPoint = 0.0001; 

   return(mPoint); 
   }

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

int deinit()
{
   DeleteArrows();

   ObjectDelete(buffer.name+"Panel01");
  ObjectDelete(buffer.name+"Panel02");
  ObjectDelete("RSI14");
  ObjectDelete("Spread");
  ObjectDelete("x2");
  ObjectDelete("x2b");

   return(0);
}

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

  RefreshRates();

  if(show.extra.digit){int digit=1;int digitshift=-3;int digitshift1=-5;int digitshift2=3;int fontsize=4;int sprd=1;}
   else{ digitshift=0;digitshift1=0;digitshift2=0;fontsize=0;sprd=0;}

   if (StringFind (Symbol(), "JPY", 0) != -1){ DecNos = 2+digit;}
   else if(Symbol()=="XAUUSD" || Symbol()=="XAUUSDm"){ DecNos = 1+digit; }
   else if(Symbol()=="XAGUSD" || Symbol()=="XAGUSDm"){ DecNos = 2+digit; }
   else { DecNos = 4+digit; } 

   CreateFX3_Labels(buffer.name+"Panel01", 6, 1, "gg", 28, "Webdings", Gray);
   CreateFX3_Labels(buffer.name+"Panel02", 6,30, "gg", 28, "Webdings", Gray);

   double RSI14=iRSI(NULL,0,14,PRICE_CLOSE,0);
   CreateXX3_Labels( "RSI14",15,21);
   ObjectSetText("RSI14", "RSI: "+DoubleToStr(RSI14,0), FontSize, FontType, Black);

   double spread = (Ask-Bid)/myPoint;
   CreateXX3_Labels("Spread",11,7); 
   ObjectSetText("Spread", "SPD: "+DoubleToStr(spread,1), FontSize-1, FontType, Black);

   CreateXX3_Labels("x2", 10,34);
   ObjectSetText("x2",DoubleToStr(Bid,DecNos) , 14, "Arial Black", White);

   CreateXX3_Labels("x2b", 9,53);
   ObjectSetText("x2b",Symbol() , 12, "Arial Bold", Black);

   int    counted_bars=IndicatorCounted();
   int    limit;
   int    i,y;

   if(counted_bars<0) return(-1);
   limit=Bars-counted_bars;
         ArrayCopySeries(TimeArray ,MODE_TIME ,NULL,TimeFrame);

   for(i=0,y=0; i<limit; i++)
      {
            if(Time[i]<TimeArray[y]) y++;
               RSIBuffer[i] = iRSI(NULL,TimeFrame,RSIPeriod,PriceType,y);
      }

   for(i=limit; i>=0; i--)
      {
            if (RSIBuffer[i] > overBought) { Upper[i] = RSIBuffer[i]; Upper[i+1] = RSIBuffer[i+1]; }
            else                           { Upper[i] = EMPTY_VALUE;
                                           if (Upper[i+2] == EMPTY_VALUE)
                                               Upper[i+1]  = EMPTY_VALUE; }
            if (RSIBuffer[i] < overSold)   { Lower[i] = RSIBuffer[i]; Lower[i+1] = RSIBuffer[i+1]; }
            else                           { Lower[i] = EMPTY_VALUE;
                                           if (Lower[i+2] == EMPTY_VALUE)
                                               Lower[i+1]  = EMPTY_VALUE; }
      }

   if (showArrows)
      for (i=0; i<WindowBarsPerChart() ;i++)
         {
            if (RSIBuffer[i]>overBought && RSIBuffer[i+1]<overBought) DrawArrow(i,"UP");
       

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

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

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

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

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

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

Стоимость полного кода
660,40₽ ≈ $8.07