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.
The Signal Bot is a powerful feature within the 3Commas ecosystem, designed to enhance your trading strategies with the integration of TradingView signals. This guide will focus on setting up a Spot Long Custom Signal Bot, providing you with the flexibility to automate long trades on the spot market using custom TradingView alerts.
How to create a Spot Long Signal bot?
1. a. Go to the Signal bot page
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 Spot Long and click Next
a. Choose exchange (available on Demo account and all exchanges except Binance TR and Gate.io USDT-M).
b. Direction - Choose Long for longing strategy.
c. Select the pairs (up to 200, you can change them later while editing the bot).
d. Max. investment - the amount of funds in absolute amount or in % from the total balance the bot or the SmartTrade can use (Value of 10 by default).
...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 the bot reaches the limit, subsequent signals will be rejected and marked as "Rejected" in the logs.
...per SmartTrade
This setting 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:
The amount in this field is 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 is the signal to start a Long position.
Exit Long will become active after you configure the Entry 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.
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 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.
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, 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 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
Note: For Exit Long signals, the price deviation is reset by default after each SmartTrade closure. No additional configuration is required for this behavior.
15. 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.
16. Adjust the Take profit settings
Remember if you use Signal bots on Spot market!
If the trade is Long, the profit will be taken in QUOTE currency; for example, using the BTC/USDT pair, the profit will be USDT.
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.
17. 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:
18. 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":
19. The bot is created
You can open detailed information by clicking on the down arrow on the left side of the bot: