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

Smoothed RSI

super_smoothed_rsi.mq5

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

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный индикатор предназначен для платформы MetaTrader 5 и рассчитывает аналитический показатель RSI (Relative Strength Index) с возможностью дополнительного сглаживания. Он отображает значения RSI в отдельном окне графика, окрашивая линию в зависимости от текущего тренда: зелёный цвет при восходящем тренде (RSI выше верхнего уровня) и оранжевый — при нисходящем (RSI ниже нижнего уровня).

Индикатор поддерживает выбор различных типов цен (Close, Open, High, Low и др.) и позволяет настраивать период RSI, пороговые уровни и длину сглаживания. Сглаживание применяется к ценовому ряду перед расчётом RSI с использованием пользовательского алгоритма, активируемого при значении параметра сглаживания больше единицы.

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

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

НастройкаОписание
Length Период расчёта индикатора RSI — количество баров, используемых для вычисления. Значение по умолчанию: 14.
Price Тип ценовых данных, используемых для расчёта. Поддерживаются: Close (0), Open (1), High (2), Low (3), Median (4), Typical (5), Weighted (6). По умолчанию: Close.
LevelUp Пороговое значение RSI, выше которого индикатор определяет восходящий тренд. Значение по умолчанию: 70.
LevelDown Пороговое значение RSI, ниже которого индикатор определяет нисходящий тренд. Значение по умолчанию: 30.
SmoothLength Параметр сглаживания ценового ряда перед расчётом RSI. Если значение больше 1, применяется дополнительное сглаживание. По умолчанию: 10.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers  5
#property indicator_color1   Gray
#property indicator_color2   LimeGreen
#property indicator_color3   LimeGreen
#property indicator_color4   Orange
#property indicator_color5   Orange
#property indicator_width2   3
#property indicator_width3   3
#property indicator_width4   3
#property indicator_width5   3
#property indicator_minimum  0
#property indicator_maximum  100

extern int    Length            = 14;
extern int    Price             = PRICE_CLOSE;
extern double LevelUp           = 70;
extern double LevelDown         = 30;
extern double SmoothLength      = 10;

double rsi[];
double rsiUa[];
double rsiUb[];
double rsiDa[];
double rsiDb[];
double prc[];
double trend[];

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

int deinit()
{
   return(0);
}

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

      if (trend[limit]== 1) CleanPoint(limit,rsiUa,rsiUb);
      if (trend[limit]==-1) CleanPoint(limit,rsiDa,rsiDb);
      for(int i=limit; i >= 0; i--)
      {
         double price = iMA(NULL,0,1,0,MODE_SMA,Price,i);
            if (SmoothLength>1)
                  price  = iSsm(price,SmoothLength,i);
                  prc[i] = price;
         if (i>=Bars-Length) continue;

         double cu = 0;
         double cd = 0;
         for (int k=0; k<Length; k++)
            {
               double diff = prc[i+k]-prc[i+k+1];
                  if (diff > 0)
                        cu += diff;
                  else  cd -= diff;
            }
         if ((cu+cd)!=0)
          

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

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

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

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

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

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

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