Moving Average Envelopes
Moving Average Envelopes is a price band channel overlay that is offset from the moving average of price. [Discuss] 💬
// C# usage syntax
IEnumerable<MaEnvelopeResult> results =
quotes.GetMaEnvelopes(lookbackPeriods, percentOffset, movingAverageType);
Parameters
lookbackPeriods
int
- Number of periods (N
) in the moving average. Must be greater than 1.
percentOffset
double
- Percent offset for envelope width. Example: 3.5% would be entered as 3.5 (not 0.035). Must be greater than 0. Typical values range from 2 to 10. Default is 2.5.
movingAverageType
MaType
- Type of moving average (e.g. SMA, EMA, HMA). See MaType options below. Default is MaType.SMA
.
Historical quotes requirements
See links in the supported MaType options section below for details on the inherited requirements for quotes
and lookbackPeriods
.
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.
MaType options
These are the supported moving average types:
MaType.ALMA
- Arnaud Legoux Moving Average
MaType.DEMA
- Double Exponential Moving Average
MaType.EPMA
- Endpoint Moving Average
MaType.EMA
- Exponential Moving Average
MaType.HMA
- Hull Moving Average
MaType.SMA
- Simple Moving Average (default)
MaType.SMMA
- Smoothed Moving Average
MaType.TEMA
- Triple Exponential Moving Average
MaType.WMA
- Weighted Moving Average
🚩 Warning: For ALMA, default values are used for
offset
andsigma
.
Response
IEnumerable<MaEnvelopeResult>
- 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 periods will have
null
values since there’s not enough data to calculate; the quantity will vary based on themovingAverageType
specified.
âšž Convergence warning: Some moving average variants have decreasing magnitude, convergence-related precision errors that can be as high as ~5% deviation in indicator values for earlier periods. See links in the supported MaType options section above for more information.
MaEnvelopeResult
Date
DateTime
- Date from evaluated TQuote
Centerline
double
- Moving average
UpperEnvelope
double
- Upper envelope band
LowerEnvelope
double
- Lower envelope band
The moving average Centerline
is based on the movingAverageType
type specified.
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.HLC3)
.GetMaEnvelopes(..);
Results cannot be further chained with additional transforms.