Please share your thoughts with us:
If you have any feedback regarding this article, please fill out this Feedback form - this will help us update the article faster to meet your expectations and answer your questions.
Signal bot is an innovative creation in 3Commas software that allows you to take your TradingView trading strategy into the next level!
If you've ever struggled with executing trades based on TradingView signals, managing multiple exchange accounts, or wanted to be more actively involved in your trading strategies, look no further. 3Commas is here to provide you with a reliable, automated solution that empowers you to make the most of the dynamic world of cryptocurrency trading.
How to create a Signal bot?
1. a. Go to the Signal bot page
It's on the left-side menu:
1. b. Or click on the "+ Start new bot" button and choose "Signal bot":
2. You will see your active bots (if any) and the window to set up your Signal bot:
3. Choose the Custom Signal type
Pay attention!
In Custom Signal mode, the bot filters signals based on its settings. It's impossible to enable only Long settings in your Signal Bot and then send a Short signal (and vice versa) - the bot will ignore it.
4. Copy the Webhook address (valid only for Signal bots)
Copy the webhook:
This webhook is valid only for Signal bots!
For DCA bots, the webhook is different (see here)!
5. Open in another tab any other service that supports webhooks
In our example we will use TradingView. You can directly click on the Go to TradingView button or open it by yourself.
Prepare the pair you want to trade with and don't close the tab:
6. Create an alert
Choose the exchange and a trading pair you want to set an alert for, apply all needed indicators and click on the Alert button:
Important note!
If you want to create a Signal bot on the Demo account, you need to choose the pair on Binance Spot on TradingView because the Demo account simulates trading on the Binance Spot account.
7. Open the Notifications tab and paste the webhook
8. Back on 3Commas, click on I have set webhook URL
9. Set up general settings for Futures and click Next
a. Choose Futures exchange (also available on Demo account and all exchanges except Binance TR and gate.io USDT-M).
b. Select the pairs (up to 200, you can change them later while editing the bot);
c. Choose the leverage type and its value (x3 by default) - if the bot is multi-pair, the maximum leverage can only be the lowest maximum among the pairs. For example, if you choose BTC and BNB contracts on Binance Futures, you will be able to set the maximum leverage at x50 as per BNB contracts, not x125 as it is for BTC contracts.
d. Set the Max. initial margin - the amount of funds in absolute amount or in % from the total balance the bot or the SmartTrade can use (10 USDT by default; leverage is not applied in this field).
...per Bot
This setting allows you to specify the maximum amount of investment that the bot can use. If the bot reaches this level, further signals will be rejected. This is useful if you are trading a single pair and do not want to exceed a certain investment limit. Please note:
When trading on a Futures or Margin account, the actual used amount by the bot is calculated as the amount in this field multiplied by the leverage size.
When the bot reaches the limit, subsequent signals will be rejected and marked as "Rejected" in the logs.
...per SmartTrade
This setting is available only if you choose more than 1 trading pair, and it limits the maximum amount for each individual SmartTrade created by the bot. This is especially useful if you have many pairs in the bot and want to ensure that each SmartTrade for a separate pair does not exceed the specified limit. Please note:
When trading on a Futures or Margin account, the actual total used amount is calculated as the amount in this field is multiplied by the leverage size and also multiplied by the number of selected pairs or by the number specified in the "Max. active SmartTrades" settings.
When the bot reaches the limit, subsequent signals will be rejected and marked as "Rejected" in the logs.
e. Max. active SmartTrade - available only if you choose more than 1 trading pair.
Max. active SmartTrade
This setting limits the number of simultaneously active SmartTrades, helping to manage risks if the bot is configured to work with a large number of pairs, but you want to restrict its activity. Please note the following:
This number limits the number of active SmartTrades created by the bot. If some trades close, the bot will be ready to open new ones until it reaches the limit again.
This functionality is useful for managing risks if, for example, you have a bot configured for 200 pairs but want it to actively work on only a certain number of pairs, say 50.
When the bot reaches the limit, subsequent signals will be rejected and marked as "Rejected" in the logs.
f. Enter the bot's name. A unique and practical name is very useful if you have many bots.
10. Choose the signal type
Entry long or Entry short are the signals to start a Long or Short position relatively.
Exit long and Exit short will become active after you configure the Entry signals.
Reverse positions style of trading is available if you set up both Entry long and Entry short signals.
Let's configure the Entry long signal:
11. Configure the signal and click "Done"
a. Enter the order size. You can choose from the following options:
Total investment, % -you can choose how much of the Total Investment will be used in the Long signals.
base - you can enter the amount of BASE currency for the order size. For Futures, you can put here the amount of contracts that you want to use as an order size.
quote - you can enter the amount of QUOTE currency for the order size.
Send in webhook, % - in this case, the size of the order in % of Total investment will be sent with the webhook signal (alert in our example).
Send in webhook, quote/base - the size of the order in QUOTE or BASE currency will be sent with the webhook signal (alert in our example).
Limit or Market order?
If you choose the "Send in webhook..." type of the order size, you can now choose whether it's going to be a Limit order or a Market order:
These options apply to Entry long and Entry short orders, whether they open a new position or add funds to an existing position.
Whether you choose Market or Limit, the JSON message will change relatively for your convenience. However, you can still change it according to your desires and preferences.
For example, you can type
"order_type": "market"
- this will execute the order at the market price;
or
"order_type": "limit"
- this will let you place the order at the specific price.
Thus, you can specify the price. Here is what it looks like:
{
...
"price": 10.0
}
b. Copy the JSON message - this message can change depending on the Order size type you chose from the previous step. You will need to paste it into the TradingView alert. Copy this message before proceeding. Read more what this JSON file consists of here:
c. Price deviation from the same order in past - if enabled, the bot won't process with a new signal if the current price does not deviate from the price of the previous executed signal.
d. Reset price deviation for a new SmartTrade - Enable this option to reset the price deviation filter values after each SmartTrade closes. This ensures that subsequent trades are not influenced by previous price deviations. This setting is available for Futures markets, applicable to Entry long and Entry short orders, and supports both single and multi-pair bots.
e. Price deviation from average entry price - if enabled, the bot won't process with the new signal if the current price does not deviate from the average entry price.
About the value of price deviation.
If you use deviation in Enter long or Exit short, the deviation should be with negative value, like -1%. In this case the next signal will be executed if the price of this signal is lower at least 1% than the last or average price. If you enter here the positive value, like 5%, then the next signal will be processed if the price of the signal is HIGHER (not lower) for at least 5% from the last or average price.
The opposite is with Enter short and Exit long signals - the deviation should be with positive value, like 1%. In this case the next signal will be executed if the price of this signal is higher for at least 1% than the last or average price. If you enter here the negative value, like -3%, then the next signal will be processed if the price of the signal is LOWER (not higher) for at least 3% from the last or average price.
f. Max. number of entry orders per SmartTrade - a limit on the number of orders for each SmartTrade.
More about Max. number of entry orders per SmartTrade.
This setting defines the maximum number of orders that the bot can add to a single trade. It is useful if your strategy requires limiting the number of additional orders.
For example, if your strategy dictates that the bot should create a SmartTrade based on a signal and add no more than 4 Safety Orders, you should set the "Max. number of entry orders per SmartTrade" to 5. This number includes one order for opening the SmartTrade and 4 additional orders. This way, you can effectively control the number of orders and manage risks in each SmartTrade. Please note the following:
This limit includes both the initial order and any additional orders.
If the bot opens a SmartTrade and you manually add additional orders using the "Add Funds" button, this will also count towards the total order limit. If needed, you can edit the bot to increase or decrease the number of orders.
Even if the order limit is reached, users will still be able to manually add orders to the SmartTrade using the "Add Funds" button.
When the bot reaches the limit, subsequent signals will be rejected and marked as "Rejected" in the logs.
12. Continue to create the alert on TradingView
Open the TradingView page again. Choose the conditions you want when the signal should be sent and expiration .
Then paste the JSON message:
IMPORTANT NOTE!
DO NOT share publicly the JSON message from your signal bot. If you accidentally did share, please delete this bot and create a new one - in this case you will be safe.
13. Make sure again you pasted the webhook on the Notifications tab
14. Back on 3Commas, set up the Exit long signal if needed
The settings and the alert configurations are all the same as in the Entry long signal:
Note: For Exit long and Exit short signals, the price deviation is reset by default after each SmartTrade closure. No additional configuration is required for this behavior.
15. Create Entry short signal if needed
16. Optionally, you can enable the Reverse position tool
For Futures
If the Hedge mode is enabled on your exchange account, Signal bot will create Long and Short positions simultaneously with this Reverse position tool!
If the Hedge mode is disabled, reducing a position by a volume larger than the current position will open an opposite position. If the remaining size is too small, you will see the error message about too small order size.
17. Click Next to set up the Take profit and/or Stop loss if needed
If you don't need a Take profit and Stop Loss, you can just click on Create to proceed.
18. Adjust the Take profit settings
Here you can set:
the order type (Limit or Market);
the take profit percentage;
multiple take profit targets (or multiple targets);
the trailing take profit option.
Few words about multiple take profit tool
Using this tool, you can set up to 4 take profit targets with different prices and sizes (or up to 8 targets via 3Commas API).
By default, the difference in take profit prices is 1%.
By default, when you add another take profit target, the size of the assets will be equally distributed between each target. If you change the size of one target, the remaining size will also be distributed among the rest of the targets. But if you change the size of another target, you will need to change the rest of the targets manually.
If the sum of the parts will be less than 100% you will receive an error like this:
So ensure the full 100% amount of assets is spread between all targets.
If you choose Limit type of order and enable Trailing feature, the last target will become Market order, and other Take profit targets will be Limit orders.
19. Adjust the Stop loss settings
You can enable the Trailing Stop loss feature if you want.
Also, now you can enable the Move to Breakeven option.
After adjustments, click on the Done button:
20. Click Create if you are done with the settings
If you don't want your bot to start immediately, you can disable the toggle "Activate bot after creation":
21. The bot is created
You can open detailed information by clicking on the down arrow on the left side of the bot: