TradingView Alerts
With the Gunbot TradingView add-on you can execute trading alerts sent from custom strategies at Tradingview, completely managing your strategy at TradingView. Gunbot receives trade signals by e-mail and trades accordingly.
This add-on can also be used for executing trades from arbitrary email alerts, TradingView is not strictly required.
This is a paid add-on, availability depends on your license type.
Initial setup
Before you start setting up your alerts, you need:
- The IMAP data for the email address you receive alerts from TradingView on.
- A Pro subscription at tradingview.com (works with trial too). Free accounts are limited to one alert.
Alert message contents
The alerts have to be in the following format in order for Gunbot to act on them. Alerts follow the same standardized pair syntax that also apply for normal Gunbot usage, the alert text must be in the subject line of an email.
Trading limits can only be specifically defined in buy/long alerts, for other alerts or alerts without specified amounts, the limits as set in your TradingView settings apply.
It's recommended to enabled the "email-to-SMS" option on tradingview.com, which sends a plain text email instead of an html formatted message.
Replace EXCHANGE
with the name of your exchange.
For spot exchanges
Alert message | Action |
---|---|
BUY_EXCHANGE_BTC-ETH | Buy ETH using BTC |
BUY_EXCHANGE_BTC-ETH_0.1 | Buy ETH using BTC with a trading limit of 0.1 BTC |
SELL_EXCHANGE_USDT-BTC | Sell BTC for USDT
|
STOPLOSS_EXCHANGE_BTC-ETH | Sell ETH for BTC if stoploss is triggered |
BUY_EXCHANGE_USDT-BTC_amount_rate | Buy BTC using USDT for a specified amount in USDT at a specified rate. Requires TV market orders to be disabled |
BUY_EXCHANGE_BTC-ETH_0_rate | Buy ETH using BTC for "TV trading limit buy", at a specified rate. Requires TV market orders to be disabled. |
For futures / margin exchanges
Alert message | Action |
---|---|
LONG_EXCHANGE_XBT-USD | Long order for XBT-USD |
SHORT_EXCHANGE_XBT-USD_amount | Short order for XBT-USD with a specified trading limit |
LONG_EXCHANGE_XBT-USD_amount | Long order for XBT-USD with a specified trading limit |
LONG_EXCHANGE_XBT-USD_amount_rate | Long order for XBT-USD with a specified trading limit and rate. Requires TV market orders to be disabled. |
SHORT_EXCHANGE_XBT-USD_0_rate | Short order for XBT-USD without a specified trading limit and with a specified rate. Requires TV market orders to be disabled. |
CLOSE_EXCHANGE_USDT-LTC | Close a margin position (made for bitmex, not supported on every exchange) |
CLOSELONG_EXCHANGE_XBT-USD | Close a long position (made for bitmex, not supported on every exchange) |
CLOSESHORT_EXCHANGE_XBT-USD | Close a short position (made for bitmex, not supported on every exchange) |
- Orders in the opposite direction of a position can be used to (partially) close positions
- Want to flip between long and short? Open one position manually, then send long and short alerts at 2x that position size to keep flipping from long to short or vice versa.
Note about trading limits
On futures exchanges settings related to trading limits for margin trading should be specified in contracts.
On binanceFutures amounts are specified in quote: on USDT-BTC a trading limit of 1 represents 1 BTC order value.
On all other supported margin exchanges, every setting related to margin trading limits must be specified in amounts of quote currency.
To test alerts on Bitmex Testnet, you should write the alerts like this: LONG_BITMEXTESTNET_XBT-USD
Change strategy by alert
You can use alerts to change the strategy of any valid pair that's already in your config.
This alert type can also be used to (indirectly) add pairs to Gunbot, using an AutoConfig job.
Alert message | Action |
---|---|
STRAT_BITMEX_XBT-USD_yourstratname | Assigns strategy yourstratname to XBT-USD |
TradingView settings
To run Gunbot with the TradingView add-on, the following are the only relevant settings. Normal Gunbot strategy and pair settings are not relevant and not used unless TV_GB
is enabled.
Open the settings by going to ⋮ > TradingView Alerts > Alert execution
Trading limits for buy orders are set in the configuration settings, optionally you can override these by specifying the trading limit in the alert message contents.
Orders placed by the TradingView add-on are placed by default as market orders to ensure they will get filled. Optionally, you can let it send limit orders as well.
Be sure to add one pair for any exchange you want to execute alerts on.
This can be any pair, it will not be used by the add-on.
Gain
Set a minimum gain in % that trades initiated by TradingView must comply to when TV_PROTECTION
is enabled.
When TradingView sell alerts are sent that would have a lower gain than this value, Gunbot will not place the order. Use this to prevent selling at loss.
Only works for spot trading.
Values: numerical, represents a percentage.
Default value: 0.6
Parameter name in config.js
: TV_GAIN
Market orders
By default, orders are sent as market orders.
When you want to send limit orders instead, disable this option. Buy orders are then sent at a limit price of the best bid order in the order book, sell orders are placed at the rate of the best ask price.
Values: true or false
Default value: true
Parameter name in config.js
: TV_MARKET_ORDERS
Trading Limit Buy
This value defines the trading limit for each buy order placed through the add-on.
The default value of 0.002 would place orders of 0.002 BTC when used on a BTC-x pair.
When not using TV_PYRAMID
, a sell alert will place a sell order for the full quote balance held.
Bitmex: enter the desired number of contracts
Other margin exchanges: enter an amount in quote currency
Values: numerical – represents an amount in base currency.
Default value: 0.002
Parameter name in config.js
: TV_TRADING_LIMIT_BUY
Trading Limit Buy Pyramid
This value defines the trading limit for each pyramid buy order placed through the add-on.
The default value of 0.002 would place orders of 0.002 BTC when used on a BTC-x pair.
Bitmex: enter the desired number of contracts
Other margin exchanges: enter an amount in quote currency
Values: numerical – represents an amount in base currency.
Default value: 0.002
Parameter name in config.js
: TV_TRADING_LIMIT_BUY_PYRAMID
Pyramid
Setting this to true enables pyramid trading, the amount for each pyramid order is defined by TV_TRADING_LIMIT_SELL
or TV_TRADING_LIMIT_BUY_PYRAMID
.
Values: true or false
Default value: false
Parameter name in config.js
: TV_PYRAMID
Trading Limit Sell
This value defines the trading limit for sell orders when TV_PYRAMID
is enabled.
The default value of 0.002 would place orders of 0.002 BTC when used on a BTC-x pair.
Bitmex: enter the desired number of contracts
Other margin exchanges: enter an amount in quote currency
Values: numerical – represents an amount in base currency.
Default value: 0.002
Parameter name in config.js
: TV_TRADING_LIMIT_SELL
Protection
When set to true Gunbot will check if there is an overall profit before selling, as specified in TV_GAIN
.
When set to false, Gunbot will execute all TradingView alerts without interfering with a custom strategy.
Only works for spot trading.
Values: true or false
Default value: false
Parameter name in config.js
: TV_PROTECTION
Close all
When enabled, an entire position will be closed upon receiving a close command - even if the position is bigger than the set trading limits.
Only works for margin trading.
Values: numerical – represents an amount in base currency.
Default value: false
Parameter name in config.js
: TV_CLOSE_ALL
Trading Limit Cap
The maximum amount of base currency to be invested in a pair.
Only works for spot trading
Values: numerical – represents an amount in base currency.
Default value: 0.0001
Parameter name in config.js
: TV_TRADING_LIMIT_CAP
Stoploss Percentage
Percentage below average bought price at which a sell signal should override TV_PROTECTION
and sell in a stop-loss manner.
Values: numerical – represents a percentage.
Default value: 60
Parameter name in config.js
: TV_STOPLOSS_PERCENTAGE
Trading Limit All-In
When set to true, each buy order will use all available base currency balance.
Values: true or false
Default value: false
Parameter name in config.js
: TV_TRADING_LIMIT_ALLIN
Retry Order
Enable this when you have problems receiving multiple alerts.
Gunbot will retry processing orders for 15 minutes.
Values: true or false
Default value: false
Parameter name in config.js
: RETRY_TV_ORDER
TV MVTS
Sets a threshold for sell orders, If you own less than the set amount, sell orders will not be placed and the bot goes into buying mode again.
Values: numerical – represents the total value of a coins holdings in base currency.
Default value: 0.001
Parameter name in config.js
: TV_MVTS
TV GB
Enable this to run Gunbot strategies simultaneously with the TradingView add-on. This way buying and selling with Gunbot strategies or TradingView alerts can be mixed.
The IMAP listener needs to be enabled to use this option.
Values: true or false
Default value: false
Parameter name in config.js
: TV_GB
TV Leverage
For margin trading only. Sets the leverage for opening any position. Setting 0 places the order with cross margin, if your exchange supports cross leverage.
Only use values supported by your exchange.
On some exchanges it may be needed to manually set leverage on the exchange itself. Always test if this works as expected.
Values: numerical – between 0 and 100
Default value: 0
Parameter name in config.js
: TV_LEVERAGE
TV Lending
Sets the maximum acceptable lending rate when opening a position.
The default setting of 0.02 stands for 2% interest per day.
Only works on Poloniex.
Values: numerical
Default value: 0.02
Parameter name in config.js
: TV_LENDING