Net profit and loss calculator
Calculate long or short profit from execution prices. Convert to account currency and include commission and financing.
Start with an example
Assumed execution prices: buy at 1.1000, sell at 1.1050, volume 0.10 lot. The result is +50 USD before separately booked fees.
Work through the calculations
Pip value → position size → margin → portfolio risk. Transfer with a button and confirm before applying on the next page.
Data from the previous step
A draft remains usable for 30 minutes and is stored in this browser session on this domain. We do not send it to the server or put amounts in the URL. A browser may retain a restored tab session; use “Clear calculation draft” to remove the data.
How the result is calculated
Long price change = close − open. Short price change = open − close. Gross profit or loss = price change × contract size × lots, after currency conversion. Net result = gross result − commission − financing charge, or + financing credit.
Worked example
Hypothetical example: a 0.10-lot EUR/USD long executed at 1.1000 and closed at 1.1050. The difference × 100,000 × 0.10 gives +50 USD and +50 pips. A 0.70 USD commission for the whole position and a 0.80 USD financing charge leave +48.50 USD net. Spread is not deducted again.
Specifications and conventions: MetaQuotes: profit in account currency
Inputs before results
Where do I find this calculator’s inputs?
Gather the instrument specification, account settings and your own assumptions. Do not treat default values as your broker’s settings.
Conclusion: the 5 USD price result already uses appropriate bid/ask executions. Do not subtract spread a second time; account for separate fees.
Contract and volume specification
Open the specification for the exact symbol and account type you will use. In MT5: Market Watch → symbol context menu → Specification. Read the contract size per 1 lot and the minimum, maximum and volume step.
100,000 base-currency units per lot is our example assumption. A position of 0.10 lot then represents 10,000 units. A 0.01 step does not establish the minimum or maximum; check all three settings.
Return to the form ↑Pip, point and value per 1 lot
First establish the pip size in price units. Separately check the quoted point and the minimum price increment (tick size). The number of decimal places alone does not give a pip’s cash value.
For our fictional EUR/USD, a 0.0001 pip is ten times the 0.00001 tick. With a 100,000 EUR contract and a USD account, a tick of 1 lot is worth 1 USD and a pip 10 USD. Enter 10 in a per-lot pip field, although a pip of a 0.10-lot position is worth 1 USD. Platform tick values can differ for a profit and a loss; check the direction, currency and current conditions.
Return to the form ↑Execution prices, distances and spread
For position P/L, use actual prices from execution history; for a plan, use your assumptions for the appropriate quote side. A buy opens at ask and closes at bid. A sell opens at bid and closes at ask.
A distance in pips is the price difference divided by pip size. When execution prices already include spread, do not subtract it again. The separate spread in the cost comparison is one modelled cost. Enter slippage as additional adverse execution for the whole trade only when it is not already included in prices or distances.
Return to the form ↑Currency and conversion direction
Read account currency from account settings and quote currency from the pair: it is USD in EUR/USD. The conversion rate must connect the amount’s currency and account currency; also record the time and source of the quote.
Fictional 1 USD = 4 PLN: direct rate 4 converts 10 USD × 4 to 40 PLN. The same inverse quote is 1 PLN = 0.25 USD; 10 USD / 0.25 = 40 PLN. Enter 1 for identical currencies. Changing the currency label neither retrieves a rate nor converts the amounts you entered.
Return to the form ↑Commission for the whole position
This calculator’s commission field takes the amount for the full entered position and both executions. Read it from the statement or first scale a per-lot rate to the volume.
A fictional 7 USD per-lot round-trip rate gives a 0.10-lot position a charge of 0.70 USD. Enter 0.70 here, rather than 7. Check for a minimum fee, which can make simple rate-times-volume scaling insufficient.
Return to the form ↑Financing for the whole position
Read the complete position’s financing over the entire holding period from the statement. For a planned result, first convert the instrument rate using its units, volume and schedule.
Enter the account-currency amount, rather than a per-lot rate. Enter it without a minus sign and choose charge or credit. Work out periods with changing rates separately instead of assuming one fixed rate throughout.
Return to the form ↑Check field meanings in the platform documentation: MetaQuotes: specification and fees · MetaQuotes: order profit estimate