Are your positions small ones? I recall that because of the way average purchase price is calculated and some rounding that takes place, the figures that are displayed for gain are inaccurate when small sums of money are involved. There was a post about this in the past. It would take an AI engine better than my brain to find it again.

Best thing to do if you want to know gain is to calculate it from your total investment cost and its value if sold today.

Ok, I suppose your account is in USD, GBP or EUR. Mine is in CZK, so it depends on currency. Still strange, even with some rounding errors, there should not be such huge difference.

But the gain / loss value should be always calculated with the exchange rate you bought the stock. Then you will get gain at the same percentage in any currency. And of top of it you calculate the diff between current fx rate (fx impact).

The gain/loss RETURN is calculated totally in your home currency. Cost is cost in home currency at time you bought using exchange rate then. Value is value in home currency right now using exchange rate now.

RETURN % = (Value-Cost)/Cost x 100%
GAIN/LOSS % = price change % in other currency
FX IMPACT % = difference between the two above.

So from what I see the gain/loss amount is 100% correct.
But the gain/loss % is slightly out.
I guess the gain/loss % calculation needs to be done in USD only rather then whatever is causing the small discrepancy.
64.25/42.86 = 1.499 so 49.9% is the correct gain/loss %.

And the calculation for the correct gain/loss amount is what Phil showed.
64.25-42.86 = 21.39 dollars
(15.649806*21.39) = 334.74935 dollars
334.74935 dollars in czk is the ~7,303.04 which is what the app shows.

Anyway it just a small cosmetic issue and doesn’t impact you financially in any way.
I’m sure T212 can out it on their list as something to look into.

Gain should be 22.36 x 334.74935 = 7485 CZK (49.9%)

The overall calculation is correct, but more shares you have and more expensive, the diff is bigger and it is very misleading. 10% is huge difference ,

AD = average USD price per share
AG = average GBP price per share
CD = current USD sell price per share
FX = current GBP per USD

Define

RETURN% = (CD * FX/AG - 1) * 100% FX IMPACT% = (AD * FX/AG - 1) * 100% GAIN/LOSS% := RETURN% - FX IMPACT%

Note that this is not the true GAIN/LOSS% that would be experienced by a USD investor. The value that a US investor would look at is simply (CD/AD-1)*100%. What we have above is USD gain/loss per share, converted at today’s exchange rate to GBP, and then expressed as a percentage of the average GBP cost per share ie (CD-AD)*FX/AG * 100%

In truth RETURN should be [GAIN/LOSS] x [FX IMPACT] since these effects are actually multiplicative not additive. But it is easier to understand if we make them additive, which is what is done with the definition of GAIN/LOSS% as the difference of the other two,

The approximation being used here is

(1+a)(1+b) = 1 + a + b + ab, and imagine ab is small.

A gain of +1% combined with fx effect of +2% is actually (1.01)(1.02) = 1.0302 ie 3.01%. But it is clearer to most people if this is shown additive.