MESA Adaptive Moving Average (MAMA)
Created by John Ehlers, the MAMA indicator is a 5-period adaptive moving average of high/low price that uses classic electrical radio-frequency signal processing algorithms to reduce noise. [Discuss] 💬
// C# usage syntax
IEnumerable<MamaResult> results =
quotes.GetMama(fastLimit, slowLimit);
Parameters
fastLimit
double
- Fast limit threshold. Must be greater than slowLimit
and less than 1. Default is 0.5.
slowLimit
double
- Slow limit threshold. Must be greater than 0. Default is 0.05.
Historical quotes requirements
You must have at least 50
periods of quotes
to cover the warmup and convergence periods.
quotes
is a collection of generic TQuote
historical price quotes. It should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.
Response
IEnumerable<MamaResult>
- This method returns a time series of all available indicator values for the
quotes
provided. - It always returns the same number of elements as there are in the historical quotes.
- It does not return a single incremental indicator value.
- The first
5
periods will havenull
values forMama
since there’s not enough data to calculate.
âšž Convergence warning: The first
50
periods will have decreasing magnitude, convergence-related precision errors that can be as high as ~5% deviation in indicator values for earlier periods.
MamaResult
Date
DateTime
- Date from evaluated TQuote
Mama
decimal
- MESA adaptive moving average (MAMA)
Fama
decimal
- Following adaptive moving average (FAMA)
Utilities
See Utilities and helpers for more information.
Chaining
This indicator may be generated from any chain-enabled indicator or method.
// example
var results = quotes
.Use(CandlePart.HL2)
.GetMama(..);
Results can be further processed on Mama
with additional chain-enabled indicators.
// example
var results = quotes
.GetMama(..)
.GetRsi(..);