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

magic dots

magic dots 2.02 mtf alerts.mq5
Вы автор или правообладатель?

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

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

О программе

Индикатор «magic dots» отображает на графике скользящую среднюю и формирует стрелочные сигналы при пересечении тренда. Расчёт выполняется на основе экспоненциальной скользящей средней (EMA) с настраиваемым периодом и применяемой ценой. Сигналы размещаются в виде стрелок выше и ниже ценового графика с заданным смещением.

Индикатор поддерживает работу на нескольких таймфреймах: при выборе таймфрейма, отличного от текущего, данные запрашиваются через вызов самого себя на старшем ТФ. Встроена система уведомлений с настраиваемыми типами — всплывающие сообщения, push-уведомления, звуковые сигналы и email-рассылка. Уведомления срабатывают при появлении новых сигналов buy/sell.

В качестве дополнительного фильтра для размещения стрелок используется значение ATR(20), которое задаёт дистанцию от цены High или Low. Индикатор использует 4 буфера: два для отрисовки линий скользящей средней и два для отображения стрелочных сигналов продажи и покупки.

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

НастройкаОписание
TimeFrame Таймфрейм для расчёта индикатора. Если значение меньше текущего таймфрейма графика, используется таймфрейм графика. Значение 0 означает текущий таймфрейм.
ma_method Метод расчёта скользящей средней (MODE_EMA, SMA, SMMA, LWMA). По умолчанию — экспоненциальная (EMA).
period Период расчёта скользящей средней в барах. По умолчанию — 6.
shift Сдвиг скользящей средней в барах относительно текущего. По умолчанию — 0.
applied_price Тип цены, используемой для расчёта скользящей средней (PRICE_CLOSE, PRICE_OPEN, PRICE_HIGH, PRICE_LOW и др.).
alertsOn Главный переключатель системы уведомлений. При отключении все типы уведомлений не срабатывают.
alertsOnCurrent Определяет, на каком баре проверять наличие сигналов: на текущем (0) или на предыдущем закрытом (1).
alertsMessage Включает или отключает всплывающие сообщения на графике при появлении сигналов.
alertsPushNotif Включает или отключает push-уведомления на мобильных устройствах при появлении сигналов.
alertsSound Включает или отключает звуковой сигнал при появлении сигналов. Используется звуковой файл alert2.wav.
alertsEmail Включает или отключает отправку email-уведомлений при появлении сигналов.
Displace Величина смещения стрелочных сигналов от цены High/Low, рассчитываемая как множитель ATR(20).
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Blue

double buf1[];
double buf2[];
double buf3[];
double buf_sell_signal[];
double buf_buyl_signal[];
extern int TimeFrame=0;
extern int ma_method = MODE_EMA;
extern int period= 6;
extern int shift = 0;
extern int applied_price= PRICE_CLOSE;
extern bool   alertsOn          = false;
extern bool   alertsOnCurrent   = false;
extern bool   alertsMessage     = true;
extern bool   alertsPushNotif   = false;
extern bool   alertsSound       = false;
extern bool   alertsEmail       = false;
extern double Displace          = 0.75;
double var_112;

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

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

   if (TimeFrame!=Period())
   {
      for (int i = Bars - 10; i >= 0; i--)
      {
         int y = iBarShift(NULL,TimeFrame,Time[i]);
         int x = iBarShift(NULL,TimeFrame,Time[i+1]);
            if (x!=y)
            {
               buf_sell_signal[i] = iCustom(NULL,TimeFrame,fileName,0,ma_method,period,shift,applied_price,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,Displace,2,y);
               buf_buyl_signal[i] = iCustom(NULL,TimeFrame,fileName,0,ma_method,period,shift,applied_price,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,Displace,3,y);
            }
            else
            {
               buf_sell_signal[i] = EMPTY_VALUE;
               buf_buyl_signal[i] = EMPTY_VALUE;
            }
      }
      return(0);
   }
   for (i = Bars - 10; i >= 0; i--) buf3[i] = iMA(NULL, 0, period, shift, ma_method, applied_price, i);
   if (buf3[0] > buf3[1]) {
      buf1[0] = EMPTY_VALUE;
      buf2[0] = buf3[0];
   } else {
      if (buf3[0] <

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

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

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

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

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

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

Стоимость полного кода
357,40₽ ≈ $4.37