Guides · EA development

EA statistics that actually matter: the metric matrix for judging your first Expert Advisor

ConfirmedTrades team · 15 June 2026 · 8 min read

Net profit tells you almost nothing. The expectancy, profit factor, drawdown, Sharpe and sample-size numbers that decide whether an EA keeps working.

Stop reading the bottom line first

When your first Expert Advisor finishes a run in the MT4/MT5 strategy tester, your eye goes to net profit. That is the least informative number on the report. Net profit is one draw from a distribution you have not yet measured, taken over a period you chose, at a lot size you could have set to anything. Double the lots and net profit doubles. The strategy did not get better.

A trading bot is judged the way a casino judges a table: by the size of the edge per bet, how often it gets to make the bet, how much it can lose while waiting, and how confident you are that the edge is real at all. Those are four different questions, so algo trading needs a matrix of metrics rather than a single figure. This guide lays out that matrix, explains how each number is computed, and shows where it sits on a ConfirmedTrades account page once the EA is running live.

Edge per trade: expectancy and profit factor

Expectancy is net profit divided by the number of closed trades, or equivalently win rate times average win, minus loss rate times average loss. It is what the average trade hands you. Worked example: 200 trades, 110 winners averaging $42, 90 losers averaging $38. Expectancy is (0.55 × 42) − (0.45 × 38), which is $23.10 − $17.10, so $6.00 per trade. Positive, but $6 is the whole edge, and if round-trip costs at your broker are $4 the EA is living on $2.

Profit factor is gross profit divided by gross loss: here 4,620 over 3,420, which is 1.35. Below 1.0 the system loses money; the Score's profitability component starts awarding points above 1.0 and maxes out at 2.5. On real money over a long record, 1.3 to 2.0 is the honest zone. A profit factor of 4 over 60 trades is not a great strategy, it is a strategy whose losses have not arrived.

Win rate on its own belongs nowhere in this matrix. Win rate is lying explains why a 90% win rate can lose money; for an EA developer the more useful derived number is the break-even win rate, which is 1 divided by (1 plus the payoff ratio). With a payoff ratio of 42/38, about 1.1, you need to win more than 47.5% of the time. You are winning 55%. That 7.5-point cushion is your margin of safety, and it is thin.

Distribution of trade results with a positive average trade$-180$-100$-20$60$140$220average trade +$17Result of a single tradeNumber of trades
The shape that matters: many small losses, fewer larger wins, and an average trade above zero. A win rate on its own would not tell you any of this.

Pain while waiting: drawdown and its cousins

Maximum drawdown is the largest peak-to-trough fall, as a percentage of the peak. ConfirmedTrades computes it on a time-weighted growth index, so deposits do not hide a fall, and it records two versions in a permanent ledger: balance drawdown (closed trades only) and equity drawdown (including floating positions). For an EA that holds losers, the equity number is the real one. Drawdown anatomy for EA developers goes deep on this.

Recovery factor is net profit divided by the maximum drawdown in currency. If the 200-trade example netted $1,200 and the worst drawdown was $600, recovery factor is 2.0: the EA has earned its worst loss back twice. The Score gives full marks for this at 5.0. Standard deviation of trade profit is the spread of individual results; a $6 expectancy with a $60 standard deviation means the noise is ten times the signal, which is why sample size matters so much.

An equity curve above its underwater drawdown plotEquityBelow the previous peakdeepest point -17.2%Time
The underwater plot beneath the equity curve shows how far the account sat below its previous peak, and for how long. Depth is only half the story — time spent down is the half that makes people quit.
  • Max DD (balance) and Max DD (equity): in Glance, from the anti-cheat ledger, never reset.
  • Recovery factor, Calmar, Ulcer index: Performance depth tiles, on plans that include it.
  • Std deviation of per-trade profit: the advanced statistics block on the account page.

Quality of the return: Sharpe, Sortino and GHPR

Two EAs can have the same expectancy and feel completely different to run. Sharpe ratio on ConfirmedTrades is the mean daily time-weighted return divided by the standard deviation of daily returns, not annualised and not adjusted for a risk-free rate. It answers "how many units of daily return per unit of daily wobble". Sortino only counts the downside wobble, so an EA with lumpy winners and tidy losers scores better on Sortino than on Sharpe, which is fair.

AHPR and GHPR are the arithmetic and geometric mean per-trade returns as a percentage of equity. GHPR is the one that compounds. If AHPR is 0.30% and GHPR is 0.05%, volatility is eating five sixths of your edge and you are sizing too large for the strategy's noise. Full detail in win rate is lying.

Is any of it real? Sample size and streakiness

The fourth row of the matrix is the one new developers skip. A 200-trade record with a $6 expectancy and a $60 standard deviation has a standard error of about $4.24 (60 divided by the square root of 200). The edge is only about 1.4 standard errors from zero. That is not proof; it is a hint. How many trades before you trust your EA works the arithmetic and explains the Z-score runs test that ConfirmedTrades shows next to the trade stats.

Concentration is the other honesty check. The AI review raises a watch flag when more than 85% of trades are on one symbol, and the Performance depth card shows what share of gross profit came from the best few days. If the top 10% of profitable days made 60% of the money, you have a lucky-streak system until proven otherwise.

Blunt version: a profit factor you cannot attach a sample size to is a rumour.

Costs, in points not dollars

Every metric above was computed after spread, commission, swap and slippage at one broker. Change the broker and every number moves. The Execution panel on a live-synced account shows the spread profile and signed slippage per symbol in points, so you can compare your EA's average winner in points with the round-trip cost it pays. If costs are more than about a third of the average winner, the strategy belongs to the broker, not to you. Broker cost audit walks through it.

The matrix on one card

Before you call a forex robot finished, fill in every row. A blank row is a decision you have not made yet.

  • Edge: expectancy in currency and in points, profit factor, payoff ratio vs break-even win rate.
  • Pain: max drawdown (balance and equity), recovery factor, std deviation of trade profit.
  • Quality: Sharpe from daily returns, Sortino, GHPR against AHPR.
  • Reality: trade count, calendar months, Z-score and its confidence, symbol concentration, best-days share.
  • Costs: spread and slippage in points per symbol, commission and swap as a share of the average winner.

Where to get the numbers for free

The expectancy calculator and the risk of ruin calculator run in the browser and cost nothing. When the EA goes live, connecting the terminal and publishing a verified record is free too: sign up, run the connector, and every row of the matrix is computed from the broker's data rather than from the strategy tester's. The next guide in this series, backtest vs forward test, explains why that distinction is the whole game.

Do it in one place

On ConfirmedTrades, every published account shows its verification badges, an AI strategy analysis that flags martingale, grid and missing stop-losses, the full drawdown and risk stats, and execution costs per symbol — so you can vet a strategy before you trust it, or prove your own.

All guides