Confirming indicators

To further restrict trading criteria for your strategy, you can use a number of confirming indicators for regular buy and sell orders. This page describes all settings options available for confirming indicators.

Orders are placed when both the main strategy settings and confirming indicators meet the market situation. When TrailMe is used too, it must finish trailing while other conditions meet. All these conditions must occur in the same cycle.

Especially when TrailMe is used together with confirming indicators, it makes sense to not set the indicators too strict as all order criteria must happen in the same cycle for an order to be placed (strategy conditions + indicator conditions + hitting trailing stop).

Indicators in Gunbot are calculated with live data. For example for a 14 period RSI calculation, that means that the period close values for the past 13 completed candles are used, plus the live data for the current cycle.

For margin trading, the buy side for indicator settings apply for opening long position. The sell side applies for opening short positions.

ADX

ParameterDefault valueDescription
ADX_ENABLEDfalseValues: true or false.
Setting this to true will enable ADX as a confirming indicator, only allowing trades when the trend strong enough to meet or exceeds the set ADX_LEVEL.ADX measures both up- and downtrends, when DI+ is lower than DI- prices are moving up (these values are visible in the logs). When DI- is lower than DI+, prices are moving down. The ADX value indicates the strength of the current up- or downtrend.A buy order is confirmed when ADX is above ADX_LEVEL and DI- is lower than DI+.A sell order is confirmed when ADX is above ADX_LEVEL and DI- is higher than DI+.
ADX_LEVEL25Values: numerical, ranging between 1 and 99.
Sets the minimum trend level that needs to be reached for orders to be allowed. This affects both buy and sell orders.When set to 25, trades will only be placed when ADX is between 25 and 100.
DI_PERIOD14Values: numerical, ranging between 1 and 99.
Sets the number of candles used to calculate ADX.

BTC PND protection

ParameterDefault valueDescription
BTC_PND_PROTECTIONfalseValues: true or false.Setting this to true disables buy orders when there is too much price and volume pressure on BTC. This setting is dependent on BTC_MONEY_FLOW. Only use this if BTC pumps have a significant effect on your trading pair.
BTC_MONEY_FLOW35Values: numerical, ranging between 1 and 99.
Sets the value on the Money Flow Index (MFI) for BTC-USD that BTC_PND_PROTECTION disables orders for. As soon as MFI hits the set value or drops below it, BTC_PND_PROTECTION will be active.The default value of 35 indicates that the BTC-USD market is moving into oversold territory and might start pumping soon, no buy orders would be placed while BTC-USD MFI is between 35 and 0. As long as BTC-USD is the defined oversold territory, no orders will be placed.
BTC_PND_PERIOD14Values: numerical, represents a number of candlestick periods.
Set this to the number of candlestick periods you want to use for calculating MFI for BTC_PND_PROTECTION.

EMASPREAD

ParameterDefault valueDescription
EMASPREADfalseValues: true or false.
Setting this to true will enable EMASPREAD as a confirming indicator for both buy and sell orders. The spread is calculated each cycle by subtracting the lowest EMA value from the highest EMA.A buy signal occurs when EMA1 (slow EMA) is at least EMAx higher than EMA2 (fast EMA) and the EMASPREAD value starts to decrease (after having increased first). A sell signal occurs when EMA1 (slow EMA) is at least EMAx lower than EMA2 (fast EMA) and the EMASPREAD value starts to increase (after having decreased first).
EMAx0.5Values: numerical, represents a percentage.
Sets the minimum percentage difference between EMA1 and EMA2 for EMASPREAD.When set to 1, the spread must reach at least 1% before EMASPREADcan trigger a buy or sell.

MFI

ParameterDefault valueDescription
MFI_ENABLEDfalseValues: true or false.
Setting this to true will make sure Gunbot only trades when both strategy conditions and MFI_BUY_LEVEL/MFI_SELL_LEVELare met.
MFI_BUY_LEVEL30Values: numerical, ranging between 1 and 99.
Defines the maximum MFI level you want to allow buy orders at.When set to 30, buy orders will only be placed when MFI is between 0 and 30.
MFI_SELL_LEVEL70Values: numerical, ranging between 1 and 99.
Set this to the minimum MFI level you want to allow sell orders at.For example: when set to 70, sell orders will only be placed when MFI is between 70 and 100.
MFI_LENGTH14Values: numerical, represents a number of candlestick periods.
Set this to the number of candlestick periods you want to use for calculating MFI.MFI is calculated using an array of the period close prices of MFI_LENGTH-1 candles and the last price.

RSI

ParameterDefault valueDescription
RSI_BUY_ENABLEDfalseValues: true or false.
Setting this to true will make sure Gunbot only buys when both strategy buying conditions and RSI_BUY_LEVEL are met.
RSI_SELL_ENABLEDfalseValues: true or false.
Setting this to true will make sure Gunbot only sells when both strategy selling conditions and RSI_SELL_LEVEL are met.
RSI_METHODoscillatorValues: oscillator or cross.
Sets the method for using RSI. See RSI_BUY_LEVEL and RSI_SELL_LEVEL for detailed describtions of both methods.
RSI_BUY_LEVEL30Values: numerical, ranging between 1 and 99.
Set this to the RSI level you want to allow buy orders at.RSI_METHOD = oscillator: when set to 40, buy orders will only be placed when RSI is 40 or lower.RSI_METHOD = cross: when set to 40, buy orders will only be placed when RSI crosses over 40.
RSI_SELL_LEVEL70Values: numerical, ranging between 1 and 99.
Set this to the RSI level you want to allow sell orders at.RSI_METHOD = oscillator: when set to 60, sell orders will only be placed when RSI is 60 or higher.RSI_METHOD = cross: when set to 60, sell orders will only be placed when RSI crosses under 60.
RSI_LENGTH14Values: numerical, represents a number of candlestick periods.
Set this to the number of candlestick periods you want to use for calculating RSI.

Stochastic

ParameterDefault valueDescription
STOCH_ENABLEDfalseValues: true or false.
Setting this to true will make sure Gunbot only trades when both strategy trade conditions and STOCH_BUY_LEVEL/STOCH_SELL_LEVEL are met.If you only want to use this indicator for buying or selling, but not both, then set the side you don’t want to use to -1001.
STOCH_METHODoscillatorValues: oscillator or cross.
Sets the method for using Stochastic. See STOCH_BUY_LEVELand STOCH_SELL_LEVEL for detailed describtions of both methods.
STOCH_BUY_LEVEL20Values: numerical, ranging between 1 and 99.
Set this to the maximum Stochastic level you want to allow buy orders at.When set to 30, buy orders will only be placed when Stochastic is between 0 and 30.STOCH_METHOD = oscillator: a buy signal occurs when both Stoch %K and %D are below the set buy level.STOCH_METHOD = cross: a buy signal occurs when both Stoch %K and %D are below the set buy level, additionally %K must cross over %D.
STOCH_SELL_LEVEL80Values: numerical, ranging between 1 and 99.
Set this to the minimum Stochastic level you want to allow sell orders at.When set to 70, sell orders will only be placed when Stochastic is between 70 and 100.STOCH_METHOD = oscillator: a sell signal occurs when both Stoch %K and %D are above the set sell level.STOCH_METHOD = cross: a sell signal occurs when both Stoch %K and %D are above the set sell level, additionally %K must cross down %D.
STOCH_K14Values: numerical, represents a number of periods.
The number of periods used for calculating Stochastic %K.
SLOW_STOCH_K3Values: numerical, represents a number of periods.
The number of periods used for calculating Slow Stochastic %K.
STOCH_D3Values: numerical, represents a number of periods.
The number of periods used for calculating Stochastic %D.

StochRSI

ParameterDefault valueDescription
STOCHRSI_ENABLEDfalseValues: true or false.
Setting this to true will make sure Gunbot only trades when both strategy trade conditions and STOCHRSI_BUY_LEVEL/STOCHRSI_SELL_LEVEL are met.If you only want to use this indicator for buying or selling, but not both, then set the side you don’t want to use to -1001.
STOCHRSI_METHODoscillatorValues: oscillator or cross.
Sets the method for using StochRSI. See STOCHRSI_BUY_LEVEL and STOCHRSI_SELL_LEVEL for detailed describtions of both methods.
STOCHRSI_BUY_LEVEL0.2Values: numerical, ranging between 0 and 1.
Set this to the StochRSI level you want to allow buy orders at.STOCHRSI_METHOD = oscillator: when set to 0.2, buy orders will only be placed when StochRSI is 0.2 or lower.STOCHRSI_METHOD = cross: when set to 0.2, buy orders will only be placed when StochRSI crosses over 0.2.
STOCHRSI_SELL_LEVEL0.8Values: numerical, ranging between 0 and 1.
Set this to the StochRSI level you want to allow sell orders at.STOCHRSI_METHOD = oscillator: when set to 0.8, sell orders will only be placed when StochRSI is 0.8 or higher.STOCHRSI_METHOD = cross: when set to 0.8, sell orders will only be placed when StochRSI crosses under 0.8.
STOCHRSI_LENGTH14Values: numerical, represents a number of candlestick periods.
Set this to the number of candlestick periods you want to use for calculating StochRSI.

Advanced settings

ParameterDefault valueDescription
EMA_LENGTH50Values: numerical, represents a number of candlestick periods.
Set this to the number of candlestick periods you want be available for calculating EMA1 and EMA2.
CANDLES_LENGTH99Values: numerical, represents a number of candlestick periods.
Set this to the number of candlestick periods you want Gunbot to pull from the exchange, which are available for calculating other indicators. Always make sure that this setting is high enough for other indicators to be properly calculated. Please be aware that exchanges won’t always provide the number of specified candles, often it is less.

Bollinger bands for Dollar cost avg

ParameterDefault valueDescription
SMAPERIOD50Values: numerical – represents a number of candlesticks.
This defines the number of periods used for calculating Bollinger Bands. Only used when DU_METHOD is set to HIGHBB.
STDV2Values: numerical (recommended: between 1.9 and 2.1) – represents a multiplier value used in the bollinger bands calculation.
This value defines the multiplier used for calculating Bollinger Bands. Only used when DU_METHOD is set to HIGHBB.

Renko candles

image
https://www.tradingview.com/wiki/Renko_Charts

Renko candles can be used with the ichimoku-margin strategy.

ParameterDefault valueDescription
USE_RENKOfalseValues: true or false.
Setting this to true will enable the use of renko candles, instead of regular candles.
RENKO_PERIOD15Values: numerical.
Sets which regular candle size is used as input for renko candles. Make sure to set PERIOD to the same value as RENKO_PERIOD.
RENKO_BRICK_SIZE0.0001Values: numerical.
Defines the brick size for each candle.For example, when set to 1 on a pair with USD as base currency, each renko candle will represent a price change of at least 1 USD.If you are unfamiliar with renko charts, it’s recommended to first set the brick size to the smallest possible step, for example 1 USD or 0.00000001 BTC, and see what effect it has on the chart (do keep the chart open a while to check how new price movements get visualized). Then keep increasing the brick size until you get a good feeling of how the chart behaves.
RENKO_ATRfalseValues: true or false.
Enable this to dynamically adjust brick size based on the average true range (ATR).For fiat pairs, 1 pip equals 1 cent. For crypto, 1 pip equals 1 satoshi.