You are here:


This function is part of XTRADE functions group which is a collection of several technical indicators for creating technical trading rules. XTRADE.BBANDS produces Bollinger Bands (BBands) developed by John Bollinger. BBands compares a security’s volatility and price levels over a period of time.


Due to many factors, over which we have no control, performance and/or outcomes may differ substantially from any estimates, projections or predictions that have been made by our services or functions. We use several software and services from sources believed to be reliable, however accuracy and completeness cannot be guaranteed. Loss of all or part of the original capital invested in an investment or investment strategy derived by these functions and/or services may occur. Any investments and/or transactions implied by our services or functions are done at your own risk.


AXCEL.XTRADE.BBANDS(stockprice, [n], [sd], [dateFormat], [plot])

The AXCEL.XTRADE.BBANDS function syntax has the following arguments:

stockprice Required. This is a table of the stock price. The format must be a table of two columns, the first column for time/date index, and the second column for price. Here is an example:


Or, it could be a table of five or six columns, including time/date, Open, High, Low, Close and Volume (optional), respectively. Here is an example:

DateOpenHighLowCloseVolume (optional)

If 5 column data is provided, the average of High-Low-Close (HLC) is used for calculation of the bands. Open and Volume are not considered in calculations and will be used for visualization only. For both cases, the name of the columns is not restricted. However, the user must provide data columns in the same order presented before.

n Optional. n is the number of periods for moving average. Default value is 20.

sd Optional. sd is the number of standard deviation to use in calculation of BBands.

dateFormat Optional. If the date in Date columns is Excel standard date format, you do not need to provide any format, and Axcel will automatically identify the date format and applies the conversion. However, if the date is provided in TEXT format, you should define the dateFormat for appropriate conversion. Here are the elements of the date format:

/ or - : Separators
%d: day
%m: month
%y: 2-digit year (for example 98 or 07)
%Y: 4-digit year (for example 1998 or 2007)

Here are some examples of date format:

for "08/22/2019" : "%m/%d/%Y"
for "19/08/22" : "%y/%m/%d"
for "2019-08-22" : "%Y-%m-%d"

plot Optional. The default is FALSE. If you set it TRUE, Axcel provides you an advanced interactive visualization showing a candlestick chart (if you provide HLC data as explained above) and BBands.

Here is an example without Volume:

and if you provide Volume column, it will be included in your graph as example below:

when you type =AXCEL.XTRADE.BBANDS the Intellisense guides you through required and optional (shown in brackets []) entries as shown below:

In this example, we have:


which means that our data is located at cells from A1 to E300, we set the moving average period at 20 days, and BBands are calculated by 2 standard deviations. Also, since we use Excel standard date format, we skipped the dateFormat entry and we would like to have visualization by setting the plot to TRUE. Here is the outcome:

As presented above, Axcel generates BBands and reports them in columns dn (lower band), mavg (moving average), up (upper band) and pctB (%B). PctB is calculated by (Price – Lower Band)/(Upper Band – Lower Band). Also, the outcome is visualized in the task pane and ready to be expanded in your browser. In this example, Since this function needs a minimum of 20 days of historical records for calculation (we set n to 20), the first 19 records show NA after execution.

See also: All other AXCEL.XTRADE functions.