Created by John Bollinger, Bollinger Bands price channels depict volatility as standard deviation boundary line range from a moving average of price. Bollinger Bands® is a registered trademark of John A. Bollinger. [Discuss]
// usage IEnumerable<BollingerBandsResult> results = quotes.GetBollingerBands(lookbackPeriods, standardDeviations);
int - Number of periods (
N) for the center line moving average. Must be greater than 1 to calculate; however we suggest a larger period for statistically appropriate sample size. Default is 20.
double - Width of bands. Standard deviations (
D) from the moving average. Must be greater than 0. Default is 2.
Historical quotes requirements
You must have at least
N periods of
quotes to cover the warmup 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.
- This method returns a time series of all available indicator values for the
- 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
N-1periods will have
nullvalues since there’s not enough data to calculate.
DateTime - Date from evaluated
double - Simple moving average (SMA) of price (center line)
double - Upper line is
D standard deviations above the SMA
double - Lower line is
D standard deviations below the SMA
%B is the location within the bands.
double - Z-Score of current price (number of standard deviations from mean)
double - Width as percent of SMA price.
See Utilities and helpers for more information.
This indicator may be generated from any chain-enabled indicator or method.
// example var results = quotes .Use(CandlePart.HL2) .GetBollingerBands(..);
Results can be further processed on
PercentB with additional chain-enabled indicators.
// example var results = quotes .GetBollingerBands(..) .GetRsi(..);