Skip to main content
All CollectionsBots (Signal/DCA/Grid)Signal bot
Signal bot: Custom Signals type - Spot Reversal
Signal bot: Custom Signals type - Spot Reversal

Learn to set up a Signal Bot for Spot Reversal, enabling simultaneous Long and Short trades through custom signals configuration.

Updated over a week ago

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 Spot Reversal Signal Bot in 3Commas is an advanced tool designed to elevate your TradingView strategy, offering a powerful way to automate both Long and Short trades on the spot market.

With this bot, you can efficiently execute trades based on custom TradingView signals, manage multiple exchange accounts, and stay actively engaged in your trading strategy—all while leveraging automation to react to market changes in real time. Whether you’re aiming to catch trend reversals or optimize entry and exit points, the Spot Reversal Signal Bot equips you with the flexibility and control to thrive in the fast-paced crypto environment.

How to create a Spot Reversal 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 Spot Reversal and click Next

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

b. Direction - Choose Reversal and you can configure at the same time both Long and Short signals, and the bot will be able to receive signals to open Long and Short trades simultaneously.

c. Select the pair (Only one pair is available in Reversal mode).

d. Max. investment - the amount of funds in absolute amount or in % from the total balance the bot 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 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.

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 is available if you set up both Entry long and Entry short signals.
Let's configure the Entry long signal first.

In Reversal mode, you will see both Entry long and Entry short parameters that you can configure at the same time.

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 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 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 both Spot and 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 Spot

  • 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 are 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 or if the size of the Long trade is different from the size of the Short trade. At the same time, the Short trade will be opened.
    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, and the Long trade will be opened.

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

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 (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:

Did this answer your question?