RiskOct 23, 20267 min read

Expectancy beyond win rate: what a trade rule earns per trade in R

How to calculate expectancy in R, find the breakeven win rate for any target after costs, and see why 20 trades say little about an edge.

Key points

  • Expectancy = win% x average win - loss% x average loss, all in R and net of costs.
  • Breakeven win rate = (1 + cost in R) / (target in R + 1); small targets need very high win rates.
  • A 70% win rate can lose and a 35% win rate can win: the size of wins and losses decides.
  • 20 trades leave a very wide error band; treat expectancy as provisional until you have 100 or more.
  • Include every trade under one fixed rule set; changing rules mid-sample starts a new sample.

Win rate is the number most traders quote first, and on its own it tells you almost nothing about whether a method makes money. A rule that wins seven times out of ten can still drain an account, and one that loses most of the time can grow it. What decides the outcome is expectancy: the average result per trade, measured in R, after costs. This guide shows how to calculate it, what win rate you need for a given target, why a small sample can fool you, and how to pull the number out of your own journal.

Expectancy in one line

R is your planned risk on a trade: the amount you lose if the stop is hit (see position sizing with 1R). Measuring every result in R lets you compare trades of different size, in different markets, across months when your account balance changed.

expectancy (R per trade) = win% x average win (R) - loss% x average loss (R)

Average win and average loss are both written as positive numbers. A positive expectancy means that, over many trades taken exactly as planned, the method has historically gained that many R per trade on average. It says nothing about the next trade, which is still a coin with unknown weights.

Illustrative example: 45% winners averaging 1.8R and 55% losers averaging 1.0R gives 0.45 x 1.8 - 0.55 x 1.0 = 0.81 - 0.55 = +0.26R per trade. Over 100 trades at 1R = $100 that would be about $2,600 before any further costs, if the past pattern held, which it may not.

Breakeven win rate for a given target

If every winner reaches a target of T R and every loser is a full 1R stop, the win rate where expectancy is exactly zero is 1 / (T + 1). Costs change that. If commissions, exchange fees and slippage cost c R on every trade, a winner nets T - c and a loser costs 1 + c, so:

breakeven win rate = (1 + c) / (T + 1)
Breakeven win rate by target and cost per trade (all values in R; computed from the formula above)
TargetNo costsCosts 0.05RCosts 0.10RCosts 0.20R
0.5R66.7%70.0%73.3%80.0%
1R50.0%52.5%55.0%60.0%
1.5R40.0%42.0%44.0%48.0%
2R33.3%35.0%36.7%40.0%
3R25.0%26.25%27.5%30.0%

Read across the top row: a 0.5R target needs two wins in three just to break even with no costs, and four in five once costs reach 0.2R per trade. The same 0.2R of cost moves the 3R breakeven only from 25% to 30%. Real results are messier than this table, because winners do not all hit the target and losers are sometimes bigger than 1R, which is exactly why you measure your own averages instead of assuming them.

Why 70% can lose and 35% can win

Illustrative example, high win rate: a trader takes quick profits and lets losers run past the stop "to give it room". Over a sample, 70% of trades win an average of 0.4R, and 30% lose an average of 1.2R because stops slip or get moved. Expectancy = 0.7 x 0.4 - 0.3 x 1.2 = 0.28 - 0.36 = -0.08R per trade. It feels like winning most days, and the account still declines.

Illustrative example, low win rate: another trader uses a hard stop and a fixed 2.5R target. Only 35% of trades win, averaging 2.5R; 65% lose a clean 1.0R. Expectancy = 0.35 x 2.5 - 0.65 x 1.0 = 0.875 - 0.65 = +0.225R per trade. It feels like losing most days, and the method is the profitable one in this sample.

The second trader must sit through losing streaks. At a 35% win rate, five or more losses in a row are a normal event over a few hundred trades, so position size and a daily loss limit have to be built for that, not for the average.

Why 20 trades tell you very little

Expectancy measured from a small sample is a rough estimate with a wide error band. A simple way to see the size of that band is the standard error of the mean: the standard deviation of your per-trade R results divided by the square root of the number of trades. An approximate 95% range is the measured expectancy plus or minus about two standard errors.

Illustrative example: suppose a method truly wins 40% of the time at +2R and loses 60% of the time at -1R. Its true expectancy is 0.4 x 2 - 0.6 x 1 = +0.20R, and the standard deviation of a single trade's result works out to about 1.47R.

Illustrative uncertainty around a true +0.20R expectancy (standard deviation 1.47R per trade)
TradesStandard errorApprox. 95% rangeWin rate +/- 1 SE
200.33R-0.44R to +0.84R40% +/- 11 points
500.21R-0.21R to +0.61R40% +/- 7 points
1000.15R-0.09R to +0.49R40% +/- 5 points
4000.07R+0.06R to +0.34R40% +/- 2 points

Two exact binomial results make the same point. With 20 trades of this genuinely positive method, there is about a 25% chance the sample shows a net loss (six or fewer winners). And a method with zero edge (one win in three at 2R, no costs) has roughly a 34% chance of showing +0.20R per trade or better over 20 trades. So a good-looking first month is weak evidence, and so is a bad one. For this example the 95% range only clears zero at around 200 or more trades. Your own numbers will differ, but the square-root rule does not: halving the error band takes four times as many trades.

How to compute expectancy from your journal

Use the R column from a trade journal template, recorded net of all costs. Then:

  1. Filter to one setup and one rule set. Mixing an opening range breakout with discretionary trades produces an average of nothing in particular.
  2. Include every trade taken under that rule set in the period, including scratches, mistakes and the ones you would rather forget.
  3. Count winners (net R above zero) and losers (net R zero or below). Win% = winners / total.
  4. Average the winning R values, and average the losing R values as positive numbers.
  5. Apply the formula, then check it: the sum of all net R divided by the number of trades must give the same answer.
  6. Write down the trade count next to the result, and treat anything under about 100 trades as provisional.

Illustrative example, ten journal entries in net R: +1.9, -1.1, -1.0, +2.1, -1.05, +0.4, -1.0, +1.95, -1.2, -0.05.

Illustrative expectancy calculation from ten trades
ItemValue
Winners / losers4 / 6 (win rate 40%)
Average win(1.9 + 2.1 + 0.4 + 1.95) / 4 = 1.59R
Average loss(1.1 + 1.0 + 1.05 + 1.0 + 1.2 + 0.05) / 6 = 0.90R
Expectancy0.4 x 1.5875 - 0.6 x 0.90 = +0.095R
Checktotal +0.95R / 10 trades = +0.095R

Ten trades is far too few to say whether the method has an edge. The useful information here is in the details: one winner exited early at +0.4R, and one loss slipped to -1.2R. Those are the habits to review.

Costs and slippage eat small-R strategies

Costs are a fixed dollar amount per contract, so their size in R depends on how far away your stop is. Illustrative example on the Micro E-mini S&P 500, where one index point is worth $5 (check the live spec on cmegroup.com; see micro E-mini contract specs): assume $2.50 per round turn in commissions and fees plus one tick ($1.25) of slippage, $3.75 in total. Your actual costs will differ.

  • A 10-point stop risks $50 per contract, so costs are 3.75 / 50 = 0.075R. A 0.5R target then needs about a 71.7% win rate to break even; a 2R target needs about 35.8%.
  • A 4-point stop risks $20 per contract, so the same costs are 0.1875R. A 0.5R target now needs about 79.2% winners; a 2R target about 39.6%.

Tight stops with small targets look efficient on a chart, but every trade pays a toll that is a large slice of R. If your measured expectancy is +0.05R before costs, a cost of 0.1R per trade turns it into a loss.

Common mistakes

  • Cherry-picking. Leaving out "off days", news days or trades you call mistakes. If you took them, they belong in the sample, or you need a written rule that excludes them in advance.
  • Changing rules mid-sample. Moving the target or stop after a few losses starts a new sample. Results from the old rules and the new rules cannot be averaged together.
  • Gross instead of net. Expectancy before costs and slippage overstates the edge, most of all for short holding times and tight stops.
  • Using dollars instead of R. If size changed during the period, dollar averages are dominated by the biggest trades.
  • Trusting a hot streak. A strong 20-trade run is within the normal noise of a zero-edge method, as the table above shows.
  • Ignoring the losing streak. A positive expectancy with a low win rate only works if your size lets you survive the streaks it produces.

Expectancy is a description of the past under one fixed set of rules, not a forecast. Measure it net, in R, with every trade included, and give it enough trades before you believe it either way.

Examples use round, illustrative numbers and are not actual trades or results. Education only — not investment, tax or legal advice.

More on risk

Get the free position-size calculator

Turn any stop into a contract count, rounded down and costs included, plus an email when new guides and the playbook are published.