Forex Profit & Loss Calculator
Calculate a buy or sell trade's directional pips, position pip value and gross P&L from entered prices and quantity. The result is converted once into account currency; if you enter a total trading cost, the calculator also shows gross P&L less exactly that amount. It models a hypothetical or completed interval, not future profit.
Trade inputs
Describe one completed or hypothetical price interval.
Supplies pip size, quote currency and stored standard contract size.
The currency used for the primary gross P&L result.
The entry or opening fill used in this estimate.
The exit, target or closing fill used in this estimate.
Fractional lot counts are accepted.
Multiplier applied to the selected instrument's standard contract.
Enter the position quantity directly instead of converting it from lots.
The required rate direction appears here.
Enter one nonnegative account-currency total only if known. Do not enter price effects already represented by your opening and closing fills a second time.
ROI = gross account-currency P&L divided by this account size.
Trade P&L estimate
Derived with Pip Pricing, Trade P&L and Basket P&L models 1.0.0.
How forex profit and loss is calculated
The signed price move depends on direction. It is multiplied by the position quantity to produce gross P&L in the instrument's quote currency, then converted once into the selected account currency. Costs are a separate optional account-currency input.
Sell move = Opening price - Closing price
Gross quote P&L = Signed price move x Position quantity
Directional pips = Signed price move / Pip size
Position pip value = Pip size x Position quantity x Quote-to-account rate
Gross account P&L = Gross quote P&L x Quote-to-account rate
Gross less entered costs = Gross account P&L - Entered total costs
Worked example: EUR/USD P&L and entered costs
How to interpret the result
USD 500 is gross scenario P&L for the entered prices and quantity. USD 493 is only gross less the USD 7 entered—not a claim that every charge is included. Reconcile both figures with actual fills, commission, swap, slippage, conversion charges and the broker statement.
Account-currency conversion rules
Scroll horizontally to compare every account-currency relationship.| Account relationship | Rate source | Transformation |
|---|---|---|
| Account = quote currency | No conversion required | Gross quote P&L is already in account currency |
| Account = base currency | The entered closing price | Divide gross quote P&L by the closing price |
| Account is neither currency | Manual account units per 1 quote unit | Multiply gross quote P&L by the entered cross rate |
For a one-standard-lot USD/JPY sell opened at 150.00 and closed at 149.50, gross quote P&L is JPY 50,000. A USD account uses the closing price: 50,000 / 149.50 = approximately USD 334.45.
Assumptions and limits
- The calculator is deterministic and uses only your inputs plus this site's pip-size and contract-size metadata.
- Cross-currency rates are manually entered and have no automatic timestamp or broker attribution.
- The optional cost input is one account-currency total. Only the amount entered is subtracted; omitted charges remain outside the model.
- Exact opening and closing fills may already reflect spread or slippage effects. Do not knowingly count the same price effect again in the cost input.
- Broker-specific symbol specifications, CFD contract sizes and rounding rules can differ; verify them before relying on the estimate.
- The output describes a hypothetical or completed interval. It is not a forecast, trade signal or position-size recommendation.
Sources and methodology
- MQL5 Reference — OrderCalcProfit documents platform-side profit estimation in account currency for an intended trade operation.
- MQL5 Programming for Traders — profit estimation lists calculation formulas by symbol calculation mode, including the contract-size formula used for forex and CFDs.
- MQL5 Reference — symbol properties documents contract, tick and calculation-mode fields that can differ by broker symbol.
The route composes Pip Pricing 1.0.0, Trade P&L 1.0.0 and the one-row case of Basket P&L 1.0.0. This preserves gross arithmetic while keeping user-entered costs explicit and separate.
Frequently asked questions
- For a buy, gross quote-currency P&L equals closing price minus opening price, multiplied by position quantity. For a sell, reverse the price order. The calculator then converts that result once into account currency.
- Pips measure directional price movement. Pip value is the account-currency amount for one pip at the entered quantity. Monetary P&L applies the full move to that quantity. A +50-pip EUR/USD move produces USD 500 gross P&L on one conventional standard lot and USD 5 on one micro lot.
- The calculator divides quote-currency P&L by the entered closing price. For example, a USD/JPY trade closed at 149.50 converts JPY P&L to USD using 149.50, not the opening price.
- When the account currency is neither the base nor quote currency, enter how many account-currency units equal one quote-currency unit. The calculator multiplies gross quote P&L by that manual rate.
- Only if you combine known charges into the optional account-currency cost input. The tool subtracts exactly that amount and labels the output gross less entered costs. Exact opening and closing fills may already reflect spread or slippage, so avoid counting the same effect twice.
- Gross ROI equals gross account-currency P&L divided by the entered account size, multiplied by 100. Adjusted ROI uses gross less entered costs instead. Neither is return on margin or a performance forecast.
- Yes. This site's XAU/USD metadata uses a 100-ounce standard contract and a 0.01 pip, while XAG/USD uses a 5,000-ounce standard contract and a 0.001 pip. Broker specifications can differ, so verify the symbol details.
- Leverage does not change gross P&L for a fixed price move and position quantity. It changes the margin required to hold that position and therefore changes exposure relative to the capital committed.
Continue your trade workflow
Compare broker contract terms
Before reconciling an estimate with a trading statement, verify the contract specification and charges for the broker entity available in your jurisdiction.
XM
Verify contract size, quote precision, account conversion and all applicable trading charges.
Check XM termsFXOpen
Confirm contract size, conversion method and volume rules before placing an order.
Check FXOpen termsRisk and affiliate disclosure: Leveraged forex and CFD trading can result in substantial losses. These are affiliate links, so ForexMT4Indicators.com may receive compensation if you register or trade through them, at no additional cost to you. Availability and terms vary by jurisdiction and broker entity.

