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

trendline_fast

trendalt_alert.mq5
Вы автор или правообладатель?

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

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

О программе

trendalt_alert.mq5 — индикатор для MetaTrader 5, отображающий три линии в отдельном окне. Основная линия рассчитывается на основе максимумов и минимумов за заданное число баров с применением сглаживающей формулы и логит-преобразования. Две дополнительные линии отображают значения при восходящем и нисходящем тренде соответственно.

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

Расчёт выполняется в функции start() для каждого нового бара. Параметр BarsCount определяет глубину анализа, а параметр Notealerts задаёт заголовок блока настроек уведомлений. Звуковой файл по умолчанию — alert.wave.

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

НастройкаОписание
Notealerts Текстовый параметр, задающий заголовок блока настроек уведомлений в окне свойств индикатора.
MsgAlerts Переключатель, управляющий отправкой всплывающих уведомлений-алертов на график при смене тренда.
SoundAlerts Переключатель, управляющий воспроизведением звукового сигнала при смене направления тренда.
SoundAlertFile Текстовый параметр, указывающий путь к звуковому файлу, воспроизводимому при срабатывании звукового уведомления.
eMailAlerts Переключатель, управляющий отправкой email-сообщений на адрес, указанный в настройках терминала, при смене тренда.
BarsCount Целочисленный параметр, задающий количество баров, используемых для определения максимума и минимума при расчёте индикатора.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 DodgerBlue
#property indicator_color3 Red
#property indicator_width2 2
#property indicator_width3 2

extern string Notealerts="-----Alert Settings-----";
extern bool MsgAlerts=true;
extern bool SoundAlerts=true;
extern string SoundAlertFile="alert.wave";
extern bool eMailAlerts=false;

int LastAlertBar; //Alert code

extern int BarsCount = 14;
double g_ibuf_80[];
double g_ibuf_84[];
double g_ibuf_88[];

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

int start() {
      // код доступен только после оплаты
   }
   double ld_8;
   double ld_16;
   double ld_80;
   int li_4 = IndicatorCounted();
   double ld_32 = 0;
   double ld_40 = 0;
   double ld_unused_48 = 0;
   double ld_unused_56 = 0;
   double ld_64 = 0;
   double ld_unused_72 = 0;
   double l_low_88 = 0;
   double l_high_96 = 0;
   if (li_4 > 0) li_4--;
   int li_0 = Bars - li_4;
   for (int li_104 = 0; li_104 < li_0; li_104++) {
      l_high_96 = High[iHighest(NULL, 0, MODE_HIGH, BarsCount, li_104)];
      l_low_88 = Low[iLowest(NULL, 0, MODE_LOW, BarsCount, li_104)];
      ld_80 = (High[li_104] + Low[li_104]) / 2.0;
      ld_32 = 0.66 * ((ld_80 - l_low_88) / (l_high_96 - l_low_88) - 0.5) + 0.67 * ld_40;
      ld_32 = MathMin(MathMax(ld_32, -0.999), 0.999);
      g_ibuf_80[li_104] = MathLog((ld_32 + 1.0) / (1 - ld_32)) / 2.0 + ld_64 / 2.0;
      ld_40 = ld_32;
      ld_64 = g_ibuf_80[li_104];
   }
   bool li_108 = TRUE;
   for (li_104 = li_0 - 2; li_104 >= 0

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

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

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

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

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

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

Стоимость полного кода
265,20₽ ≈ $3.24