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

dema macd zones amp alerts 2_sp ahtf.mq5

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

! macd+.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!macd_adx.mq4MQL4 / MetaTrader 4 · 1 общих теговxauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 1 общих теговtm sniper pro.pineTradingView · 1 общих теговsource code of grid with 100 pips stop loss.mq4MQL4 / MetaTrader 4 · 1 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный индикатор рассчитывает MACD на основе DEMA (двойной экспоненциальной скользящей средней) с параметрами FastEMA, SlowEMA и SignalEMA. Вместо стандартного расчёта EMA применяются два уровня DEMA, разность которых формирует линию MACD, а третий уровень DEMA от MACD — сигнальную линию.

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

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

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

НастройкаОписание
Time frame (TimeFrame) Таймфрейм — Таймфрейм, на котором рассчитывается индикатор, с поддержкой выбора старших таймфреймов.
FastEMA Быстрая EMA — Период быстрой экспоненциальной скользящей средней для расчёта DEMA, используемой в линии MACD.
SlowEMA Медленная EMA — Период медленной экспоненциальной скользящей средней для расчёта DEMA, используемой в линии MACD.
SignalEMA Сигнальная EMA — Период экспоненциальной скользящей средней для расчёта сигнальной линии на основе MACD.
Price Тип цены — Тип цены, используемой для расчёта индикатора (например, цена закрытия).
UniqueID Уникальный идентификатор — Уникальный идентификатор объектов индикатора на графике, используемый для именования и удаления прямоугольников.
ColorUp Цвет вверх — Цвет отрисовки прямоугольника в зоне, где MACD выше сигнальной линии и положительный.
ColorNeutralUp Нейтральный цвет вверх — Цвет отрисовки прямоугольника в зоне, где MACD выше сигнальной линии и отрицательный.
ColorDown Цвет вниз — Цвет отрисовки прямоугольника в зоне, где MACD ниже сигнальной линии и отрицательный.
ColorNeutralDown Нейтральный цвет вниз — Цвет отрисовки прямоугольника в зоне, где MACD ниже сигнальной линии и положительный.
MaxValue Максимальное значение — Максимальное значение по оси Y для отрисовки прямоугольников на графике.
alertsOn Уведомления включены — Главный переключатель включения системы уведомлений.
alertsOnCurrent Уведомления на текущем баре — Переключатель выбора бара для проверки условия уведомления: текущий бар или предыдущий.
alertsMessage Уведомления в виде сообщений — Переключатель отображения всплывающего сообщения при срабатывании уведомления.
alertsSound Звуковые уведомления — Переключатель воспроизведения звукового сигнала при срабатывании уведомления.
alertsEmail Уведомления по email — Переключатель отправки электронной почты при срабатывании уведомления.
Dummy Заглушка — Числовой параметр, используемый для фиксации времени при отрисовке прямоугольников на текущем баре.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 0
#property indicator_maximum 1
#property indicator_minimum 0

enum enTimeFrames
{
   tf_cu  = PERIOD_CURRENT, // 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
};

extern enTimeFrames      TimeFrame             = tf_cu;   // Time frame

extern int    FastEMA   = 12;
extern int    SlowEMA   = 26;
extern int    SignalEMA =  9;
extern int    Price     = PRICE_CLOSE;
extern string UniqueID  = "MACD zones H";
extern color  ColorUp          = C'7,71,49';
extern color  ColorNeutralUp   = C'85,22,17';
extern color  ColorDown        = C'98,26,19';
extern color  ColorNeutralDown = C'6,55,38';
extern double MaxValue          = 200;
extern bool   alertsOn          = false;
extern bool   alertsOnCurrent   = true;
extern bool   alertsMessage     = true;
extern bool   alertsSound       = false;
extern bool   alertsEmail       = false;
extern double Dummy     = -1;

double macd[], signal[], colors[], times[];

int    timeFrame, wind;
string indicatorFileName;

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

int timeFrameValue(int _tf)
{
   int add  = (_tf>=0) ? 0 : MathAbs(_tf);
   if (add != 0) _tf = _Period;
   int size = ArraySize(iTfTable); 
      int i =0; for (;i<size; i++) if (iTfTable[i]==_tf) break;
                                   if (i==size) return(_Period);
                                                return(iTfTable[(int)MathMin(i+add,size-1)]);
}

int deinit()
{
   string lookFor       = UniqueID+":";
   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 i,counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);

         if (timeFrame!=Period()) 
         { 
            iCustom(NULL,timeFrame,indicatorFileName,"",FastEMA,SlowEMA,SignalEMA,Price,UniqueID,ColorUp,ColorNeutralUp,ColorDown,ColorNeutralDown,MaxValue,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,Time[0],0,0); 
            return(0); 
         }
         else if (Dummy<=Time[0]) Dummy = Time[0];
         static bool secondTime=false;
         if (secondTime)
         {
            for (;limit<Bars; limit++) if (colors[limit]!=colors[limit+1]) break;
         }
         else secondTime=true;

      for(i = limit; i>=0 ; i--)
      {
         double price = iMA(NULL,0,1,0,MODE_SMA,Price,i);
         if (i>Bars-2)
         {
            macd[i]    = 0;
            signal[i]  = 0;
            continue;
         }

         macd[i]    = iDema(price,FastEMA,i,0)-iDema(price,SlowEMA,i,1);
         signal[i]  = iDema(macd[i],SignalEMA,i,2);
         colors[i]  = colors[i+1];
         times[i]   = times[i+1];
         string name = UniqueID+":"+Time[i];
            ObjectDelete(name);

            if (macd[i]>signal[i] && macd[i]> 0) colors[i] =  1;
            if (macd[i]>signal[i] && macd[i]< 

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

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

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

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

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

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

Стоимость полного кода
545,60₽ ≈ $6.67