NinjaScript > Language Reference > Indicator Methods >

Moving Average Convergence-Divergence (MACD)

Print this Topic Previous pageReturn to chapter overviewNext page

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(IDataSeries input, int fast, int slow, int smooth)

 

Returns MACD value
MACD(int fast, int slow, int smooth)[int barsAgo]
MACD(IDataSeries input, int fast, int slow, int smooth)[int barsAgo]

 

Returns average value
MACD(int fast, int slow, int smooth).Avg[int barsAgo]
MACD(IDataSeries input, int fast, int slow, int smooth).Avg[int barsAgo]

 

Returns difference value
MACD(int fast, int slow, int smooth).Diff[int barsAgo]
MACD(IDataSeries 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

fast

The number of bars to calculate the fast EMA

input

Indicator source data (?)

slow

The numbers of bars to calculate the slow EMA

smooth

The number of bars to calculate the EMA signal line

 

 

Examples

// Prints the current MACD value
double value = MACD(12, 26, 9)[0];
Print("The current MACD value is " + value.ToString());

 

// Prints the current MACD average value
double value = MACD(12, 26, 9).Avg[0];
Print("The current MACD average value is " + value.ToString());

 

// Prints the current MACD difference value
double value = MACD(12, 26, 9).Diff[0];
Print("The current MACD difference value is " + value.ToString());

 

 

Source Code

You can view this indicator method source code by selecting the menu Tools > Edit NinjaScript > Indicator within the NinjaTrader Control Center window.