Moving Average Convergence-Divergence (MACD)

View as Markdown

Description

MACD uses moving averages, which are lagging indicators, to include some trend-following characteristics. These lagging indicators are turned into a momentum oscillator by subtracting the longer moving average from the shorter moving average.

… Courtesy of StockCharts

Syntax

MACD(int fast, int slow, int smooth)

MACD(ISeries\<double\> input, int fast, int slow, int smooth)

Returns MACD value

MACD(int fast, int slow, int smooth)[int barsAgo]

MACD(ISeries\<double\> input, int fast, int slow, int smooth)[int barsAgo]

Returns average value

MACD(int fast, int slow, int smooth).Avg[int barsAgo]

MACD(ISeries\<double\> input, int fast, int slow, int smooth).Avg[int barsAgo]

Returns difference value

MACD(int fast, int slow, int smooth).Diff[int barsAgo]

MACD(ISeries\<double\> input, int fast, int slow, int smooth).Diff[int barsAgo]

Return Value

double; Accessing this method via an index value [int barsAgo] returns the indicator value of the referenced bar.

Parameters

ParameterDescription
fastThe number of bars to calculate the fast EMA
inputIndicator source data (Series<T>)
slowThe numbers of bars to calculate the slow EMA
smoothThe number of bars to calculate the EMA signal line

Examples

1// Prints the current MACD value
2double value = MACD(12, 26, 9)[0];
3Print("The current MACD value is " + value.ToString());
4
5// Prints the current MACD average value
6double value = MACD(12, 26, 9).Avg[0];
7Print("The current MACD average value is " + value.ToString());
8
9// Prints the current MACD difference value
10double value = MACD(12, 26, 9).Diff[0];
11Print("The current MACD difference value is " + value.ToString());

Source Code

You can view this indicator method source code by selecting the menu New > NinjaScript Editor > Indicators within the NinjaTrader Control Center window.