How does MetaTrader 5 calculate profit? - page 4

 
hrenfx:

Exactly right, the point is correctly taken into account, that's what I wrote about straight away. But it's not the here and now, but the total netting position of all clients at the time of the rollover. And there's no such distortion there because of that.

I see that soon the discussion will move to a higher level of generalization, since everything is reduced to the "aggregate netting position of clients at the moment of rollover".

This is a direct path to the statement "the broker should do away with intraday spreads as everything is decided on the rollover cumulatively".

Please explain by way of example which intraday conversion operations you are referring to. Let's not confuse the calculation of current margin requirements with conversion operations.

Margin requirements have nothing to do with it.

OK, give a simple example of how to calculate the conversion of the result of transactions in the base currency:

  1. Source data:
    EURGBP    0.82207 / 0.82217   (contract: 100 000 EUR)
    GBPUSD    1.58389 / 1.58399   (contract: 100 000 GBP)

    Валюта депозита USD

  2. BUY 1.00 EURGBP at 0.82217, market at 0.82207 (loss situation)
    BUY  1.00 EURGBP at 0.82217, market 0.82207, profit = -10 GBP

    по текущей рыночной цене у нас получился убыток в размере -10 GBP
    нам надо выкупить 10 GBP по цене Ask курса GBPUSD 1.58399 чтобы получить доллары

    USD profit = - 10 * 1.58399 = -15.839 9 USD

  3. SELL 1.00 EURGBP at 0.82207, market at 0.82197 (profit)
    SELL 1.00 EURGBP at 0.82207, market 0.82197, profit =  10 GBP

    по текущей рыночной цене у нас получилась прибыль в размере 10 GBP
    нам надо теперь продать 10 GBP по цене Bid курса GBPUSD 1.58389 чтобы получить доллары

    USD profit =   10 * 1.58389 =  15.838 9 USD

Note that a losing result in GBP is redeemed at GBPUSD ak and a profitable result is redeemed at GBPUSD bid. To show the accounting difference the GBPUSD rates are specifically fixed, only changed the current EURGBP price to show the case of loss and profit.

Show me - where is the error in converting the result from GBP to USD here?
 
Renat:

OK, here is a simple example of calculating the conversion of the result of transactions into thebase currency:

  1. Source data:

2.we make BUY 1.00 EURGBP at 0.82217, market at 0.82207 (loss situation)

3)SELL 1.00 EURGBP at 0.82207, market at 0.82197(profitable situation)

Please note that aGBP loss is redeemed at GBPUSD exchange rate and a GBPUSD profit is redeemed at GBPUSD bid. In order to show the difference, GBPUSD exchange rate has been specifically fixed. I have only changed the current EURGBP price to show a case of loss and profit.

Can you show me where there is an error in conversion from GBP to USD?

There is a difference because of BUY and SELL, no forloss andprofit situation. Convert GBP again - twice the spread!!!

You're scaring me, Renat. This is an amazing mistake.... I don't know who deceived you, how and why, but it's wrong !

 
Renat:

Show me - where is the error in converting results from GBP to USD?

Once again, the error is not in the logic of the conversion, but in the timing of the conversion. It is perfectly correct to convert GBP-profits to GBPUSD_Bid when the outcome is positive, and to convert them to GBPUSD_Ask when the outcome is negative. But what is important is when to do it. And what is the profit.

In the market this is done at the moment of rollover. And profit is converted cumulatively for all clients. You convert the profit here and now, and separately for each transaction.

The bottom line is the same, in the market and on the MT5 platform you get different results. They are just different. This does not seem to bother you.

 
Manov:

There is a difference because of BUY and SELL , no forloss andprofit situation. Convert again GBP - twice the spread!!!

You're scaring me Renat. This is an amazing mistake.... I don't know who deceived you, how and why, but it's wrong !

These are the rules of calculation and automatic conversion.

I am spelling it out in great detail, repeating it many times, saying that all these options have been calculated and double-checked, and all I get in response is the statement "it is wrong and that's it".

Go and reread my answers, and at the same time get this"the spread is always paid to the operator" thing out of your head.

 
hrenfx:

Once again, the error is not in the logic of the conversion, but in the timing of the conversion. It is perfectly correct to convert GBP-profits to GBPUSD_Bid when the outcome is positive, and to convert them to GBPUSD_Ask when the outcome is negative. But what is important is when to do it. And what is the profit.

That is, we try to combine the convenience of one relay scheme with the advantage of the other, full of clinical disadvantages. That is, we choose the most profitable, "combine" approaches and ignore the associated costs.

Your approach is understandable.

In the marketplace, this is done at the moment of rollover. And profit is converted cumulatively for all clients. You convert profit here and now, and for each transaction separately.

The bottom line is the same, on the market and on the MT5 platform you get different results. They are just different. This does not seem to bother you.

Let's end this conversation.

I'm tired of proving platitudes and battling against the platitudes.

 
Renat:

Let's end this conversation.

I'm tired of proving platitudes and battling against the thumbs up arguments.

You are an excellent programmer and organiser, but you have serious gaps in your knowledge and understanding of market and trading strategies. Your illiteracy and stubbornness on the verge of stupidity and narcissism is also annoying.

Not a single argument in favor of your position, except for verbiage, that you have vast experience and have consulted with someone. Nothing constructive.

You have been given absolutely concrete examples of the fallacy of your profit accrual scheme in response, but you are willing to step on the rake, considering perfectly logical market schemes to be obsolete, seeing them, not yourself, as a clinic.

You can elementarily give a third competent party my arguments, and listen to what people who are not familiar with MetaTrader, but who trade in the real market, will tell you.

Indeed, our conversations with you come to nothing. We are both stubborn and stick to our opinions. Here is just a small list of the issues of our stubbornness:

  1. The lack of a concept of an exact tick birth time. And the discreteness of datetime instead of seconds in milliseconds.
  2. Lack of Ask history. And inaccuracy of the tester due to it.
  3. Absence of possibility to customize history.
  4. Poticky model of bar forming, not a temporal one. Due to this, synchronized multicurrency bars are available only by close prices.
  5. Incorrect profit accounting.
  6. No possibility to modify the pending order volume.
  7. Absence of a possibility to obtain the history (without missing) of extreme ticks (several minutes).
  8. Absence of the virtual positions' mechanism. Because of this, trading and algo-trading in MT5 is very uncomfortable.

Let us not waste each other's time. I sincerely wish you good luck with your products.

 
hrenfx:

You are an excellent programmer and organiser, but you have serious gaps in your knowledge and understanding of market and trading strategies. Your illiteracy and stubbornness on the verge of stupidity and narcissism is also annoying.

Not a single argument in favor of your position, except for verbiage, that you have vast experience and have consulted with someone. Nothing constructive.

You have been given absolutely concrete examples of the fallacy of your profit accrual scheme in response, but you are willing to step on the rake, considering perfectly logical market schemes to be obsolete, seeing them, not yourself, as a clinic.

You can elementarily give a third competent party my arguments, and listen to what people who are not familiar with MetaTrader, but who trade in the real market, will tell you.

Don't accuse me of ignorance of accounting systems. All the variety of solutions have passed before me.

Technical solutions are a compromise between conflicting demands. Beginners can ignore inconsistencies and play the game of "take the best from here + take the best from here and remember to turn everything to their advantage in spite of the brokers' business" - they can forgive that.

"Perfectly logical old market schemes" are seen by those who have not used them in practice. Once used, a quick epiphany comes when your trades are recalculated at the "agreed rate" + often with additional custom rules. Also, multi-currency accounting is not designed for the mass market at all. The "real market" is very frustrating for traders after they are used to MetaTrader's services.

There is a reason you are here and not on the phone with your old broker, who sends forwarded reports once a month by post.

 

Не надо обвинять меня в незнании систем учета. Все многообразие решений передо мной прошло.

Технические решения являются компромиссом между разнонаправленными запросами. 

Yes, it must have been the multidirectional queries that made your mistake. I understand that the error is not accidental !!!

Renat, read againthe ABCs of currency trading,

and search for "pip value", "tick value" converter, calculator,

I already showed you how Dukascopy Bank SA calculates ...(http://www.dukascopy.com/wiki/#Get_pip_value_in_account_currency)

The situationwouldbevery funny ifitwasn'tso sad and sad...

You keep saying that all other brokers,who have their own platforms, all of them do not understand trading and work against themselves?

How serious can you say that?

I do not know who will trade real money on MT5, if you do not fix the differences... Probably nobody. Probably nobody...

I liked mt5 so much ...Too bad....

Азбука торговли валютами - Статьи по MQL4
  • www.mql5.com
Азбука торговли валютами - Статьи по MQL4: особенности автоматических торговых стратегий
 

Dear Manov,

When you tell me a couple of deals as I did in the first comment on this page, then your words will have weight.

Meanwhile, you are talking nonsense and cannot even clearly indicate in the example given the specific place of the error.

You probably don't understand that you are in a society of programmers where the conversation is conducted with numbers and formulas in hand.
 

Yes,you are allgood programmers and developers, there is no doubt about it. But when making a terminal for trading, you have to invite a few traders too...

I'll do both "write down a couple of trades" and "clearly indicate in the example given the specific location of the error" at the same time.

THIS IS HOW TO CALCULATE THE PROFIT :

Source data:

EURGBP 0.82207 / 0.82217 (contract: 100 000 EUR)

GBPUSD 1.58389 / 1.58399 (contract: 100,000 GBP)

Deposit currency USD

1.BuyMinusWe BUY 1.00 EURGBP at 0.82217, market is at 0.82207 (loss-making situation)We buy EUR and sell GBP. We obtain the result in GBP.

BUY 1.00 EURGBP at 0.82217, market 0.82207, profit = -10 GBP

at the current market price we incurred a loss of -10 GBP
we need tobuy back-10 GBP at Ask price GBPUSD 1.58399 to get dollars

USD profit = - 10 * 1.58399 = -15.8399 USD

2. BuyPlusWe BUY 1.00 EURGBP at 0.82217, market is at 0.82227 (profitable situation)We buy EUR and sell GBP. We get the result in GBP.

BUY 1.00 EURGBP at 0.82217, market 0.82227, profit = +10 GBP


at thecurrent market price, we havea profit of+10 GBP
We need tobuy back+10 GBP at Ask price GBPUSD 1.58399 to get dollars


USD profit = + 10 * 1.58399 = +15.8399 USD

3SellMinus SELL 1.00 EURGBP at 0.82217, market 0.82207 (profitable)WeSell EUR andBuyGBP. We obtain the result in GBP.

SELL 1.00 EURGBP at 0.82217, market 0.82207, profit = +10 GBP

at thecurrent market price, we have aprofitof +10 GBP
we need tosell+10 GBP at Bid price GBPUSD 1.58389 to get dollars

USD profit = + 10 * 1.58389 =+15.8389 USD

4.SellPlusExecution SELL 1.00 EURGBP at 0.82217, market at 0.82227 (unprofitable situation)WeSell EUR andBuyGBP. We obtain the result in GBP.

SELL 1.00 EURGBP at 0.82217, market 0.82227, profit = -10 GBP


at thecurrent market price, we havea loss of-10 GBP
we need tosellGBP-10 atBid price GBPUSD 1.58389 to get dollars

USD profit = -10 * 1.58389 =-15.8389 USD

Ifyou stilldo not understand, I will give up. I can't make a simpler explanation...

Reason: