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

macd_tradingview_style.mq5

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

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

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

О программе

Данный продукт — индикатор для платформы MetaTrader 5, отображаемый в отдельном подокне графика. Он рассчитывает три визуальных серии: основную линию, сигнальную линию и гистограмму. Гистограмма использует четыре цвета, меняя окраску в зависимости от положения относительно нуля и направления изменения значений.

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

Сигнальная линия инициализируется простым средним на начальных барах, после чего продолжает расчёт рекурсивно. Индикатор предназначен для визуального анализа динамики ценовых данных и не выполняет автоматических торговых операций.

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

НастройкаОписание
Fast EMA Length (InpFastEMA) Длина быстрой EMA — Длина быстрой экспоненциальной скользящей средней (целое число, по умолчанию 12)
Slow EMA Length (InpSlowEMA) Длина медленной EMA — Длина медленной экспоненциальной скользящей средней (целое число, по умолчанию 26)
Signal EMA Length (InpSignalSMA) Длина периода сигнальной линии — Длина периода сглаживания сигнальной линии (целое число, по умолчанию 9)
Source (InpPrice) Источник цен — Источник ценовых данных для расчётов (тип ENUM_APPLIED_PRICE, по умолчанию PRICE_CLOSE)
Получить полный код

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

#property version   "1.01"
#property description "MACD indicator styled after TradingView's implementation."
#property description "Features a 4-color histogram (dark/light green and coral/red)"
#property description "and a Signal line seeded with SMA — identical to Pine Script's ta.ema() initialisation,"
#property description "ensuring values match TradingView bar-for-bar."

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_plots   3

#property indicator_label1  "MACD"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrDodgerBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_label2  "Signal"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrOrange
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_label3  "Histogram"
#property indicator_type3   DRAW_COLOR_HISTOGRAM
#property indicator_color3  clrDarkGreen, clrLimeGreen, clrLightCoral, clrRed
#property indicator_style3  STYLE_SOLID
#property indicator_width3  5

input int                InpFastEMA   = 12;          // Fast EMA Length
input int                InpSlowEMA   = 26;          // Slow EMA Length
input int                InpSignalSMA = 9;           // Signal EMA Length
input ENUM_APPLIED_PRICE InpPrice     = PRICE_CLOSE; // Source

double MACDBuffer[];
double SignalBuffer[];
double HistogramBuffer[];
double ColorBuffer[];   // Color index for histogram (INDICATOR_COLOR_INDEX)

double FastEMABuffer[];
double SlowEMABuffer[];

int GetHistogramColor(double cur, double prev)
  {
   if(cur > 0)
      return (cur >= prev) ? 0 : 1;
   if(cur < 0)
      return (cur <= prev) ? 3 : 2;
   return 1; // zero — colour irrelevant (bar not drawn)
  }

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

   SetIndexBuffer(0, MACDBuffer,      INDICATOR_DATA);
   SetIndexBuffer(1, SignalBuffer,    INDICATOR_DATA);
   SetIndexBuffer(2, HistogramBuffer, INDICATOR_DATA);
   SetIndexBuffer(3, ColorBuffer,     INDICATOR_COLOR_INDEX);

   SetIndexBuffer(4, FastEMABuffer,   INDICATOR_CALCULATIONS);
   SetIndexBuffer(5, SlowEMABuffer,   INDICATOR_CALCULATIONS);

   PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, 0.0);
   PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, 0.0);
   PlotIndexSetDouble(2, PLOT_EMPTY_VALUE, 0.0);

   IndicatorSetString(INDICATOR_SHORTNAME,
                      "MACD TV(" + IntegerToString(InpFastEMA)   + "," +
                      IntegerToString(InpSlowEMA)   + ","

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

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

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

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

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

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

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