Signal bot: Custom Signals type

Learn more about how to set up a Signal bot

Updated over a week ago

Before we start...

  • If you already use a Signal Bot and/or have feedback or ideas for additional features not mentioned in this guide (as being under development), please add them using our Signal Bot Feedback link.

  • 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. Go to the Signal bot page

It's on the left-side menu:

2. Here 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 trading pair you want to set an alert for, apply all needed indicators and click on the Alert button:

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 and click Next

Several settings are different for Spot and Futures exchanges:


a. Choose exchange (available on Demo account and all exchanges except Binance TR and 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 the bot can use (10 USDT by default; leverage is not applied in this field).

e. Enter the bot's name. A unique and practical name is very useful if you have many bots.


a. Choose exchange (available on Demo account and all exchanges except Binance TR and USDT-M).

b. Direction - you need to choose how your bot will trade - Long, Short or Reversal - the bot will be able to receive signals to open Long and Short trades simultaneously.

c. Select the pairs (up to 200, you can change them later while editing the bot).

d. Max. investment - maximum amount of money that the bot can use to open trades (10 USDT by default).

e. 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 will become available soon.
Let's configure the Entry long signal:

For Spot exchange, if you choose Long or Short, you will see only Entry and Exit orders:

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.

  • USDT - you can just 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).

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.


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. 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.

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:

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:

15. Optionally, you can enable the Reverse position tool

For Futures

If 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.

For Spot

It will be available only if you enabled Reverse trading in step 9.b. If you enabled, you can either turn on this feature here or leave it disabled.

  • If disabled:
    If there is an active Long trade in the Signal bot, the Entry short signal will be ignored. The Entry short signal will create a Short trade ONLY if the Long trade is closed and there is no active Long trades. The same with the opposite direction - Entry long will be ignored if there is active Short trade.

  • If enabled:
    If there is an active Long trade and the Entry short signal is received, the Long trade will be closed at the market price no matter if it's in profit or loss and if the size of the Long trade is different from the size of the Short trade. The same is true with the opposite side. If there is an active Short trade and the Entry long signal is received, the Short trade will instantly be closed at the market price.

16. 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.

17. 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.
For a Short trade, the profit will be taken in the BASE currency, BTC.

Here you can set:

  • the order type (Limit or Market);

  • the take profit percentage;

  • multiple take profit targets (or multiple targets);

Few words about multiple take profit tool

Using this tool, you can set up to 4 take profit targets with different prices and sizes.

By default the difference in take profit prices is 1%. Also, 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.

18. 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:

19. 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":

20. The bot is created

You can open detailed information by clicking on the down arrow on the left side of the bot:

Review your bots.

Here is how the list of the created bots looks like:

You can filter them and display either Active or Stopped:

If the bot is stopped, you can enable it at any time:

Short explanations of some bot's parameters and columns:

  • Bot's ID ℹ️ icon reveals the bot ID and UUID:

    This information is very useful if you will ever contact Support team with questions about your Signal bot.

  • Initial margin - the amount of funds that are used from the balance; leverage is not applied;

  • Profit - how much profit/loss was gained from the closed trades (PnL) + the uPnL from the active trades;

  • Amount of active trades - it's clickable; after clicking, it takes you to the Smart Trade page to the list of active trades;

  • Status - it can be:

    • Waiting - the bot is waiting for signals; no active signals or trades at the moment;

    • Active - the signal/-s received, there are active trades;

    • Signals - the signal/-s received, waiting for your decision; the signals will wait for your approval ONLY if you enable the toggle to Receive the signal execution request via email (p.9.f above).

  • Menu - depending on the bot's Status (see previous bullet point), the menu items will defer:

    • Waiting - Edit bot, Stop bot.

    • Active - Edit bot, View SmartTrades (if there are any active SmartTrades), Alerts log, Stop bot.

    • Signals - Edit bot, Alerts log, Stop bot.

    • Stopped - Edit bot, Delete bot.

Alerts log.

After clicking on the Signals tab or Alarm icon button, a new window with the List of signals will be opened:

What you can see here:

  • Bot - which bot received a signal.

  • Signal - what type of the signal was received.

  • Trigger time - when the signal was received.

  • Trigger price - at what price was the signal triggered.

  • Status:

    • Created - the signal from TradingView is received and is being processed;

    • Completed - the signal is processed successfully and the SmartTrade was successfully created;

    • Rejected - the signal was declined by the system after the processing failure;

    • Declined - if you manually declined the received signal;

    • Received - if you received a signal that waits for your decision (approve or decline);

    • Executing - the signal is being processed;

    • Failed - the processing was interrupted for some reason and was not completed; the signal was not executed;

    • Expired - the signal wasn't executed after a certain period of time.

  • Price - actual price when the signal was processed and executed.

  • Size - the size of the order that was sent with the signal.

  • Execution time - when the signal was processed and executed.

Did this answer your question?