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

!!rsi - nrp mtf + divergence + alerts.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 сглаженным методом и отображает его в отдельном окне графика. Поддерживает работу на различных таймфреймах, включая межтаймфреймовой режим, в котором данные старшего таймфрейма интерполируются на текущий график.

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

Предусмотрены уровни перекупленности и перепроданности с возможностью уведомлений при их пересечении. Система оповещений поддерживает всплывающие сообщения, звуковые сигналы, push-уведомления и электронную почту как для дивергенций, так и для общих событий индикатора.

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

НастройкаОписание
TimeFrame Таймфрейм, на котором работает индикатор. Возможна передача строки «calculateValue» или «returnBars» для специальных режимов работы.
RsiPeriod Период расчёта индикатора RSI.
Price Тип цены, используемый для расчёта значения RSI.
DivergearrowSize Размер стрелок-маркеров дивергенций на графике.
drawDivergences Включает или отключает отображение стрелок-маркеров дивергенций на графике.
ShowClassicalDivergence Отображение классических дивергенций (бычьих и медвежьих).
ShowHiddenDivergence Отображение скрытых дивергенций (бычьих и медвежьих).
drawIndicatorTrendLines Рисование линий тренда в окне индикатора для дивергенций.
drawPriceTrendLines Рисование линий тренда на графике цены для дивергенций.
divergenceBullishColor Цвет маркеров и линий бычьих дивергенций.
divergenceBearishColor Цвет маркеров и линий медвежьих дивергенций.
drawLinesIdentificator Идентификатор-префикс для имен объектов линий тренда на графике.
divergenceAlert Включает или отключает уведомления при обнаружении дивергенций.
divergenceAlertsMessage Всплывающие сообщения при обнаружении дивергенций.
divergenceAlertsSound Звуковой сигнал при обнаружении дивергенций.
divergenceAlertsEmail Отправка уведомлений на электронную почту при обнаружении дивергенций.
divergenceAlertsNotify Push-уведомления при обнаружении дивергенций.
divergenceAlertsSoundName Имя звукового файла для уведомлений о дивергенциях.
alertsOn Включает или отключает систему общих уведомлений индикатора.
alertsOnCurrent Определяет, на каком баре отслеживать событие: на текущем или на предыдущем.
alertsMessage Всплывающие сообщения при срабатывании общих событий индикатора.
alertsSound Звуковой сигнал при срабатывании общих событий индикатора.
alertsNotify Push-уведомления при срабатывании общих событий индикатора.
alertsEmail Отправка уведомлений на электронную почту при срабатывании общих событий индикатора.
soundFile Имя звукового файла для общих уведомлений индикатора.
Interpolate Включает или отключает интерполяцию значений RSI между барами старшего таймфрейма при межтаймфреймовой работе.
levelOb Уровень перекупленности для индикатора RSI.
levelOs Уровень перепроданности для индикатора RSI.
Получить полный код

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

#property indicator_separate_window
#property indicator_minimum    0
#property indicator_maximum    100
#property indicator_buffers    7
#property indicator_color1     Aqua
#property indicator_color2     Magenta
#property indicator_color3     SteelBlue
#property indicator_color4     LimeGreen
#property indicator_color5     LimeGreen
#property indicator_color6     Orange
#property indicator_color7     Orange
#property indicator_width3     2
#property indicator_width4     2
#property indicator_width5     2
#property indicator_width6     2
#property indicator_width7     2
#property indicator_levelcolor DarkSlateGray

extern string TimeFrame                 = "Current time frame";
extern int    RsiPeriod                 = 14;
extern int    Price                     = 0;
extern int    DivergearrowSize          = 0;
extern bool   drawDivergences           = true;
extern bool   ShowClassicalDivergence   = true;
extern bool   ShowHiddenDivergence      = true;
extern bool   drawIndicatorTrendLines   = true;
extern bool   drawPriceTrendLines       = true;
extern color  divergenceBullishColor    = Lime;
extern color  divergenceBearishColor    = Magenta;
extern string drawLinesIdentificator    = "rsidiverge1";
extern bool   divergenceAlert           = true;
extern bool   divergenceAlertsMessage   = true;
extern bool   divergenceAlertsSound     = true;
extern bool   divergenceAlertsEmail     = false;
extern bool   divergenceAlertsNotify    = false;
extern string divergenceAlertsSoundName = "alert1.wav";
extern bool   alertsOn                  = true;
extern bool   alertsOnCurrent           = false;
extern bool   alertsMessage             = true;
extern bool   alertsSound               = false;
extern bool   alertsNotify              = false;
extern bool   alertsEmail               = false;
extern string soundFile                 = "alert2.wav";
extern bool   Interpolate               = true;

extern double levelOb                   = 70;
extern double levelOs                   = 30;

double bullishDivergence[],bearishDivergence[],rsi[],valUa[],valUb[],valDa[],valDb[],valc[];
string indicatorName,labelNames,indicatorFileName;
bool   calculateValue,returnBars;
int    timeFrame;

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

int deinit()
{
   int length=StringLen(labelNames);
   for(int i=ObjectsTotal()-1; i>=0; i--)
   {
      string name = ObjectName(i);
      if(StringSubstr(name,0,length) == labelNames)  ObjectDelete(name);   
   }
   return(0);
}

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

double workRsi[][3];
#define _price  0
#define _change 1
#define _changa 2

double iRsi(double price, double period, int shift, int forz=0)
{
   if (ArrayRange(workRsi,0)!=Bars) ArrayResize(workRsi,Bars);
      int    z     = forz*3; 
      int    i     = Bars-shift-1;
      double alpha = 1.0/period; 

   workRsi[i][_price+z] = price;
   if (i<period)
      {
         int k; double sum = 0; for (k=0; k<period && (i-k-1)>=0; k++) sum += MathAbs(workRsi[i-k][_price+z]-workRsi[i-k-1][_price+z]);
            workRsi[i][_change+z] = (workRsi[i][_price+z]-workRsi[0][_price+z])/MathMax(k,1);
            workRsi[i][_changa+z] =                                         sum/MathMax(k,1);
      

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

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

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

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

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

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

Стоимость полного кода
1 385,10₽ ≈ $16.93