The expectancy formula in R

Start by expressing every trade in R. 1R is the amount you planned to lose if the stop is hit: the distance from entry to stop times the position size. A trade’s R multiple is its result divided by that amount; for a long trade, (exit − entry) ÷ (entry − stop). Hypothetical: buy at $50.00 with a stop at $49.00, so 1R is $1.00 a share; selling at $52.10 is +2.1R, and a stop-out at $49.00 is −1R, or worse if the stop slips.

Expectancy is then simply the average R multiple: add up the R of every trade and divide by the number of trades. Splitting that average into winners and losers gives the familiar formula, E = W × average win − (1 − W) × average loss, which shows where an edge comes from: how often you win, and how much you win compared with what you lose. Multiplied by the money you risk per trade, it becomes an expectancy in dollars: at a fixed $100 risk, +0.2R is +$20 per trade on average, before taxes, with wide swings around that average.

R (1R)
The amount you plan to lose on a trade if the stop is hit: the distance from entry to stop times the position size.
R multiple
A trade’s result divided by its 1R. +2R means you made twice what you risked; −1R means you lost the planned amount.
Expectancy
The average R multiple per trade: W × average win − (1 − W) × average loss. Positive means the winners outweighed the losers in that sample.
Hit rate (win rate)
The share of trades that close with a profit, W. On its own it says nothing about profitability.
Payoff ratio
The average win divided by the average loss, both in R: the reward:risk you actually achieved.
Standard error
How far an average measured on a sample is likely to be from the true value: the standard deviation of the R multiples divided by the square root of the number of trades.

Win rate vs payoff: the trade-off and the breakeven win rate

A high win rate and a high payoff pull against each other. Tight targets are hit often but pay little; distant targets pay a lot but are hit less often. Neither number matters alone: a method that wins 7 trades in 10 still loses money if its average loss is three times its average win.

Set expectancy to zero and solve for W: W × R = 1 − W, so the breakeven win rate is 1 ÷ (1 + R), where R is the payoff ratio. At 1:1 you need to win more than 50% of trades; at 2:1, more than 33.3%; at 3:1, more than 25%. The curve below draws that line: above it expectancy is positive, below it negative.

Planned targets are not realized payoffs, which is why the risk/reward ratio guide treats the planned R:R as a starting point. The combinations below show expectancy per trade before costs; a real sample that shows a high hit rate and a large payoff at the same time usually means too few trades or missing costs.

  • Hit rate 30%: −0.40R at 1:1, −0.25R at 1.5:1, −0.10R at 2:1, +0.20R at 3:1.
  • Hit rate 40%: −0.20R at 1:1, 0.00R at 1.5:1, +0.20R at 2:1, +0.60R at 3:1.
  • Hit rate 50%: 0.00R at 1:1, +0.25R at 1.5:1, +0.50R at 2:1, +1.00R at 3:1.
  • Hit rate 60%: +0.20R at 1:1, +0.50R at 1.5:1, +0.80R at 2:1, +1.40R at 3:1.

Turn your phone sideways to read the image. Tap to close.

A curve of the breakeven hit rate, 1 ÷ (1 + reward:risk), with reward:risk from 0.5 to 4 on the horizontal axis and the hit rate from 0% to 70% on the vertical axis. The area above the curve is hatched green and labeled positive expectancy; the area below is hatched red and labeled negative expectancy. Three points are marked: 1:1 → 50%, 2:1 → 33% and 3:1 → 25%.

Losing streaks: how long they really get

Expectancy is an average, and averages hide the path. If each trade loses with probability q, the chance that the next N trades all lose is q to the power N. With a hit rate of 40%, q = 0.6, so the next 5 trades all lose with a probability of 0.6^5 ≈ 7.8%, and the next 8 with about 1.7%. That sounds rare, and it answers the wrong question.

The right question is how likely a streak is somewhere in a long series. Over 100 trades at the same 40% hit rate, a run of at least 5 losses shows up about 98% of the time, at least 6 about 87%, at least 8 about 49% and at least 10 about 20% (computed exactly, assuming independent trades). In other words, 8 losses in a row are close to a coin flip over 100 trades of a method with a positive expectancy.

Size positions so that such a run is survivable in money and in nerve, the subject of the Kelly criterion and risk management lessons, and decide in advance that a streak alone does not prove the edge has gone. Trading psychology explains why that is harder than it sounds.

Turn your phone sideways to read the image. Tap to close.

A ladder for a hypothetical 40% hit rate, so 6 trades in 10 lose. Each row shows a run of red squares for 5, 6, 8, 10 and 12 losses in a row, then the chance that the next N trades all lose: 7.8%, 4.7%, 1.7%, 0.6% and 0.2%, then a red bar for the chance of at least one such run in 100 trades: 97.6%, 87.3%, 49.0%, 20.5% and 7.7%. A note underneath reads the streak you will meet is longer than the one you expect.

How many trades before you trust the number?

An expectancy measured on a sample is an estimate, and its precision depends on the spread of the results and the number of trades. The standard error of the average is SD ÷ √n, where SD is the standard deviation of the R multiples and n the number of trades. A rough 95% range is the estimate plus or minus two standard errors. If that range includes zero, the sample cannot tell an edge from luck.

Hypothetical: a method that wins 40% of the time at +2R and loses 1R otherwise has a true expectancy of +0.2R and an SD of about 1.47R. With 30 trades the range is about −0.34R to +0.74R; with 100 trades, −0.09R to +0.49R; only with about 300 trades, +0.03R to +0.37R, does it clear zero. Solving for n gives a rule of thumb: trades needed ≈ (2 × SD ÷ E)², here (2 × 1.47 ÷ 0.2)² ≈ 216. Smaller edges or bigger outliers push that number into the hundreds or thousands.

Treat these as minimums, not targets. Trades are not perfectly independent, markets change and mixing setups blurs the result, so a few dozen trades are a first look, a few hundred are a reasonable test of one setup, and even then the estimate keeps its error bars.

Turn your phone sideways to read the image. Tap to close.

Three ranges for the same hypothetical edge, +0.2R per trade with +2R wins and −1R losses, each drawn as a line with end caps and a dot at +0.2: 30 trades from −0.34 to +0.74 and 100 trades from −0.09 to +0.49, both labeled includes 0: can’t tell; 300 trades from +0.03 to +0.37 in green, labeled all above 0. A dashed vertical line marks 0 = no edge, the axis reads expectancy per trade (R), ±2 standard errors, and the formula at the top reads trades needed ≈ (2 × SD ÷ E)² ≈ 216.

How costs and slippage cut expectancy

Costs are paid on every trade, winners and losers alike, so they come straight off expectancy. What matters is their size in R, which depends on the stop distance. Hypothetical: commission, spread and average slippage total $0.04 a share per round trip. With a $0.50 stop, that is 0.08R per trade, and a gross expectancy of +0.24R becomes +0.16R. With a $0.20 stop, the same $0.04 is 0.20R, and +0.24R shrinks to +0.04R, close to nothing.

Slippage also changes the shape of the results: stops in fast markets often fill beyond the stop price, so the average loss drifts above 1R, and a gap can jump a stop entirely. Measure costs rather than guessing them:

  • Record the actual fill price of every entry and exit, not the price you wanted.
  • Compute R from the planned stop and the actual result, so slippage shows up as losses larger than −1R.
  • Include commissions, fees and the bid-ask spread, and borrowing costs for short trades.
  • Be most skeptical of fast strategies with small targets: the shorter the stop, the larger the cost in R.

Measuring expectancy from your trading journal

A trading journal turns expectancy from a theory into a measurement. Log every trade the same way, then compute the numbers per setup, since one good setup can hide a bad one inside a combined average:

  1. For each trade, record the setup, entry, planned stop, exit, size, costs and the actual fills.
  2. Compute the R multiple of each trade after costs: the result in money divided by the planned risk in money.
  3. Group trades by setup and market, and keep the losers you would rather forget.
  4. For each group, calculate the number of trades, the hit rate, the average win, the average loss, the expectancy and the standard deviation of the R multiples.
  5. Add the standard error, the range of two standard errors around the expectancy and the longest losing streak.
  6. Track a rolling expectancy over the last 50 or 100 trades to see whether the edge is stable, without reacting to every dip.

Compare it with random entries

A positive expectancy can come from the market rather than from your signal. In a rising market, buying at random with a sensible stop and target can show a profit; in a flat market, costs usually turn the same random trading into a small loss. The honest benchmark is a random-entry version of your own method: same market, same period, same side, same stop size, same target or exit rule and the same costs, with only the timing of the entries randomized.

Run it many times, for example 1,000 runs with as many trades as your sample, and see where your result falls in that distribution. In the hypothetical example below, random runs center near −0.08R, the cost per trade, and 95% of them fall below about +0.08R; a strategy at +0.16R sits above that line, so its entries seem to add something in this sample. If your result sits in the middle of the random runs, the entry signal is not doing the work, whatever the backtest says. The same test is a key defence against backtest overfitting.

Turn your phone sideways to read the image. Tap to close.

A histogram of 1,000 random-entry runs of 200 trades each, with the same side, stop and target: gray bars form a bell shape centered at −0.08R, with a note reading costs pull random entries below zero. A dashed line at +0.08R is labeled 95% of random runs fall left of this line, and a green line at +0.16R is labeled your strategy: +0.16R. The axis reads expectancy per trade (R).

A worked example, step by step

Hypothetical: a trader’s journal holds 200 trades of one breakout setup, each risking 1R with the stop set before entry. Working through the numbers:

  1. Hit rate: 80 winners out of 200, so W = 0.40.
  2. Average win: +2.1R before costs; average loss: −1.0R before costs.
  3. Gross expectancy: 0.40 × 2.1 − 0.60 × 1.0 = 0.84 − 0.60 = +0.24R per trade.
  4. Costs: about 0.08R per trade, so winners average +2.02R and losers −1.08R, and the net expectancy is 0.40 × 2.02 − 0.60 × 1.08 = +0.16R.
  5. Spread: the standard deviation of the net R multiples is about 1.52R, so the standard error over 200 trades is 1.52 ÷ √200 ≈ 0.107R.
  6. Range: +0.16R ± 0.21R, from about −0.05R to about +0.37R. The edge is plausible but not yet proven; (2 × 1.52 ÷ 0.16)² suggests about 360 trades.
  7. Baseline: the strategy beats more than 95% of random-entry runs with the same stop and target, as in the drawing above, which supports the signal, with the caveat that it is a single test.
  8. Decision: keep trading it at a small, fixed risk, keep logging, and check again at about 360 trades instead of raising size now.

Common expectancy mistakes

Most expectancy errors come from measuring the wrong thing, or measuring too little:

  • Judging a method by its win rate alone. A high hit rate with small wins and large losses can still have a negative expectancy.
  • Trusting a few dozen trades. The range around a small sample usually includes zero.
  • Leaving out costs and slippage, or computing R from the actual exit instead of the planned stop.
  • Moving stops. Widening a stop turns −1R losses into −1.5R or −2R and quietly changes the method you are measuring; see stop-loss and take-profit.
  • Mixing setups. One profitable setup can hide a losing one; measure them separately.
  • Cherry-picking: skipping trades in the log, or restarting the count after a bad run.
  • Treating a backtest or a results table as a forecast. Any indicator’s statistics, including the simulated results table of the UpTickFlow Strategy, describe the past and are not a promise; your own journal is the test that counts.