Skip to main content

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.

Exchanges do not provide indicator data.

Gunbot has to calculate its own indicator data, since exchanges only provide the raw data to calculate indicators with. Although we use the, in our opinion, best library for indicators it's always possible that exchanges or TradingView show slightly different indicator values because they opted for a different way of calculating them.


tip

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


ADX#

ADX Enabled#

Setting this to true will enable ADX as a confirming indicator, only allowing trades when the trend is 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 Level#

Sets the minimum trend level that needs to be reached for orders to be allowed.

When set to 25, trades will be placed as soon as ADX is 25 or higher.


DI Period#

Sets the number of candles used to calculate ADX.


BTC PND protection#

BTC PND Protection#

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 price changes have a significant effect on your trading pair.


BTC Money Flow#

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 moving 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 Period#

Set this to the number of candlestick periods you want to use for calculating MFI for BTC_PND_PROTECTION.


EMA Spread#

EMA Spread#

Setting this to true will enable EMA spread 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 EMA spread 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 EMA spread value starts to increase (after having decreased first).


EMAx#

Sets the minimum percentage difference between slow and medium EMA for EMASPREAD.

When set to 1, the spread must reach at least 1% before EMASPREAD can trigger a buy or sell.


MFI#

MFI Enabled#

Setting this to true will make sure Gunbot only trades when both strategy conditions and MFI_BUY_LEVEL / MFI_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


MFI Buy Level#

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 Level#

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 Length#

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#

RSI Buy Enabled#

Setting this to true will make sure Gunbot only buys when both strategy buying conditions and RSI_BUY_LEVEL are met.


RSI Sell Enabled#

Setting this to true will make sure Gunbot only sells when both strategy selling conditions and RSI_SELL_LEVEL are met.


RSI Method#

Sets the method for using RSI. See RSI_BUY_LEVEL and RSI_SELL_LEVEL for detailed descriptions of both methods.


RSI Buy Level#

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 Level#

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 Length#

Set this to the number of candlestick periods you want to use for calculating RSI.

RSI is calculated using an array of the period close prices of RSI_LENGTH-1 candles and the last price.


Stochastic#

Stoch Enabled#

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 Method#

Sets the method for using Stochastic. See STOCH_BUY_LEVEL and STOCH_SELL_LEVEL for detailed describtions of both methods.


Stoch Buy Level#

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 Level#

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 K#

The number of periods used for calculating Stochastic %K.


Slow Stoch K#

The number of periods used for calculating Slow Stochastic %K.


Stoch D#

The number of periods used for calculating Stochastic %D.


StochRSI#

Stoch RSI Enabled#

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.


Stoch RSI Method#

Sets the method for using StochRSI. See STOCHRSI_BUY_LEVEL and STOCHRSI_SELL_LEVEL for detailed describtions of both methods.


Stoch RSI Buy Level#

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.


Stoch RSI Sell Level#

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.


Stoch RSI Length#

Set this to the number of candlestick periods you want to use for calculating StochRSI.


Advanced settings#

EMA Length#

Set this to the number of candlestick periods you want be available for calculating EMA1 and EMA2. Unless you use very high EMA values, you usually do not need to change this.


Candles Length#

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 DCA#

SMA Period#

This defines the number of periods used for calculating Bollinger Bands. Only used when DU_METHOD is set to HIGHBB.


Standard Deviation#

This value defines the multiplier used for calculating Bollinger Bands. Only used when DU_METHOD is set to HIGHBB.


Renko candles#


tip

Renko charts are supported in v18, not in later versions.


Use Renko#

Setting this to true will enable the use of renko candles, instead of regular candles.


Renko Period#

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 Size#

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 ATR#

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.