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

zerolag macd - alerts arrows.mq5

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

indicator previous session range + projected candles + boschoch protected for tradingview.pineTradingView · 1 общих тегов#__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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «Zero lag MACD — alerts arrows» рассчитывает аналитический индикатор MACD с нулевым лагом для платформы MetaTrader 5. Он строит гистограмму MACD, сигнальную линию и осциллятор (разность MACD и сигнальной линии), отображая их в отдельном окне графика.

Индикатор поддерживает отрисовку стрелок при смене направления тренда. Условия определения тренда настраиваются: пересечение MACD сигнальной линии, пересечение MACD нулевой линии или пересечение сигнальной линии нулевой линией. Стрелки можно настраивать по цвету, размеру и видимости.

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

Индикатор позволяет выбирать таймфрейм расчёта, тип цены для расчёта MACD, а также режим работы (расчёт MACD, возврат количества баров или обычный режим отображения).

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

НастройкаОписание
timeFrame Таймфрейм — Таймфрейм для расчёта индикатора (например, M1, M5, H1, D1 и т. д.).
FastEMA Период быстрой EMA — Период быстрой экспоненциальной скользящей средней (EMA) для расчёта MACD.
SlowEMA Период медленной EMA — Период медленной экспоненциальной скользящей средней (EMA) для расчёта MACD.
SignalEMA Период сигнальной EMA — Период сигнальной экспоненциальной скользящей средней (EMA) для расчёта сигнальной линии MACD.
AlertsArrowsOn Тип перекрёстия для стрелок — Тип индикатора перекрёстия для отображения стрелок и определения тренда: 0 — MACD пересекает сигнальную линию, 1 — MACD пересекает нулевую линию, 2 — сигнальная линия пересекает нулевую линию.
MacdPrice Тип цены для MACD — Тип цены, используемый для расчёта индикатора MACD.
Interpolate Интерполяция данных — Включает или отключает интерполяцию данных при отображении на меньшем таймфрейме.
arrowsVisible Видимость стрелок — Включает или отключает отображение стрелок на графике.
arrowsIdentifier Идентификатор стрелок — Идентификатор объектов стрелок на графике (префикс для имен объектов).
UpArrowSymbolCode Код символа стрелки вверх — Код символа стрелки вверх.
DownArrowSymbolCode Код символа стрелки вниз — Код символа стрелки вниз.
arrowsUpColor Цвет стрелки вверх — Цвет стрелки вверх.
arrowsDnColor Цвет стрелки вниз — Цвет стрелки вниз.
UpArrowSize Размер стрелки вверх — Размер стрелки вверх.
DownArrowSize Размер стрелки вниз — Размер стрелки вниз.
alertsOn Система уведомлений — Включает или отключает систему уведомлений индикатора.
alertsOnCurrent Отслеживание на текущем баре — Определяет, на каком баре отслеживать смену тренда: на текущем баре или на предыдущем.
alertsMessage Всплывающие сообщения — Включает или отключает всплывающие текстовые сообщения при смене тренда.
alertsSound Звуковой сигнал — Включает или отключает звуковой сигнал при смене тренда.
alertsEmail Уведомления по электронной почте — Включает или отключает отправку уведомлений по электронной почте при смене тренда.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 clrDeepSkyBlue
#property indicator_color2 clrDimGray
#property indicator_color3 clrDeepSkyBlue
#property indicator_color4 clrRed
#property indicator_width2 2
#property indicator_width3 2

extern string timeFrame        = "current time frame";
extern int    FastEMA          = 12;
extern int    SlowEMA          = 26;
extern int    SignalEMA        =  9;
extern int    AlertsArrowsOn   =  0;
extern int    MacdPrice        = PRICE_CLOSE;
extern bool   Interpolate      = true;
extern bool   arrowsVisible    = true;
extern string arrowsIdentifier = "ZLMacdArrows";
extern int    UpArrowSymbolCode = 241;
extern int    DownArrowSymbolCode = 242;
extern color  arrowsUpColor    = clrDeepSkyBlue;
extern color  arrowsDnColor    = clrRed;
extern int    UpArrowSize      = 1;
extern int    DownArrowSize      = 1;
extern bool   alertsOn         = false;
extern bool   alertsOnCurrent  = false;
extern bool   alertsMessage    = false;
extern bool   alertsSound      = false;
extern bool   alertsEmail      = false;

double macdBuffer[], machBuffer[], signBuffer[], osmaBuffer[], trend[];
double workBuffer[][6];

string CrossDescription, IndicatorFileName;
bool   calculatingMacd = false;
bool   returningBars   = false;
int    TimeFrame;

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

int deinit()
{
   string lookFor       = arrowsIdentifier+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i);
         if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
   return(0);
}

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

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

           if (returningBars)   { macdBuffer[0] = limit; return(0); }
           if (calculatingMacd) { CalculateMacd(limit);  return(0); }
           if (TimeFrame > Period()) limit = MathMax(limit,MathMin(Bars,iCustom(NULL,TimeFrame,IndicatorFileName,"returnBars",0,0)*TimeFrame/Period()));

 	for(i = limit; i >= 0; i--)
   {
      int      shift1 = iBarShift(NULL,TimeFrame,Time[i]);
      datetime time1  = iTime    (NULL,TimeFrame,shift1);

         macdBuffer[i] = iCustom(NULL,TimeFrame,IndicatorFileName,"calculateMACD",FastEMA,SlowEMA,SignalEMA,MacdPrice,2,shift1);
         signBuffer[i] = iCustom(NULL,TimeFrame,IndicatorFileName,"calculateMACD",FastEMA,SlowEMA,SignalEMA,MacdPrice,3,shift1);
         machBuffer[i] = macdBuffer[i];
         osmaBuffer[i] = macdBuffer[i]-signBuffer[i];
         switch(AlertsArrowsOn)
         {
            case 0 : 
                  if (osmaBuffer[i]>0) trend[i] =  1;
                  if (osmaBuffer[i]<0) trend[i] = -1;
                  break;
            case 1 : 
                  if (macdBuffer[i]>0) trend[i] =  1;
                  if (macdBuffer[i]<0) trend[i] = -1;
                  break;
            case 2 : 
                  if (signBuffer[i]>0) trend[i] =  1;
                  if (signBuffer[i]<0) trend[i] = -1;
                  break;
         }
         manageArrow(i);
         if (TimeFrame <= Period() || shift1==iBarShift(NULL,TimeFrame,Time[i-1])) continue;
         if (!Interpolate) continue;		 

         for(int n = 1; i+n < Bars && Time[i+n] >= time1; n++) continue;	
         double factor = 1.0 / n;
         for(int k = 1; k < n; k++)
            {
               macdBuffer[i+k] = k*factor*macdBuffer[i+n] + (1.0-k*factor)*macdBuffer

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

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

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

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

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

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

Стоимость полного кода
759,70₽ ≈ $9.29