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
offsetandsigma.
Response
IEnumerable<MaEnvelopeResult>
- This method returns a time series of all available indicator values for the
quotesprovided. - 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
nullvalues since there’s not enough data to calculate; the quantity will vary based on themovingAverageTypespecified.
âšž 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.