SL and TP amounts shown on the line on the chart seem to be wrong

 

See attached images. The USD amounts shown for TP and SL have got to be wrong, and so there must be some kind of bug in the calculation, right?

This 0.1 position on the USDJPY equals a 10000 USD investment, and so if the price of USD in JPY went to 0 that should mean a complete loss of the initial investment at -10000 USD, right? But MT5 is showing me a loss of 5.3 million USD for this scenario.

The TP amount is also wrong according to a calculator I've used. The calculator shows that if the price goes to 311 as in the screenshot, the profit should also be around 10000 USD, and not around 5000 like in the screenshot.

This also makes sense without even using a calculator, since I entered at around a price of 155 JPY per USD, and a move to 310 JPY per USD should mean a doubling of my investment.

As for the other screenshot with less extreme amounts, the move up or down 20000 points should give the same loss and profit numbers, right? But here it shows a profit several hundred dollars lower than the loss for an equal move in price.

I'm surprised I can't find anyone else reporting this. I also see the exact same problem in the desktop application, but it was easier to show in the mobile app.

Am I just stupid or is this a bug?

Files:
IMG_2135.PNG  233 kb
IMG_2137.PNG  207 kb
 

You are mixing things up.

The value USD/JPY, means the value of the Dollars in terms of Yen.

If the USD/JPY drops to 0, it means that the USD is worth 0 JPY, so how much would the JPY be worth in USD?

It would be an infinite amount of money. So, when USD/YEN reaches 0, you would need an infinite amount of USD (all USD in the world), to be able to buy a single cent of JPY.

EDIT: I have taken a look at the screenshots and the values are correct. I would suggest you do some research into calculating currency pairs and their profit/loss of trades.

The following is where I started my learning of Forex ... Learn Forex Trading at School of Pipsology - Babypips.com

 
knuta86: This also makes sense without even using a calculator, since I entered at around a price of 155 JPY per USD, and a move to 310 JPY per USD should mean a doubling of my investment.

To help you decipher this one, I will explain it in simpler terms.

When the price was at 155, then that means that 1 Dollar = 155 Yen. Once it reached 310, it would have gained 155 Yen ( 310 - 155 = 155 ).

However, now the price is higher, so 1 Dollar = 310 Yen, and no longer 155 Yen. So, your 155 Yen profit converted back into Dollars is 155/310 = 0.50 Dollars or 50 cents.

Does that make more sense now?

EDIT: When you buy USD/JPY, you are actually buying Dollars with Yen (selling Yen), and when the position closes, you sell the Dollars and get back Yen in return (and vice versa when selling the USD/JPY).

 
So you would say the calculator in these screenshots is wrong?


Files:
IMG_2138.png  212 kb
IMG_2139.png  361 kb
 
KF #: So you would say the calculator in these screenshots is wrong?

Yes, it is incorrect, because that calculator is using the value based on the current market quotes, not based on initial opening and closing future value.

You will notice that if you use that calculator on different days, it will give you different results. It is bugged.

EDIT: Just used it now. Do you notice how the value is now different compared to yours (yours is on the right)?

It will change every day because it is calculating it incorrectly. Always learn to do the maths yourself. Don't rely on online calculators without testing that they actually work correctly.

 

 

Attention @KF and @knuta86! You are not allowed to have multiple MQL5 Community accounts.

Please select one and request that the Service Desk delete the other, otherwise you risk having them all deleted.

Terms and Conditions

12.13. The User shall use only one unique MQL5 ID on the www.mql5.com website. In case additional/repeated User accounts are detected, all of them shall be closed. MetaQuotes Ltd also reserves the right to invalidate all payment transactions made from additional/repeated accounts.

 

Here is a small MQL5 script that calculates the value ...

void OnStart() {
   string sSymbol = "USDJPY", sAccountCurrency = AccountInfoString( ACCOUNT_CURRENCY );
   double dbOpenPrice = 155.821, dbClosePrice = 310.000, dbVolume = 0.1, dbProfit;
   if( OrderCalcProfit( ORDER_TYPE_BUY, sSymbol, dbVolume, dbOpenPrice, dbClosePrice, dbProfit ) )
      PrintFormat( "Profit: %.2f in %s account currency.", dbProfit, sAccountCurrency );
   else
      Print( "Failed to calculate profit!" );
};

And the results ...

2025.02.17 06:04:53.333 TestOrderCalcProfit (USDJPY,H1) Profit: 4973.52 in USD account currency.

And as a manual check ...

310.000 - 155.821 = 154.179
154.179 / 310.000 = 0.49735161290322580645161290322581
Which is 4973.52 USD when adjusting for the traded volume of 0.1 of 100000.

 
Sorry about the double accounts. Used the sign in with Google button on my phone, but the original post was made from my desktop where I now realize I've used a different login method.

Your screenshot from the calculator still gives a profit of over $10000 though, and that difference of over $5000 compared to MT5 cannot be explained by any recent price movements on the instrument we are discussing when we are talking about a 0.1 position size.

So I'm still of the opinion that either the calculators I've tried all have to be wrong, or MT5 must be wrong.
 
KF #: Sorry about the double accounts. Used the sign in with Google button on my phone, but the original post was made from my desktop where I now realize I've used a different login method.Your screenshot from the calculator still gives a profit of over $10000 though, and that difference of over $5000 compared to MT5 cannot be explained by any recent price movements on the instrument we are discussing when we are talking about a 0.1 position size. So I'm still of the opinion that either the calculators I've tried all have to be wrong, or MT5 must be wrong.

Yes, most online calculators are wrong. And I have explained the reason why they are wrong. They are using the current price quotes only.

I have provided you with the correct maths and a link for you to learn about it. MetaTrader is implementing the correct approach.

Please dedicate some time to learning how to calculate it yourself.