Metrics · 5 min read

How to calculate trading profit factor

Profit factor is one of the few single numbers that describes both sides of your results at once. It is also one of the easiest to compute incorrectly.

The formula

Profit factor = gross profit ÷ absolute gross loss.

Gross profit is the sum of every winning trade's result. Gross loss is the sum of every losing trade's result, taken as a positive number. A profit factor of 1.0 means your winners and losers cancelled out exactly; above 1.0 means winners were larger in total; below 1.0 means losers were.

A worked example

Say ten closed trades produced: +120, +80, +40, +260, -60, -90, -30, -140, +50, -70.

Gross profit = 120 + 80 + 40 + 260 + 50 = 550. Gross loss = 60 + 90 + 30 + 140 + 70 = 390. Profit factor = 550 ÷ 390 = 1.41.

Note that the win rate here is 50%, which tells you nothing about whether the account grew. The profit factor does.

Include costs, exclude cash movements

Commission, swap and other fees are part of the trade result. If you compute profit factor on raw price movement you will consistently overstate it, and the gap widens the more you trade.

Deposits, withdrawals, credits and balance adjustments are not trades. They must be excluded from both gross profit and gross loss, or a single deposit can make a losing month look profitable.

  • Use net result per trade: price result minus commission, swap and fees.
  • Exclude non-trading balance operations entirely.
  • Compute per account and per currency — never blend two accounts together.

Where the number misleads

With no losing trades yet, gross loss is zero and profit factor is undefined — not infinite, and certainly not proof of an edge. Treat it as unavailable until you have losses to divide by.

Small samples swing wildly. A single outsized winner can lift profit factor above 2.0 across twenty trades and it will drift back as soon as the sample grows. Look at it alongside trade count, average trade and maximum drawdown rather than on its own.

How SeeResult computes it

SeeResult calculates profit factor from your synced broker trades using the net result of each closed trade, with balance operations excluded and each account measured separately in its own currency. When there are not yet enough closed trades for a number to be meaningful, it is shown as unavailable rather than estimated.

Let your journal fill itself in

SeeResult connects to your MT5 account and records every closed trade automatically, so your review starts with the interpretation instead of the data entry.

See plans and pricing