How does MetaTrader 5 calculate profit? - page 2

 
Manov, unfortunately, you have cited "2 trades" which are in no way sufficient and understandable.

Give a complete step-by-step layout of cross trades based on net prices, please. Exactly the step-by-step layout with prices and results.
 
Hrenfx, at what price do you want to do the conversion? Bid only or asc?

As soon as you only put up one side, you are immediately caught in error for not accounting for the second price. And to say that "losing the spread on conversion is wrong" is not right. It's really a conversion and it has to be done correctly.

If you switch trading to multi-currency accounting, you will have to close trading - 100% of traders will go crazy. More than 10 years ago I had the pleasure of parsing IG Index multi-currency reports after mass transactions. This is not the way of mass trading.
 
Renat:
Hrenfx, at what price do you want to convert? Only bid or ask?

To realise the departure from multi-currency accounting in favour of "simplification", the only true way to convert both ways is (Bid + Ask) / 2.

But in general there is no difficulty with multi-currency returns, you just have to accept that Equity even in the absence of open positions may change slightly until the rollover.

 
The banks will be quick to say what they think of this behaviour.

This issue has been raised many times - conversion transactions have to be correct so that no bank can pick up on it. And for the trader, the difference in conversion is almost irrelevant, as it is done on majors, which have a ridiculous spread (1.5-2.0 pips).
 

Specifics in the counter-example:

  1. EURGBP_Bid = 0.82207, EURGBP_Ask = 0.82217
  2. BuyLimit 100 lots EURGBP 0.82212 (inside spread) is set on Account_1.
  3. Accordingly, prices change: EURGBP_Bid = 0.82212, EURGBP_Ask = 0.82217.
  4. SELL 100 lots EURGBP market request is made on Account_2. I.e. at current Bid price.
  5. We have an open BUY 100 lots 0.82212 position on Account_1, and an open SELL 100 lots 0.82212 position on Account_2.
  6. EURGBP has changed by 100 pips: EURGBP_Bid = 0.83207, EURGBP_Ask = 0.83217.
  7. SellLimit 100 lots EURGBP 0.83212 (inside spread) is set on Account_1.
  8. Accordingly, prices change: EURGBP_Bid = 0.83207, EURGBP_Ask = 0.83212.
  9. 100 lots EURGBP BUY by market request is made in Account_2. In other words, at the current Ask price.
  10. We have closed positions in the correspondent accounts : on Account_1, profit +100 points or +100 000 GBP, on Account_2, profit -100 points or -100 000 GBP.
  11. At close, GBPUSD had the following prices: GBPUSD_Bid = 1.58389, GBPUSD_Ask = 1.58399.
  12. In MT5, at Account_1, profit is converted to GBPUSD_Bid: Profit = 100,000 * 1.58389 = $158389.
  13. In MT5, at Account_2, profit is converted to GBPUSD_Ask: Profit = -100,000 * 1.58399 = -$158399.
  14. Total amount of funds in Accounts 1 and 2 decreased by $10 when you sell and buy to yourself.

The spreads taken in the example are great. Under other conditions, the costs will be many times larger, especially when closing on the news.

 
hrenfx:

What conversion operations are we talking about? The logic is simple, you have to convert multi-currency profits to the account currency, nothing more. In the case of the example, the profit in GBP must be converted to USD. It doesn't matter whether the profit is positive or negative, you have to convert.

This is where the standard mistake comes in.

The result is important because in reality the conversion works like this:

  • If you have a profit of £10, you have to sell them at bid.
  • If you have a loss of -£10 then you have to buy them back at ak.
 
hrenfx:

The specifics are in the counter-example:

The spreads in the example are great. In other conditions the costs will be many times larger, especially when closing on the news.

Take a simpler example - BUY/SELL without any limiters. Why do you complicate the task and confuse it by going inside the spread?

Look at current prices, consider that trades are instantaneous and rates do not change.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Renat:
The banks will be quick to say what they think of this behaviour.

The banks will be quick to point out, of course, what kind of sideline you are allowing by walking away from multi-currency profits. But that kind of selftalking benefits them, of course, when using MT5, because they will be siphoning off free money from their clients. Taking into account total client turnover, that's a pretty penny apiece.

The bank will be in trouble if conversion is carried out like in the counter-example (they transferred from one account to another) and the amount of accounts does not match according to reports. All it takes is for the client of those accounts to point the auditors to the bank. Such a possibility alone will cause a lot of thought when assessing whether a bank should use the MT5 platform.

 
hrenfx:

The banks will be quick to point out, of course, what kind of sideline you are allowing by walking away from multi-currency profits. But that kind of selftalking benefits them, of course, when using MT5, because they will be siphoning off free money from their clients. Taking into account the total client turnover, they will get a lot of money.

The bank will receive a kick in the neck for such a scheme if there is a conversion, such as in the counter-example (transfer from one account to another), and the reports do not show the same amount of accounts. All it takes is for the client of those accounts to point the auditors at the bank. This possibility alone will cause a lot of thoughts when assessing the feasibility of using the MT5 platform.

You seem to live in some fantasy world where conversions are free. I don't even want to suggest you to do a double conversion in your bank account at your bank so as not to spoil the discussion by using trivial methods.

First, write out a clear and simple scheme of operations with EURGBP and USD deposit.

 
Renat:

You seem to live in some fantasy world where conversions are free.

Conversions are not free. But they are made at the time of rollover by the total netting of all clients. And if someone has transferred money from one account to another using the above method, he will not lose anything at all, apart from the broker's commission.

First, describe a clear and simple scheme of operations with EURGBP and a deposit in USD.

It is explainedhere.
Reason: