Skip to main content
All CollectionsSmartTradeOther minor explanations and Troubleshooting
Why my trade didn't take profit or didn't open?
Why my trade didn't take profit or didn't open?

Understand why your trade didn't take profit or didn't open by conditional order. Learn what to change to prevent it from happening again.

Updated over a year ago

Do you use a market order?

While market orders are ideal for hiding your position from other traders, 3Commas doesn't place them to exchange beforehand, which means the price should reach your Take Profit condition to trigger it. We monitor it in real-time, but we use BID or ASK prices instead of the LAST price:

  • The BID price is the price of the first buy order on the exchange's order book.

  • The ASK price is the price of the first sell order on the exchange's order book.

  • The LAST price is the price of the latest trade that happened on the exchange, be it a buy or sell.

You see LAST prices on the chart

The confusion here is that the BID price is often lower than LAST, and the ASK is often higher than LAST.

Still, these prices are the best your market take profit can get because exchanges execute market orders:

  • Relying on the price of orders to buy in the order book when you're closing the long trade by selling coins. Considering this, we use BID price for tracking price for the take profit on long deals.

  • Relying on the price of orders to sell in the order book if you're closing the short trade by buying coins. So we use ASK price when it comes to tracking take profit on short trades.

  • Conditional order to sell coins uses BID price, and conditional order to buy coins uses ASK prices.

Here's how BID price can differ from LAST

When you see $50 on the chart, the first BID order might still be at $47. Assume there is a BID order at $40, and someone buys everything up to $50 using one big market buy, but no one places a buy order higher than $40. Even though the price on the chart is $50, the BID price is still at $40.

That's an exaggerated example, but similar things happen all the time, especially on low volume coins and timeframes like 1 minute. Below is a 1-minute chart's fragment where you can see the LAST price reaches 19.45. The BID price here will be below 19.40, close to 19.36.

You can open any market on the exchange and compare charts with order books to see the difference, especially on sharp price moves.

Use limit orders if you want to catch all price peaks

The only way to avoid skipping such price spikes is to use limit orders. They're going to the exchange order book beforehand, so when someone executes a big market order, it'll take your limit order too.

Do you use trailing take profit, trailing buy, trailing sell?

Trailing orders execute at the market rate, so the same thing about the BID and ASK prices apply. Please see the explanation above.

You need to disable trailing features and use limit orders if you want to avoid skipping trades, especially when you trade big volumes.

How is the Trailing Take Profit activated?

We receive a live stream of asset prices from the exchange. Whenever there is a change in price, the bot automatically checks if the price has exceeded the trailing take profit level configured in the bot settings. If it has, and the trailing is about to be enabled, the bot sends a request to the exchange to double-check the price to make sure it's not a false signal to trigger the trailing (like a fast candle "wick"). It can take as little as 50 ms or as long as a couple of seconds - it depends on the load of the API connection with the exchange. During this validation, the price could move back away from the trailing level, so the bot will deactivate the trailing and wait for the price to move past the activation point again.

If the signal appears to be valid, the bot will enable trailing take profit and keep monitoring the price until it falls back to the trailing deviation percentage that is also set in the bot settings. This ensures that profits are locked in, and the trader can maximize their gains.

Trailing Take Profit is not recommended for illiquid markets, especially if you are trading with large order sizes, as slippage can occur when closing the deal with a Market Order. If you are trading large sums with your bot or trading in illiquid markets, it is recommended to disable Trailing Take Profit, as the bot will then place a Limit Order when the take profit target is hit.

Do you use conditional market orders?

Conditional order also follows the current price - BID or ASK. You can go back to the first section (about market orders) to find the details.

Conditional orders are a great way to avoid locking your funds and hide orders from other traders, but if you need to catch that big one-second move, you should stick to limit orders.

Do you use conditional limit orders?

The conditional limit order consists of two parts:

  1. The condition price is the price to determine when to place the limit order. Works the same way as described in the section about market orders.

  2. The order price is the price of the limit order that goes to the order book when the coin price reaches your condition.

The conditional limit order allows you to control the worst price you're willing to sell or buy your coins, but it also should be filled. The order is likely to be stuck on the exchange's order book if the price doesn't reach it or moves fast through your level. To prevent the limit order from being stuck:

  • Set the order price just a bit higher than the conditional price for buy orders.

  • Set the order price just a bit lower than the conditional price for sell orders.

If you set the order price much higher for sell orders and much lower for buy orders, the price will have to make an additional move to reach and fill your order. Sometimes it's handy, but you should keep in mind that the order might end up stuck.

P.S. You may also want to read this article that is related to the topic:

Did this answer your question?