The general formula for profit calculation:
For Buy trades:
P/L = (Lots x ContractSize × ClosePrice) - (Lots x ContractSize × OpenPrice)
For Sell trades:
P/L = (Lots x ContractSize × OpenPrice) - (Lots x ContractSize × ClosePrice)
where:
P/L – profit/loss nominated in quote currency of the instrument (normally 2nd currency in FX pair)
Lots – number of traded lots. MetaTrader platform operates with lots, while in common practice opened amount is equal actual traded volume (Lots x ContractSize).
ContractSize - the size of the contract in the base currency (normally 1st currency in FX pair). Standard contract size in FX is 100,000.
OpenPrice – the rate at which the trade is opened
ClosePrice – the rate at which the trade is closed
Once P/L is calculated in quote currency it is converted at current rate to Account currency in case they are different. Quote currency is normally second currency in the pair. For example, for EURUSD quote currency is USD.
Example 1: Let's calculate the USD profits/loss for a position on EURGBP.
The position:
Trading volume in lots: 0.1
Trading Instrument: EURGBP
Direction: Sell
EURGBP Open Price: 0.84979
EURGBP Close Price: 0.84872
Contract Size (in EUR): 100,000 EUR
GBPUSD Rate: 1.18479 (to convert the profits/losses from GBP to USD)
P/L(GBP) = 0.1 x 100,000 x 0.84979 – 0.1 x 100,000 x 0.84872 = 8,497.9 – 8,487.2 = 10.7
P/L(USD) = 10.7 x 1.18479 = 12.67725
Example 2: Let's calculate the JPY profits/loss for a position on USDJPY.
The position:
Trading volume in lots: 0.1 lots
Trading Instrument: USDJPY
Direction: Buy
USDJPY Open Price: 136.740
USDJPY Close Price: 137.180
Contract Size (in USD): 100,000 USD
P/L(JPY) = 0.1 x 100,000 x 137.180 – 0.1 x 100,000 x 136.740 = 1,371,800 – 1,367,400 = 4,400