Страница 1 из 1

MACDH (MACD Histogram) – гистограмма MACD

Добавлено: 08 фев 2016, 08:56
evge
Основная линия индикатора MACDH представляет собой разницу между двумя экспоненциальными скользящими средними с периодами Nfast и Nslow, которая показывает схождение и расхождение средних

MACDt = EMA(C, Nfast) – EMA(C, Nslow).

Для определения направления MACD используется сигнальная линия, которая вычисляется как

Signalt = EMA(MACD, Nsignal).

Отдельно от двух предыдущих анализируется линия гистограмма индикатора MACD, которая строится как разность между основной и сигнальной линией.

MACDHt = MACDt – Signalt.

Сигналы Histogram
  • Пересечение индикатора Histogram с нулевым уровнем – эквивалентно пересечению основной линии индикатора MACD со своей сигнальной линией.
  • Для получения упреждающих сигналов используется изменение направления движения индикатора Histogram. Можно дополнительно фильтровать полученные сигналы
    • Сигналы только в направлении знака индикатора Histogram.
    • Сигнал шорт – после понижающихся максимумах, сигнал лонг – после повышающихся минимумах.
  • Анализ дивергенций между экстремумами индикатора Histogram и ценой.

Индикатор повторяет встроенный, но отображение без основного MACD.

Автор: Джеральд Аппель (Gerald Appel)
Источник: Джеральд Аппель, Технический анализ. Эффективные инструменты для активного инвестора.

Пример:

MACDH-00.png
MACDH-00.png (40.88 КБ) 20188 просмотров


Исходный текст:

Код: Выделить всё

function Initialize()
{
IndicatorName = "MACDH";   
AddInput("Input", Inputs.Price);   
PriceStudy = false;   
AddSeries("MACDH", DrawAs.Custom, Color.Green, AxisType.ZeroBased);
AddParameter("pFast", 5);   
AddParameter("pSlow", 96,2);   
AddParameter("Period", 8);   
}

function Evaluate()
{
// AlfaDirect. 2015. OX
// MACD Histogram (MACDH) - Гистограмма MACD
// Цвет - определяется направлением изменения MACD 
  if (CurrentIndex < 1)
      MACDH = 0.0;
  else
  {
      MACDH = MACD(Input, pFast, pSlow, Period).GetValue("Histogram", 0);
      if (MACDH[0] > MACDH[-1])
          MACDH.DrawHistogram(Color.Green, Color.Green, 50);
      else
          MACDH.DrawHistogram(Color.Red, Color.Red, 50);
  }
}