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)
Источник: Джеральд Аппель, Технический анализ. Эффективные инструменты для активного инвестора.
Пример:
Исходный текст:
Код: Выделить всё
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);
  }
}
