OPEN-SOURCE SCRIPT

Bollinger Bands With User Selectable MA

Updated
Bollinger Bands with user selection options to calculate the moving average basis and bands from a variety of different moving averages.
The user selects their choice of moving average, and the bands automatically adjust. The user may select a MA that reacts faster to volatility or slower/smoother.
Added additional options to color the bands or basis based on the current trend and alternate candle colors for band touches. Options:

REACT SLOW/SMOOTH TO VOLATILITY
  • simple moving average (Regular Bollinger Bands)


REACT SMOOTH TO VOLATILITY
  • exponential moving average (EMA Bollinger Bands)
  • weighted moving average (Weighted MA Bollinger Bands)
  • exponential hull moving average (Hull Bollinger Bands with better smoothing)


HIGHLY ADJUSTABLE TO VOLATILITY
  • Arnaud Legoux Moving average (ALMA Bollinger Bands)

Note: 0.85 ALMA default for more smoothing, set offset=1 to turn off smoothing

REACT HARSH TO VOLATILITY
  • least squares moving average (Least Squares Bollinger Bands)


REACT VERY FAST TO VOLATILITY
  • hull moving average (Hull Bollinger Bands or Hullinger Bands)


VALUE ADDED: This script is unique in that no other Bollinger Bands indicator offers a user selection for moving average, and some of the options do not exist yet as Bollinger Bands indicators.

Definitions:
  • Bollinger Bands: A Bollinger Band® is a technical analysis tool defined by a set of trendlines plotted two standard deviations (positively and negatively) away from a simple moving average (SMA) of a security's price, but which can be adjusted to user preferences.

  • Exponential Bollinger Bands: The most important characteristics of the Exponential Bollinger Bands indicator are: When the market is flat, the bands will stay much closer to prices. When the volatility is high, the bands move away from prices faster.

  • Hull Bollinger Bands: Bollinger Bands calculated by Hull moving average, rather than simple moving average or ema. The Hull Moving Average (HMA), developed by Alan Hull, is an extremely fast and smooth moving average. In fact, the HMA almost eliminates lag altogether and manages to improve smoothing at the same time.

  • Exponential Hull Bollinger Bands: Bollinger Bands calculated by Exponential Hull moving average, rather than simple moving average or ema. The Exponential Hull Moving Average is similar to the standard Hull MA, but with superior smoothing. The standard Hull Moving Average is derived from the weighted moving average (WMA). As other moving average built from weighted moving averages it has a tendency to exaggerate price movement.

  • Weighted Moving Average Bollinger Bands: A Weighted Moving Average (WMA) is similar to the simple moving average (SMA), except the WMA adds significance to more recent data points.

  • Arnaud Legoux Moving Average Bollinger Bands: ALMA removes small price fluctuations and enhances the trend by applying a moving average twice, once from left to right, and once from right to left. At the end of this process the phase shift (price lag) commonly associated with moving averages is significantly reduced. Zero-phase digital filtering reduces noise in the signal. Conventional filtering reduces noise in the signal, but adds a delay.

  • Least Squares Bollinger Bands: The indicator is based on sum of least squares method to find a straight line that best fits data for the selected period. The end point of the line is plotted and the process is repeated on each succeeding period.

Release Notes
Update 19-Sep-2021 - added additional moving averages to the list of options
  • Added Triple EMA
  • Added Running Moving Average or SMoothed Moving Average (RMA/SMMA)
  • Added Volume-weighted Moving Average


[Triple EMA (TEMA)
The triple exponential moving average (TEMA) was designed to smooth price fluctuations, thereby making it easier to identify trends without the lag associated with traditional moving averages (MA). It does this by taking multiple exponential moving averages (EMA) of the original EMA and subtracting out some of the lag.

Running (SMoothed) Moving Average
A Modified Moving Average (MMA) (otherwise known as the Running Moving Average (RMA), or SMoothed Moving Average (SMMA)) is an indicator that shows the average value of a security's price over a period of time. It works very similar to the Exponential Moving Average, they are equivalent but for different periods (e.g., the MMA value for a 14-day period will be the same as EMA-value for a 27-days period).

Volume-Weighted Moving Average
The Volume-weighted Moving Average (VWMA) emphasizes volume by weighing prices based on the amount of trading activity in a given period of time. Users can set the length, the source and an offset. Prices with heavy trading activity get more weight than prices with light trading activity.
Release Notes
9-OCT-21: Converted from Pine v4 to Pine v5.
Release Notes
12-OCT-21: Added the Tillson T3 moving average.
Release Notes
13-OCT-21: Fixed up the calculation of the Tillson T3 (was using fixed source instead of selectable previously)
Release Notes
3-Nov-21: added timeframe/gaps feature
Release Notes
4-nov-21: added rainbow gradient
Release Notes
5-nov-21: added user selectable colors
Release Notes
11-Nov-21: Made major simplification to code switching method (easier for users to re-use this code). Added SWMA and Donchian Channel.
Release Notes
15-nov: removed SWMA -- the built-in ta.swma function only calculates the SWMA 4, removed because this is not consistent with the other options
Release Notes
16-nov: added rainbow fill transparency input
Release Notes
16-nov-21: very minor fix, rearranging basis inputs to make more sense
Release Notes
slight alteration to rainbow bands option, updated preview image
Release Notes
set "not enough data" color = gray
Release Notes
extended gradient colors to 101 elements, from weak to strong: fuchsia-red-yellow-green-aqua
Release Notes
Modified RSI gradient color scheme for the major color changes to be more consistent with 30-50-70 RSI values that most people use
almaBollinger Bands (BB)leastsquaresMoving AveragesrmasmaT3 Moving Average (T3)Triple Exponential Moving Average (TEMA)tillsonVolatility

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer