Moving Average - Hull (HMA)

View as Markdown

Description

The HMA manages to keep up with rapid changes in price activity whilst having superior smoothing over an SMA of the same period. The HMA employs weighted moving averages and dampens the smoothing effect (and resulting lag) by using the square root of the period instead of the actual period itself. Developed by Alan Hull.

Syntax

HMA(int period)

HMA(ISeries\<double\> input, int period)

Returns default value

HMA(int period)[int barsAgo]

HMA(ISeries\<double\> input, int period)[int barsAgo]

Return Value

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

Parameters

ParameterDescription
inputIndicator source data (Series<T>)
periodNumber of bars used in the calculation

Examples

1// Prints the current value of a 20 period HMA using default price type
2double value = HMA(20)[0];
3Print("The current HMA value is " + value.ToString());
4
5// Prints the current value of a 20 period HMA using high price type
6double value = HMA(High, 20)[0];
7Print("The current HMA 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.