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 EUR/USD long execution: 0.12 lot, entry 1.1000 and exit 1.0980. The result is −20 pips and −24 USD, equivalent to −96 PLN at an assumed USD/PLN rate of 4. No separate fees or worse execution are included. This preset uses a USD account; PLN conversion requires changing both account currency and the rate.

Calculation inputs

Changing inputs recalculates the result. Use account currency for amounts unless a field names another unit.

A buy (long) benefits from a price rise; a sell (short) benefits from a price fall. Where do I find this input?
0.10 lot is one tenth of a lot. Where do I find this input?
Base-currency units in one lot. 100,000 is an example; enter the contract size from this instrument’s specification. Where do I find this input?
Actual execution price or your own assumption. Do not substitute the chart’s mid-price. Where do I find this input?
The difference between the appropriate bid/ask execution prices already includes the effect of spread. Do not deduct it again. Where do I find this input?
Examples: 0.0001 for EUR/USD and 0.01 for USD/JPY. Check the instrument: a pip and the smallest quoted point can differ. Where do I find this input?
Labels the amounts. Changing this currency does not fetch an exchange rate or automatically convert the numbers you entered. Where do I find this input?
Enter your own rate in the selected direction. USD → PLN: direct rate 4. JPY → USD: inverse rate 150. Enter 1 when the currencies are the same. These examples are not live rates. Where do I find this input?
Direct: 1 quote-currency unit equals this many account-currency units. Inverse: 1 account-currency unit equals this many quote-currency units. Where do I find this input?
Fees and financing
Opening and closing combined for the entered position, in account currency. Do not enter a per-lot rate here. Where do I find this input?
Account-currency amount for the full holding period of this position. Select a charge or credit. Where do I find this input?
A charge is subtracted from profit; a credit is added. Enter the amount without a minus sign. Where do I find this input?
Jump to the result ↓

Result for your inputs

Price movement in the position’s favour—
Profit or loss before separate fees—
Commission and financing, net cost—
Profit or loss after the entered fees—

How to interpret the result

Results appear when the calculator starts.

The difference between the appropriate bid/ask execution prices already includes spread. Enter separate fees as amounts for the whole position in account currency. The model applies to linear FX and excludes tax. A negative net cost means that the financing credit exceeds commission.

Calculations run in your browser. A downloaded CSV contains your inputs and results.

Work through the calculations

Pip value → position size → margin → portfolio risk. Transfer with a button and confirm before applying on the next page.

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

← Return to the article exercise

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.

Buy position · executionsFictional example. Buy at ask on entry: 1.10020; Sell at bid on exit: 1.10070; Difference / 0.0001 pip: 0.00050 / 0.0001 = 5; 0.10 lot · position pip 1 USD: 5 pips × 1 USD = 5 USD. Conclusion: the 5 USD price result already uses appropriate bid/ask executions. Do not subtract spread a second time; account for separate fees.ILLUSTRATIVE DIAGRAMBuy at ask on entry1.10020Sell at bid on exit1.10070Difference / 0.0001 pip0.00050 / 0.0001 = 50.10 lot · position pip 1 USD5 pips × 1 USD = 5 USD
Buy position · executions. Original diagram with fictional learning inputs; not a platform screenshot or broker offer.

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