tool · Forex & currencies
Forex Profit Calculator by Units or Lots
For a pair priced as quote currency per one unit of base currency, gross P&L in the quote currency equals the signed price change multiplied by base units. Use close minus open for a long and open minus close for a short. If the account currency differs, apply a clearly oriented user-supplied conversion rate, then subtract user-entered costs.

Key points
- Gross price-move P&L is calculated in the quote currency before any account-currency conversion.
- Units mode is direct; lots mode requires an explicit base-units-per-lot contract size from the exact symbol specification.
- A cross-currency rate must state whether one quote unit equals account units or one account unit equals quote units.
- The tool uses exact decimal fractions and round-half-away-from-zero for the displayed account result.
- Rates, fees and financing are supplied by the user; the calculator has no live broker or market feed.
Forex profit calculator
Loading the browser tool. The formulas, worked examples, sources and limitations remain available below.
Scope and assumptions
- The instrument is a linear Forex-style pair quoted as quote-currency units per one base-currency unit.
- Every conversion rate, contract size, fee and financing amount is user supplied and must be verified independently.
- The result excludes margin, liquidation, futures, options, inverse products, taxes, personalized advice and live execution.
Calculate the price move in the quote currency first
A Forex pair states how many units of the quote currency equal one unit of the base currency. For EUR/USD, EUR is the base currency and USD is the quote currency. If the price moves from 1.1000 to 1.1050, each euro has gained 0.0050 dollars relative to the entered prices. A long position with 100,000 base units therefore has a gross price-move result of 0.0050 × 100,000 = 500 USD. For a short position, reverse the price difference: open minus close.
The general formulas are:
- Long gross quote P&L = (close price − open price) × base units.
- Short gross quote P&L = (open price − close price) × base units.
- Lots mode: base units = lots × explicitly entered base units per lot.
- Net account P&L = converted gross account P&L − entered fees − entered financing cost.
MetaQuotes documents base currency, profit currency, contract size, digits and other properties as symbol-specific fields. That is why this tool asks for units or an explicit units-per-lot amount. It does not silently assume that every symbol called one lot represents 100,000 base units.
Keep base, quote and account currencies separate
The gross result initially has the quote currency as its unit. If the account also uses the quote currency, no cross-currency conversion is needed. If the currencies differ, an unlabeled conversion number is unsafe because multiplying and dividing answer opposite rate orientations. The calculator requires one of two dimensional equations:
| Rate orientation | Operation | Example |
|---|---|---|
| 1 quote currency = rate account currency | Multiply gross quote P&L by the rate | 1 GBP = 1.25 USD |
| 1 account currency = rate quote currency | Divide gross quote P&L by the rate | 1 USD = 150 JPY |
The rate is supplied by you. It is not fetched, current, executable or broker-derived. Preserve its source and timestamp when reconciling an account. The settlement-currency conversion reference explains why adding P&L in unlike currencies without a common valuation basis creates an incoherent total.
Worked long, short, lot and JPY examples
EUR/USD long in a USD account
For 100,000 EUR opened at 1.1000 and closed at 1.1050, the signed change is 0.0050 USD per EUR. Gross P&L is 0.0050 × 100,000 = 500 USD. With 7 USD of fees and a 3 USD financing cost, the net educational estimate is 490 USD.
EUR/USD short
For a short opened at 1.1050 and closed at 1.1000, open minus close is 0.0050. With 100,000 base units, gross P&L is also 500 USD. If the close were 1.1100 instead, the signed difference would be negative and the result would show a loss rather than changing the direction label.
Lots with an explicit contract size
Suppose 0.10 lot represents 100,000 base units per lot. The normalized quantity is 0.10 × 100,000 = 10,000 units. If EUR/USD moves from 1.2000 to 1.2025 for a long, the change is 0.0025 USD per EUR and gross P&L is 25 USD. The 100,000 input is an example to confirm, not a universal default.
USD/JPY converted to a USD account
A long of 100,000 USD moving from 150.00 to 150.50 produces 0.50 × 100,000 = 50,000 JPY gross. If the supplied inverse equation is 1 USD = 150 JPY, divide 50,000 JPY by 150 JPY per USD. At two display decimals the result is 333.33 USD. A JPY-denominated account would keep the 50,000 JPY result and commonly display zero currency decimals, subject to the account's own precision.
EUR/GBP converted with a direct rate
A long of 100,000 EUR moving from 0.8500 to 0.8520 produces 200 GBP. If the supplied equation is 1 GBP = 1.25 USD, multiply 200 by 1.25 to obtain 250.00 USD.
Costs are manual adjustments with explicit signs
The calculator does not infer spread, commission, swap, financing, taxes, rebates or currency-conversion markup. Enter commissions and fees as a non-negative total in the account currency. Enter financing as a signed cost: a positive value reduces P&L and a negative user-entered value represents a credit. This convention prevents a credit from being subtracted twice.
Spread may already be represented by the entered open and close prices. Adding it again as a separate cost can double count it. Similarly, an account statement may report net P&L after commission. Decide whether the entered price result is gross or net and document the convention before comparing it with another record. The pip-value calculator addresses the value of a chosen price increment; this page instead calculates the full entered price move.
Exact decimal arithmetic and display rounding
Financial examples such as 1.005 can sit on a rounding boundary that binary floating-point approximates imperfectly. This tool parses plain decimal strings into exact integer fractions, keeps that precision through quantity, price and conversion calculations, and rounds only the displayed account-currency amounts. It uses round-half-away-from-zero so +1.005 becomes +1.01 and −1.005 becomes −1.01 at two decimals. Rounded negative zero is displayed as zero.
The maintained ISO 4217 table supplies a starting display precision: for example, two minor-unit digits for USD and zero for JPY in the checked list. You may choose zero through eight decimals for comparison with a broker record. That setting changes display rounding; it does not change the full internal fraction.
Validation and scope boundaries
Plain decimal input excludes exponent notation, thousands separators, NaN and Infinity. Quantity, contract size, prices and a required conversion rate must be greater than zero. Base and quote codes must differ. Inputs are capped at 18 significant digits, prices and rates at ten fractional digits, quantities at eight fractional digits and computed absolute magnitudes below 1018. These are calculator safeguards, not broker trading limits.
The formula covers linear Forex-style currency pairs quoted as quote-currency units per base unit. It excludes futures, options, spread bets, inverse or quanto products, synthetic symbols and any broker instrument that uses a different profit formula. It does not calculate margin, liquidation, tax, affordability or an appropriate position size. MetaQuotes notes that a platform's own profit estimate depends on the symbol and account environment; compare this transparent worksheet with the actual broker specification and statement rather than treating it as an exact account forecast.
For sizing before a hypothetical trade, use the Forex position-size calculator. For reconciliation after activity, preserve the exact fills, symbol contract fields, conversion basis, commissions and financing with the trading journal workflow.
Questions and answers
How do I calculate Forex profit for a long trade?
Subtract the open price from the close price, multiply by base units, and interpret the result in the quote currency. Convert that result only if the account uses another currency, then subtract documented costs.
How do I calculate Forex profit for a short trade?
Subtract the close price from the open price and multiply by base units. A negative result is a modeled loss. The remaining currency-conversion and cost steps are the same.
Is Forex profit calculated in the base or quote currency?
For a linear pair quoted as quote currency per base unit, the initial price-move result is in the quote currency. It may then need conversion into the account currency.
Why must I enter contract size when I use lots?
A lot label does not by itself prove the number of base units or the monetary exposure. The exact broker symbol specification controls the units represented by one lot.
How does a JPY quote change the calculation?
The arithmetic still uses the quoted price difference times base units. The result is initially in JPY, and a non-JPY account needs a clearly oriented conversion rate. JPY accounts commonly display zero minor-unit decimals.
Does leverage change the gross Forex profit formula?
Leverage affects margin and risk capacity, but it does not enter this page’s linear price-change formula. The calculator does not estimate margin or liquidation.
Are spread, commission and swap included?
Only through the prices and manual fields you enter. The tool does not infer broker spreads or fee schedules. Avoid entering a cost separately when it is already represented in the prices or net account record.
Sources and further checks
Use the current source for your exact instrument, account and platform. Referencing a general specification does not establish support for every TradeCopier workflow.
- MetaQuotes MQL5 Reference: Symbol Properties · Checked September 21, 2026
- MetaQuotes MQL5 Reference: OrderCalcProfit · Checked September 21, 2026
- MetaQuotes MQL5 Programming for Traders: Estimating the profit of a trading operation: OrderCalcProfit · Checked September 21, 2026
- SIX Financial Information: Financial Data Standards · Checked September 21, 2026
- SIX Financial Information: ISO 4217 List One: Current Currency & Funds (XML) · Checked September 21, 2026
Found an error? Send a correction with this page's address and a primary source. See our editorial standards for how we handle examples, claims and revisions.


