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

RSI Unlimited

rsi unlimited.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 4, рассчитывающий модифицированный индекс на основе RSI и отображающий его в отдельном окне. Использует три буфера: основной расчётный и два для зон перекупленности и перепроданности. Визуально обозначает точки пересечения уровней стрелками и поддерживает оповещения через всплывающие сообщения, звук и email.

Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 Red
#property indicator_color3 Lime
#define SignalName "RSI Unlimited "

extern int  RSI.Price       = PRICE_CLOSE;
extern int  RSI.SlowLength  = 14;
extern int  RSI.FastLength  =  3;
extern int  Momentum.Length =  9;
extern double mOverbought   = 80.0000,
              mOversold     = 20.0000;
extern bool      showArrows         = true,
                 alertsOn           = true,
                 alertsMessage      = true,
                 alertsSound        = false,
                 alertsEmail        = false;
double   CIIBuffer[], Upper[], Lower[], working[][3];
int      maxArrows, SignalGap, prevBar;
string   prevSignal;

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

int deinit()
 {
  string mObj;
  for(int i = ObjectsTotal() - 1; i >= 0; i--)
   {
     mObj = ObjectName(i);
     if(StringSubstr(mObj, 0, 12) == "RSI Unlimited")
       ObjectDelete(mObj);
   }

   return(0);
 }

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

   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
         limit = Bars-counted_bars;
         if (ArrayRange(working,0) != Bars) ArrayResize(working,Bars);

   for(i=limit, r=Bars-i-1; i >= 0; i--,r++)
   {
      working[r][0] = iRSI(NULL, 0, RSI.SlowLength, RSI.Price, i);
      working[r][1] = iRSI(NULL, 0, RSI.FastLength, RSI.Price, i);

         double RSIDelta = working[r][0]-working[r-Momentum.Length][0];
         double RSIsma   = iSma(1,3,r);

      working[r][2] = RSIDelta + RSIsma;

      CIIBuffer[i] = working[r][2];
   }

   for(i=limit; i>=0; i--)
     {
      if(CIIBuffer[i] > mOverbought)
       {
         Upper[i] = CIIBuffer[i]; 
         Upper[i+1] = CIIBuffer[i+1];
       }
      else                          
       {  
         Upper[i] = EMPTY_VALUE;
         if (Upper[i+2] == EMPTY_VALUE)
           Upper[i+1]  = EMPTY_VALUE;
       }
      if(CIIBuffer[i] < mOversold) 
        { 
         Lower[i] = CIIBuffer[i]; 
         Lower[i+1] = CIIBuffer[i+1]; 
        }
       else                          
         { 
          Lower[i] = EMPTY_VALUE;
          if(Lower[i+2] == EMPTY_VALUE)
            Lower[i+1]  = EMPTY_VALUE; 
         }
      }

   DeleteArrows();
   if(sho

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

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

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

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

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

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

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