Profit Factor for Expert Advisors: A Worked Example

Profit Factor for Expert Advisors: A Worked Example

7 November 2026, 08:30
Shane Lee
0
3

A Strategy Tester report can show a profit factor of 2.0 and still give you very little to go on. I want to know where the ratio came from, how many trades produced it and what happens when I change the assumptions that matter in practice. Before I put weight on the headline number, I work through the report below.

1. Check what the number actually measures

Profit factor is gross profit divided by the absolute value of gross loss. If your profitable trades add up to $175 and your losing trades add up to $125, the profit factor is 1.40. That is $1.40 of gross gains for each $1.00 of gross losses in that sample. It is a ratio of sums. You cannot calculate it by averaging the individual trades' reward-to-risk ratios.

At 1.00, the winning and losing sides are equal on the accounting basis used in the report. If gross loss is zero, there is no finite ratio to compare. A tiny sample with no recorded losses tells you very little about what the EA could lose on a difficult day. Check how the reporting tool handles that case before copying its figure into a comparison.

Use the same accounting basis when comparing reports. MetaTrader documents gross profit, gross loss and the other Strategy Tester fields in its Testing Report reference. If you are comparing a tester run with live account history, check whether each figure includes commission and swaps and whether the exports count positions, trades or individual deals. Partial closes can make an apparent trade count look larger than the number of independent entries.

2. Recalculate it after costs

Take six hypothetical closed trades in USD. The winning trades are +100, +60 and +15. The losing trades are −50, −40 and −35. Before the extra costs in this example, the result is $50 net and a profit factor of 1.40.

Now suppose an additional $5 round-trip cost per trade was omitted. The winners become +95, +55 and +10. The losers become −55, −45 and −40. Gross profit falls to $160, gross loss rises to $140, and net profit falls to $20. The profit factor drops to approximately 1.14. The six trades are otherwise identical. These are illustrative numbers and are unrelated to any SmiteFX account or backtest.

Worked example showing profit factor falling from 1.40 to 1.14 after extra trading costs

Always apply costs at the trade level before separating winners and losers. A small winning trade can flip to a loss, which changes both sides of the ratio. Also check what the model already includes. If your fill prices already reflect the spread or slippage, charging it again would make the comparison misleading. For a short-hold EA, I would run at least one second scenario with less favourable fills and explain exactly what changed.

3. Look for a result carried by one trade or one period

In that same hypothetical sample, remove the +$100 trade as a sensitivity check. The remaining winners add up to $75 and the losses still total $125, so the pre-cost profit factor is 0.60. This is not a reason to delete a valid winning trade. It shows how much the original result depends on one outcome. That distinction matters when a strategy is supposed to make a few large wins and accept several smaller losses.

I like to run a similar check by calendar month, and then compare the strongest month with the rest of the history. Keep the original settings fixed. If a ratio looks attractive only in one short period, ask whether the strategy was exposed to a market condition it was designed to capture, or whether the outcome came from a few unusually favourable fills. Report the trade count beside each period. Ten trades on one instrument tell a different story from a larger record covering multiple market conditions, even when the displayed ratio is the same.

If you combine periods, add the gross gains and gross losses first. Averaging monthly profit factors can distort the result because a quiet month with a tiny loss total can produce a very large ratio and receive the same weight as a busy month.

4. Read the equity curve and the trade log alongside it

A profit factor tells you about completed outcomes under the chosen accounting rules. It does not tell you how far equity fell while positions were open, how long recovery took, or how much margin the system tied up. Two runs can finish with the same ratio and expose the account to very different losses along the way.

Check the equity drawdown and note whether the report is showing a currency amount or a relative percentage. Identify when the largest drop occurred and compare it with the trade log. Then ask whether the same settings, instrument specification and execution conditions would apply on your own broker. If you cannot recreate the basic test inputs, a screenshot alone is a weak basis for comparing two EAs.

Three review checks covering the trade sample, equity risk and execution costs

5. Use a repeatable review before comparing EAs

  1. Record the EA version, broker, symbol, account currency, tested dates and preset.
  2. Write down the spread, commissions, swaps and any slippage assumptions.
  3. Compare the original ratio with a run under tougher execution assumptions.
  4. Record trade count, equity drawdown and the largest contributor to gross profit.
  5. Keep a separate forward or out-of-sample record and document any changes to the setup.

As a practical exercise, you can apply this checklist when evaluating my Fortune MT5 EA. Start with the same symbol, dates and settings across your runs, then change only the cost or execution assumption you want to study. The calculations in this post are examples to show how the metric behaves. They do not describe Fortune’s performance or what any trader should expect.

My rule is simple. I write down the ratio, the number of trades, the equity drawdown and the execution assumptions together. If I cannot explain what drove the profit factor, I give it less weight until I can reproduce the result. Past performance does not guarantee future results.