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

supertrend_ mtf_alert.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

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

НастройкаОписание
CCIperiod Период CCI — Параметр, определяющий период индикатора CCI, используемого для определения направления тренда.
ATRperiod Период ATR — Параметр, определяющий количество баров, используемых для расчёта среднего диапазона ценового движения.
timeFrame Таймфрейм — Текстовый параметр, задающий таймфрейм для мультитаймфреймного расчёта индикатора. Допускаются значения в виде текстовых обозначений (например, M1, H1, D1) или числовых значений минут.
SignalAlert Сигнал уведомлений — Переключатель, управляющий отправкой всплывающих уведомлений при смене направления тренда.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
#property indicator_color3 Red

extern int CCIperiod = 63;
extern int ATRperiod = 18;
extern string  timeFrame = "Current time frame";
extern bool SignalAlert = True;

double   Trend[];
double   TrendDoA[];
double   TrendDoB[];
double   Direction[];
int      TimeFrame;
string   IndicatorFileName;

int a=0,b=0;

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

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

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

      if (Direction[limit] == -1) CleanPoint(limit,TrendDoA,TrendDoB);

      if (TimeFrame != Period())
      {
         limit = MathMax(limit,TimeFrame/Period());

            for(i=limit; i>=0; i--)
            {
               int y = iBarShift(NULL,TimeFrame,Time[i]);
               double cciTrend = iCCI(NULL, TimeFrame, CCIperiod, PRICE_TYPICAL, y);

               TrendDoA[i]  = EMPTY_VALUE;
               TrendDoB[i]  = EMPTY_VALUE;
               Trend[i]     = iCustom(NULL,TimeFrame,IndicatorFileName,0,y);
               Direction[i] = Direction[i+1];
                  if (cciTrend>0) Direction[i] =  1;
                  if (cciTrend<0) Direction[i] = -1;
                  if (Direction[i]==-1) PlotPoint(i,TrendDoA,TrendDoB,Trend);
            }
         return(0);         
      }

   for(i = limit; i >= 0; i--)
   {
         cciTrend = iCCI(NULL, 0, CCIperiod, PRICE_TYPICAL, i);

         TrendDoA[i]  = EMPTY_VALUE;
         TrendDoB[i]  = EMPTY_VALUE;
         Trend[i]     = Trend[i+1];
         Direction[i] = Direction[i+1];
            if (cciTrend > 0) { Trend[i] = MathMax(Low[i]  - iATR(NULL, 0, ATRperiod, i),Trend[i+1]); Direction[i] =  1; }
            if (cciTrend < 0) { Trend[i] = MathMin(High[i] + iATR(NULL, 0, ATRperiod, i),Trend[i+1]); Direction[i] = -1; }
            if (Direction[i]==-1) PlotPoint(i,TrendDoA,TrendDoB,Trend);
   }
   /*
   ObjectCreate("VertMark",OBJ_VLINE,0,Time[goback],Open[goback]);
   Comment(
   "Trend["+goback+"] = " + Trend[goback] + "\n" +
   "TrendDoA["+goback+"] = " + TrendDoA[goback] + "\n" +
   "TrendDoB["+goback+"] = " + TrendDoB[goback] + "\n" +
   "Direction["+goback+"] = " + Direction[goback] + "\n" +
   "--------------

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

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

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

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

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

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

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