TradingView Alerts
Learn how to use Gunbot to execute trades based on incoming email 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.
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
Normal situation: full balance is sold
When using
TV_PYRAMID,the amount is defined byTV_TRADING_LIMIT_SELLWhen using MULTIPLE BASE,the amount is the same as the last buy order made by the bot on the same trading pair
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.
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.
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.
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.
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.
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 and on
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.
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.
Values: numerical
Default value: 0.02
Parameter name in config.js: TV_LENDING
Last updated
Was this helpful?