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

laguerre_rsi_variation_2_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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор рассчитывает вариацию Laguerre RSI: применяет сглаживание Лагера к выбранной цене через четыре уровня (L0–L3), затем суммирует приросты и потери за заданный период для формирования нормализованного значения в диапазоне 0–1. Результат может дополнительно сглаживаться взвешенной формой. Выводятся три буфера: основная линия индикатора и два буфера для отрисовки точек при изменении наклона.

Встроенная система уведомлений срабатывает при смене направления наклона индикатора (с роста на падение или наоборот). Алерты могут отправляться через текстовые окна, звуковые файлы, push-уведомления или электронную почту. Доступна настройка срабатывания на текущем или предыдущем баре, а также выбор звукового файла.

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

НастройкаОписание
LaguerreGamma Коэффициент сглаживания Лагера, определяющий скорость реакции индикатора на изменение цен.
LaguerrePrice Тип цены, используемый для расчёта: Close, Open, High, Low, Median, Typical или Weighted.
RSIDataLevel Уровень данных Лагера (0, 1 или 2), определяющий, какую разницу между уровнями использовать для расчёта.
RSIPeriod Количество баров, используемых для суммирования приростов и потерь при расчёте индикатора.
Smooth Включает или отключает дополнительное сглаживание выходного значения индикатора.
alertsOn Включает или отключает все типы уведомлений индикатора.
alertsOnCurrent Определяет, генерировать ли алерт на текущем незакрытом баре или на предыдущем закрытом баре.
alertsMessage Отображает текстовое окно с уведомлением при срабатывании события.
alertsSound Воспроизводит звуковой файл при срабатывании уведомления.
alertsNotify Отправляет push-уведомление на мобильное устройство MetaTrader при срабатывании события.
alertsEmail Разрешает отправку электронного письма при срабатывании уведомления.
soundFile Путь к звуковому файлу, который воспроизводится при включённых звуковых уведомлениях.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1  LimeGreen
#property indicator_color2  Orange
#property indicator_color3  Orange
#property indicator_width1  2
#property indicator_width2  2
#property indicator_width3  2

enum prices
{
   pr_close,   // Close
   pr_open,    // Open
   pr_high,    // High
   pr_low,     // Low
   pr_median,  // Median
   pr_typical, // Typical
   pr_weighted // Weighted
};

extern double LaguerreGamma   = 0.7;
extern prices LaguerrePrice   = pr_close; 
extern int    RSIDataLevel    = 0;
extern int    RSIPeriod       = 8;
extern bool   Smooth          = true;
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";

double RSI[];
double RSIda[];
double RSIdb[];
double L0[];
double L1[];
double L2[];
double L3[];
double LR[];
double slope[];

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

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

   if (counted_bars<0) return(-1);
   if (counted_bars>0) counted_bars--;
          limit = MathMin(Bars-counted_bars,Bars-1);

   if (slope[limit] == -1) ClearPoint(limit,RSIda,RSIdb);
   for (i=limit; i>=0; i--)
   {
		double Price=iMA(NULL,0,1,0,MODE_SMA,(int)LaguerrePrice,i);

		L0[i] = (1.0 - LaguerreGamma)*Price + LaguerreGamma*L0[i+1];
		L1[i] = -LaguerreGamma*L0[i] + L0[i+1] + LaguerreGamma*L1[i+1];
		L2[i] = -LaguerreGamma*L1[i] + L1[i+1] + LaguerreGamma*L2[i+1];
		L3[i] = -LaguerreGamma*L2[i] + L2[i+1] + LaguerreGamma*L3[i+1];

         double cu = 0;
         double cd = 0;
         for (int k=0; k<RSIPeriod; k++)
            {
               double diff;
               switch (RSIDataLevel) 
 

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

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

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

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

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

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

Стоимость полного кода
351,80₽ ≈ $4.30