Moving Average - Mesa Adaptive (MAMA)

View as Markdown

Description

The MESA Adaptive Moving Average (MAMA) adapts to price movement in an entirely new and unique way. The adaptation is based on the rate change of phase as measured by the Hilbert Transform Discriminator. The advantage of this method of adaptation is that it features a fast attack average and a slow decay average so that composite average rapidly ratchets behind price changes and holds the average value until the next ratchet occurs.

Syntax

MAMA(double fastLimit, double slowLimit)

MAMA(ISeries\<double\> input, double fastLimit, double slowLimit)

Returns MAMA value

MAMA(double fastLimit, double slowLimit)[int barsAgo]

MAMA(ISeries\<double\> input, double fastLimit, double slowLimit)[int barsAgo]

Returns Fama (Following Adaptive Moving Average) value

MAMA(double fastLimit, double slowLimit).Fama[int barsAgo]

MAMA(ISeries\<double\> input, double fastLimit, double slowLimit).Fama[int barsAgo]

Return Value

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

Parameters

ParameterDescription
fastLimitUpper limit of the alpha value
inputIndicator source data (Series<T>)
slowLimitLower limit of the alpha value

Examples

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