Skip to main content

Bollinger Bands

Bollinger Bands indicate relative high and low prices, using this information you can buy relatively low and sell relatively high.

With this strategy you can configure at which percentage from the lower Bollinger Band Gunbot should buy, and at which percentage from the upper Bollinger Band a sell order should be placed. Orders are placed as soon as price meets the set distance from the Bollinger Bands.

Trading example#

Example of how trading with this strategy can perform. Details and settings.

How to work with this strategy#

The infographic below describes what triggers trades with this strategy.

Note that this description is kept simple intentionally. In reality prices also need to be below BUY_LEVEL before a buy is triggered.

Strategy parameters#

Following settings options are available for bb and can be set in the strategy configurator of the GUI or the strategies section of the config.js file.

These settings are global and apply to all pairs running this strategy. When you want a specific parameter to be different for one or more pairs, use an override at the pair level.

Using the BUY_METHOD and SELL_METHOD parameters you can combine different methods for buying and selling. This strategy page assumes both BUY_METHOD and SELL_METHOD are set to bb. Accepted values are all strategy names as listed here.

Buy settings#

Buy settings are the primary trigger for buy orders. These parameters control the execution of buy orders when using ADX as buy method.

Buy enabled#

Set this to false to prevent Gunbot from placing buy orders.


Buy Level#

This sets the target for buying at a percentage below the lowest EMA. Additionally price must reach LOW_BB.

When you set this to 1, buy orders will only be placed when the current price is at least 1% below the currently lowest EMA.


NBA#

"Never Buy Above". Use this to only allow buy orders below the last sell rate.

This sets the minimum percentage difference between the last sell order and the next buy. The default setting of 0 disables this option.

When set to 1, Gunbot will only place a buy order when the strategy buy criteria meet and price is at least 1% below the last sell price.


Take Buy#

With this setting enabled, Gunbot will try to take any buy chance between the strategy entry point and your setting for TBUY_RANGE.

As soon as the ask price drops below the upper border of this range (called "Take Buy"), it will trail down with a range of TBUY_RANGE and place a buy order as soon as the ask price crosses up "Take Buy". Confirming indicators in use are respected.

Normal strategy buy orders are still possible while using TAKE_BUY.

This option should not be used together with reversal trading.


TBuy Range#

This sets the buy range for TAKE_BUY.

When set to 0.5, the initial trailing stop is set 0.5% above the entry point defined by BUY_LEVEL.


Sell settings#

Sell settings are the primary trigger for sell orders. These parameters control the execution of sell orders when using bb as sell method.

Sell enabled#

Set this to false to prevent Gunbot from placing sell orders.


Gain#

This sets the minimum target for selling. Gunbot will sell once price reaches the set percentage above the break-even point. and HIGH_BB is reached.

If you want to have at least 2% profit per trade, set this to 2.


Take Profit#

With this setting enabled, Gunbot will try to take any possible profit between the break-even point and your strategy exit point. This can be useful, for example, on days where the markets move very slowly.

It works by trailing prices upwards between the break-even point and the strategy exit point, with a configurable range for trailing: TP_RANGE. A sell order will be placed when the trailing stop limit is hit or strategy sell conditions are reached. Confirming indicators in use are respected.

Sells at minimal loss are possible when using TAKE_PROFIT, acting as a sort of mini stop loss.

This option should not be used together with reversal trading or DOUBLE_CHECK_GAIN


TP Range#

This sets the sell range for TAKE_PROFIT.

When set to 0.5, the initial trailing stop is set 0.5% below the break-even point.


TP Profit Only#

Enable this to only allow sell orders above the break-even point.


Double Check Gain#

This is an extra check that looks at your recent trading history to verify GAIN will be reached before placing a sell order.


Indicator settings#

Relevant indicators for trading with bb.

These settings have a direct effect on trading with bb.

Period#

This sets the candlestick period used for trading, this affects all indicators within the strategy.

Only use supported values.

Setting a short period allows you to trade on shorter trends, but be aware that these will be noisier than longer periods.


Low BB#

This sets the target for buying. Negative values are allowed.

The bot will buy when price hits the set percentage from the lower Bollinger Band and the price is below the entry point as defined by BUY_LEVEL.

When set to 0, the lower Bollinger Band is the target. When set to 30, the target is 30% above the lower Bollinger Band - the upper band is at 100% from the lower band. Negative values are allowed.


High BB#

This sets the target for selling. Negative values are allowed.

The bot will sell when price hits the set percentage from the upper Bollinger Band and GAIN is reached.

When set to 0, the upper Bollinger Band is the target (well, almost). When set to 30, the target is 30% under the upper Bollinger Band - the lower band is at 100% from the upper band. Negative values are allowed.


SMA Period#

This defines the number of periods used for calculating Bollinger Bands.


Standard Deviation#

This value defines the multiplier used for calculating Bollinger Bands.


Slow EMA#

Set this to the amount of candlesticks you want to use for your slow EMA. The closing price for each candle is used in the slow EMA calculation.

For example: when you set PERIOD to 5, and want to use 2h for slow EMA – you need to set EMA1 to 24 (24 * 5 mins).


Medium EMA#

Set this to the amount of candlesticks you want to use for your medium EMA. The closing price for each candle is used in the fast EMA calculation.

For example: when you set PERIOD to 5, and want to use 1h for medium EMA – you need to set EMA2 to 12 (12 * 5 mins).


TrailMe settings#

Parameters to configure additional trailing for various types of orders. Trailing works just like it does for the TSSL strategy, the difference being the starting point of trailing.

Orders resulting from trailing are only placed when the main strategy criteria are met, and confirming indicators (if any) allow the order. All these conditions must occur in the same cycle.

TrailMe settings

Balance settings#

Balance settings

Confirming indicator + advanced indicator settings#

Confirming indicators

Dollar cost avg settings#

DCA options

Reversal trading settings#

Reversal trading options

Misc settings#

Misc settings

Placeholders#

The following parameters in config.js have no function for this strategy and act as placeholder.

ParameterDescription
ATRXPlaceholder.
ATR_PERIODPlaceholder.
BUYLVL1Placeholder.
BUYLVL2Placeholder.
BUYLVL3Placeholder.
BUYLVLPlaceholder.
BUY_RANGEPlaceholder.
DISPLACEMENTPlaceholder.
FAST_SMAPlaceholder.
ICHIMOKU_PROTECTIONPlaceholder
KIJUN_CLOSEPlaceholder.
KIJUN_PERIODPlaceholder.
KIJUN_STOPPlaceholder.
KUMO_CLOSEPlaceholder.
KUMO_SENTIMENTSPlaceholder.
KUMO_STOPPlaceholder.
LEVERAGEPlaceholder.
LONG_LEVELPlaceholder.
MACD_LONGPlaceholder.
MACD_SHORTPlaceholder.
MACD_SIGNALPlaceholder.
MAKER_FEESPlaceholder.
MEAN_REVERSIONPlaceholder.
PP_BUYPlaceholder.
PP_SELLPlaceholder.
PRE_ORDER_GAPPlaceholder.
PRE_ORDERPlaceholder.
RENKO_ATRPlaceholder.
RENKO_BRICK_SIZEPlaceholder.
RENKO_PERIODPlaceholder.
ROE_CLOSEPlaceholder.
ROE_LIMITPlaceholder.
ROE_TRAILINGPlaceholder.
ROEPlaceholder.
SELLLVL1Placeholder.
SELLLVL2Placeholder.
SELLLVL3Placeholder.
SELLLVLPlaceholder.
SELL_RANGEPlaceholder.
SENKOUSPAN_PERIODPlaceholder.
SHORT_LEVELPlaceholder.
SLOW_SMAPlaceholder.
TENKAN_CLOSEPlaceholder.
TENKAN_PERIODPlaceholder.
TENKAN_STOPPlaceholder.
TSSL_TARGET_ONLYPlaceholder.
USE_RENKOPlaceholder.