How does take profit really work on MT5?

 

Title.


My question comes from the following situation: when a tp level is reached, it is commonly not executed at the price it was placed. Take the following as an example.


We see that the take profit was reached (127,105). However, the execution price was at 127,115. In this market, this instrument tick size is 5, so I ended up losing two ticks in this case.

One can say 'that's the slippage'. However, I would expect so that the take profit was a limit pending order. No slippage should occur in this case.

Also, the MT5 documentation doesn't say anything about this, as I could research.


Is it a limit order? Why there's a 'slippage effect' on it? 

 

sell order's take profit?
I am not sure but I think that It may be related to ask/bid price.

-----------------

Details:

Sell order's TP/SL will be triggered when the Ask / OrderClosePrice reaches it.
The charts show Bid prices only.
more: post  

To see ask price: MT5 - right mouse click on the chart - Proterties - Show ask price line.

Example:

How to use OrderTotal value as a variable
How to use OrderTotal value as a variable
  • 2023.07.07
  • gabe036
  • www.mql5.com
Hi everyone...
 
Emanuel Cavalcante Amorim Filho: I would expect so that the take profit was a limit pending order.
You assume. It becomes a market order.
 
William Roeder #:
You assume. It becomes a market order.

Yeah, if tp is a market order it explains the behavior (i thought it was some kind of stop order, just like the sl). But being a limit order would make much more sense in my opinion, as it is on the other platforms I've worked with. Is there an explanation somewhere on why mt5 devs chose this over a limit order? Read all around the documentation and didn't find anything.

I mean, considering the existence of this article, I'm certainly not the only one who finds this weird. Also, as I said, the workaround this article presents doesn't help much, due to performance issues with executing many OrderSend functions.

This slippage reduces my profit a lot and is not desirable.

Sergey Golubev #:

sell order's take profit?
I am not sure but I think that It may be related to ask/bid price.

-----------------

Details:

Sell order's TP/SL will be triggered when the Ask / OrderClosePrice reaches it.
The charts show Bid prices only.
more: post  

To see ask price: MT5 - right mouse click on the chart - Proterties - Show ask price line.

Example:

 Wouldn't make sense, actually. If the bid/ask hits the take profit, if it was a limit order, the tp should be executed at the exact same level it was placed, regardless of slippage (none in this case), spread, bid/ask, etc.

Using limit orders instead of Take Profit without changing the EA's original code
Using limit orders instead of Take Profit without changing the EA's original code
  • www.mql5.com
Using limit orders instead of conventional take profits has long been a topic of discussions on the forum. What is the advantage of this approach and how can it be implemented in your trading? In this article, I want to offer you my vision of this topic.
Reason: