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

! 3ls (mtf + alerts)-rev01.mq4

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

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

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

О программе

Индикатор для MetaTrader 4, отображающий на графике стрелки, указывающие на паттерн «трёхлинейного пробоя» (3 Line Strike). Поддерживает мультитаймфрейм-анализ: паттерн определяется на указанном таймфрейме и отрисовывается на текущем. Индикатор рисует зелёные стрелки для бычьего пробоя и красные — для медвежьего. Имеет систему оповещений: всплывающие сообщения, push-уведомления, электронную почту и звуковые сигналы.

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

НастройкаОписание
Time frame to use (inpTimeFrame) Таймфрейм — Выбирает таймфрейм для расчёта паттернов: текущий, конкретный интервал или один из трёх более старших таймфреймов.
Show Bearish 3 Line Strike (showBear3LS) Показать медвежий 3LS — Включает отрисовку стрелок для медвежьего паттерна трёхлинейного пробоя.
Show Bullish 3 Line Strike (showBull3LS) Показать бычий 3LS — Включает отрисовку стрелок для бычьего паттерна трёхлинейного пробоя.
Arrow gap (ArrowsGap) Зазор стрелок — Множитель расстояния между ценой свечи и размещённой стрелкой.
Arrow on first mtf bar (ArrowsOnFirst) Стрелка на первом баре МТФ — Определяет, с какого бара мультитаймфрейма привязывается стрелка: с первого или с предыдущего.
alertsOn Оповещения включены — Общий переключатель системы оповещений.
alertsOnCurrent Оповещения на текущем баре — Если включено, оповещение срабатывает на текущем баре; если выключено — на предыдущем.
alertsMessage Сообщение — Включает всплывающее оповещение в терминале.
alertsSound Звук — Включает воспроизведение звукового файла при срабатывании оповещения.
alertsEmail Email — Включает отправку электронного письма при срабатывании оповещения.
alertsNotify Push-уведомление — Включает отправку push-уведомления на мобильное устройство при срабатывании оповещения.
Получить полный код

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

#property version   "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers 2
#property indicator_type1   DRAW_ARROW
#property indicator_width1  0
#property indicator_color1  clrDarkSeaGreen
#property indicator_type2   DRAW_ARROW
#property indicator_width2  0
#property indicator_color2  clrTomato

enum enTimeFrames
{
         tf_cu  = 0,                                            // Current time frame
         tf_m1  = PERIOD_M1,                                    // 1 minute
         tf_m5  = PERIOD_M5,                                    // 5 minutes
         tf_m15 = PERIOD_M15,                                   // 15 minutes
         tf_m30 = PERIOD_M30,                                   // 30 minutes
         tf_h1  = PERIOD_H1,                                    // 1 hour
         tf_h4  = PERIOD_H4,                                    // 4 hours
         tf_d1  = PERIOD_D1,                                    // Daily
         tf_w1  = PERIOD_W1,                                    // Weekly
         tf_mn1 = PERIOD_MN1,                                   // Monthly
         tf_n1  = -1,                                           // First higher time frame
         tf_n2  = -2,                                           // Second higher time frame
         tf_n3  = -3                                            // Third higher time frame
      };
input enTimeFrames       inpTimeFrame    = tf_cu;               // Time frame to use 
input bool               showBear3LS     = true;                // Show Bearish 3 Line Strike
input bool               showBull3LS     = true;                // Show Bullish 3 Line Strike
input double             ArrowsGap       = 0.25;                // Arrow gap
input bool               ArrowsOnFirst    = true;               // Arrow on first mtf bar
input bool               alertsOn        = false;
input bool               alertsOnCurrent = true;
input bool               alertsMessage   = true;
input bool               alertsSound     = false;
input bool               alertsEmail     = false;
input bool               alertsNotify    = false;

double up[],dn[],count[];
string obj_prefix = "3LS_";
struct sGlobalStruct
{
   int    perMa;
   int    perBb;
   double rng;
   string indiFileName;
   int    indiTimeFrame;
};
sGlobalStruct glo;
#define _mtfCall(_buff,_ind) iCustom(_Symbol,glo.indiTimeFrame,glo.indiFileName,tf_cu,showBear3LS,showBull3LS,ArrowsGap,ArrowsOnFirst,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsNotify,_buff,_ind)

int OnInit() {
      // код доступен только после оплаты
   }
void OnDeinit(const int reason) {ObjectsDeleteAll(0, obj_prefix);}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[],
                const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) {
      // код доступен только после оплаты
   }

   int i,limit=fmin(rates_total-prev_calculated+1,rates_total-1); count[0] = limit;
      if (glo.indiTimeFrame!=_Period)
      {
         limit = (int)fmax(limit,fmin(rates_total-1,_mtfCall(2,0)*glo.indiTimeFrame/_Period));
         for(i=limit; i>=0 && !_StopFlag; i--)
         {
            int y = iBarShift(_Symbol,glo.indiTimeFrame,time[i]);
            int x = y;
            if (ArrowsOnFirst)
                  {  if (i<rates_total-1) x = iBarShift(_Symbol,glo.indiTimeFrame,time[i+1]);               }
            else  {  if (i>0)             x = iBarShift(_Symbol,glo.indiTimeFrame,time[i-1]); else x = -1;  }
               up[i] = dn[i] = EMPTY_VALUE; 
               if (x!=y)
               {
                  up[i] = _mtfCall(0,y);
                  dn[i] = _m

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

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

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

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

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

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

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