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

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

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

Встроена система уведомлений, поддерживающая несколько типов оповещений: всплывающие сообщения, звуковые сигналы, email-уведомления и push-уведомления. Оповещения срабатывают при изменении направления тренда индикатора.

Индикатор рисует три буфера: линию RSI и два буфера для отметок точек разворота тренда, с настраиваемыми уровнями перекупленности и перепроданности.

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

НастройкаОписание
TimeFrame Таймфрейм, на котором рассчитывается индикатор. Допускается указание мультитаймфрейма или специальных значений для режимов расчёта и возврата баров.
RsiPeriod Период расчёта индекса относительной силы (RSI).
NlmPeriod Период расчёта нелающего скользящего среднего, применяемого к значениям RSI для уменьшения задержки сигнала.
Price Тип цены, используемый для расчёта индикатора (0 — Close, 1 — Open, 2 — High, 3 — Low и т. д.).
PctFilter Фильтр в процентах от стандартного отклонения изменений RSI. При значении больше нуля сглаживает показатель, если текущее изменение меньше порогового значения.
alertsOn Включает или отключает систему оповещений индикатора.
alertsOnCurrent Определяет, на каком баре отслеживать изменение тренда: на текущем (true) или на предыдущем (false).
alertsMessage Включает всплывающие сообщения в терминале при срабатывании оповещений.
alertsSound Включает воспроизведение звукового сигнала при срабатывании оповещений.
alertsEmail Включает отправку email-уведомлений при срабатывании оповещений.
alertsNotify Включает отправку push-уведомлений при срабатывании оповещений.
levelOb Уровень перекупленности для линии RSI, отображается как горизонтальная линия на графике.
levelOs Уровень перепроданности для линии RSI, отображается как горизонтальная линия на графике.
Получить полный код

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

#property indicator_separate_window
#property indicator_minimum    0
#property indicator_maximum    100
#property indicator_buffers    3
#property indicator_color1     LimeGreen
#property indicator_color2     PaleVioletRed
#property indicator_color3     PaleVioletRed
#property indicator_width1     2
#property indicator_width2     2
#property indicator_width3     2
#property indicator_levelcolor DarkSlateGray

extern string TimeFrame       = "Current time frame";
extern int    RsiPeriod       = 21;
extern int    NlmPeriod       = 5;
extern int    Price           = 0;
extern double PctFilter       = 0;
extern bool   alertsOn        = false;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = false;
extern bool   alertsEmail     = false;
extern bool   alertsNotify    = false;
extern double levelOb         = 70;
extern double levelOs         = 30;

double rsi[];
double nlmDa[];
double nlmDb[];
double trend[];

string indicatorFileName;
bool   returnBars;
bool   calculateValue;
int    timeFrame;

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

int deinit()  {   return(0);  }

double work[][2];
#define _bchang 0
#define _achang 1

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

void manageAlerts()
{
   if (alertsOn)
   {
      if (alertsOnCurrent)
           int whichBar = 0;
      else     whichBar = 1;
      if (trend[whichBar] != trend[whichBar+1])
      {
         if (trend[whichBar] ==  1) doAlert(whichBar,"up");
         if (trend[whichBar] == -1) doAlert(whichBar,"down");
      }
   }
}

void doAlert(int forBar, string doWhat)
{
   static string   previousAlert="nothing";
   static datetime previousTime;
   string message;

   if (previousAlert != doWhat || previousTime != Time[forBar]) {
       previousAlert  = doWhat;
       previousTime   = Time[forBar];

       message =  timeFrameToString(Period())+" "+Symbol()+" at "+TimeToStr(TimeLocal(),TIME_SECONDS)+" NonLag Rsi trend changed to "+doWhat;
          if (alertsMessage) Alert(message);
          if (alertsNotify)  SendNotification(StringConcatenate(Symbol(), Period() ," NonLag R

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

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

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

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

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

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

Стоимость полного кода
714₽ ≈ $8.73