Features of the mql5 language, subtleties and tricks - page 22
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
First of all, why go through the story if the position is the last?
Then that the order of history depends on the sorting in the history tab.
Then that the order of the history depends on the sorting in the history tab.
First of all, why go through the history if the position is the last one? No one ever looks for, for example, the "last" element of an array.
Second, the question was about the way to determine if the position was closed by SL or TP. At the moment the most adequate and most reliable way is to read the comment. In addition, the argument that the broker can change the comment relating to SL and/or TP is at the level of fiction, I have not met examples of such brokers, neither personally, nor by hearsay from anyone. i.e. someone somewhere heard something from someone, but no one personally saw the fact.
OnTradeTransaction() is not guaranteed, which means that it can be used as an informational source and nothing more. Not a tool for management and decision making in trade operations.
But no one can claim that the last trade in the history of MT5 will definitely be a position closing trade. Especially if there are 2 Expert Advisors working on an account.
As for the comment on the position\order, the argument "from the realm of fantasy" or "everyone is doing it" are the most unconvincing arguments.But no one can claim that in the history of MT5 the last deal will definitely be a position closing deal. Especially if there are 2 Expert Advisors working on the account.
It is true, but sometimes the SL/TP data still requires going through the history. I do not understand why we may need the information whether the last deal was closed in SL/TP? I.e. why would I need it in OnTradeTransaction, although the trigger was somehow published.
And here, for example, how it may be necessary to have information about SL/TP - I understand.
That's right, but the SL/TP data sometimes needs to go through the history. I don't understand what the information may be needed to know if the last SL/TP trade was closed? I.e., why should I fetch it in OnTradeTransaction, although the trigger was somehow published.
But, e.g., I understand how we may need information on SL/TP sliding.
It's a very common condition of various strategies.
As an example: there is a signal to buy - if the last closed position was to buy, and it was closed on the take, then do not open any more purchases until the "starting" condition for waiting for the signal occurs (for example - the price should first cross a certain value, and only after that should react again to the signal to buy). If the position was closed, but not on the take value (for example, on the trail), then you can open a position to buy without waiting for the "starting" condition.
Well... I can think of many different ways for which people use the knowledge that a position is closed by a stop order.
It's a very common condition of different strategies.
As an example: there is a buy signal - if the last closed position was a buy position, and it was closed on the take, then do not open more purchases until ...
That's right, but the SL/TP data sometimes needs to go through the history. I don't understand what the information may be needed to know if the last SL/TP trade was closed? I.e. why would I need it in OnTradeTransaction, although the trigger was somehow published.
And here, for example, I see how we may need information on SL/TP slippage.
Pulling the history of orders and deals on a position ticket does not mean going through the history of orders and deals for some period or for the whole history in search of the last closed position.
For what purpose the position was closed by TP or SL, I do not understand either, the main thing is with a profit or with a loss. After all, it all comes down to this. The further decision is taken according to this, closing at TP means a profit. But sometimes it's not taken into account that you may also make profit if you close on the SL.
I did not look carefully at this trigger but did not see any check for DEAL_ENTRY_OUT. After all, this is the deal that indicates the closing of the position on the accounts.
It is a very common condition in various strategies.
As an example: there is a signal to buy - if the last closed position was to buy, and it was closed on the take, then do not open more purchases until there is a "starting" condition for waiting for the signal (for example - the price must first cross a certain value, and only after that should react again to the signal to buy). If the position was closed, but not on the take value (for example, on the trail), then you can open a position to buy without waiting for the "starting" condition.
Well... I can think of a lot of different ways people use the knowledge that a position has been closed by a stop order.
Although rare, but convincing. The whole question is whether it is necessary to dig any depth in history?