Risk is the only thing you control.
You cannot control whether a trade wins. You control how much it costs when it doesn't, how many you take, and whether you're still here next month. This page is the arithmetic: R-multiples, expectancy, position sizing, drawdown recovery, loss limits, correlation, and a Monte Carlo you can run on your own numbers.
1 · Think in R, not in money ↑ top
R is your risk on a single trade — the distance from entry to stop, in money. Every outcome is then measured in multiples of it. This one change of unit makes results comparable across instruments, position sizes and account sizes, and it strips the emotion out of a number like "−£340".
"I made £900 today" tells you nothing — was that +0.5R on huge size or +6R on correct size? The first is luck with poor process, the second is a great day. R normalises luck out of the conversation. From here on, every metric on this page is in R.
2 · Expectancy — the number that decides everything ↑ top
# Expectancy per trade, in R Expectancy = (WinRate × AvgWin_R) − (LossRate × AvgLoss_R) # Example: 45% win rate, winners average +2.1R, losers average −1.0R = (0.45 × 2.1) − (0.55 × 1.0) = 0.945 − 0.55 = +0.395R per trade # Over 20 trades/month → +7.9R/month. At 1% risk per trade → ~+7.9% monthly.
| Profile | Win rate | Avg win | Avg loss | Expectancy | Feels like… |
|---|---|---|---|---|---|
| Scalper | 65% | +0.8R | −1.0R | +0.17R | Constant small wins; one bad exit ruins the day |
| Balanced day trader | 45% | +2.1R | −1.0R | +0.40R | Losing more often than winning, still growing |
| Trend follower | 32% | +3.5R | −1.0R | +0.12R | Long dry spells, occasional big days |
| The common trap | 62% | +0.6R | −1.4R | −0.16R | "I win most trades" — and bleed anyway |
That last row is the most common losing profile in retail trading: cutting winners early and letting losers run past the stop. High win rate, negative expectancy. It's why win rate alone is a vanity metric.
3 · Position sizing ↑ top
# The only sizing formula you need Size = (Account × Risk%) ÷ (StopDistance_points × PointValue) # Worked: £25,000 account, 1% risk, GER40 long, stop 22 points away, # point value £1 per point per contract RiskBudget = 25000 × 0.01 = £250 Size = 250 ÷ (22 × 1) = 11.4 → round DOWN to 11 contracts ActualRisk = 11 × 22 × 1 = £242 (0.97% — always round down, never up)
How much per trade? The 0.5–2% question
| Risk / trade | 10 straight losses costs | 20 straight losses costs | Suits |
|---|---|---|---|
| 0.5% | −4.9% | −9.6% | Learning, new strategy, volatile instruments (Silver, WTI) |
| 1.0% | −9.6% | −18.2% | The default for a proven, journalled edge |
| 2.0% | −18.3% | −33.2% | Only with 100+ logged trades and verified positive expectancy |
| 5.0% | −40.1% | −64.2% | Nothing. This is where accounts die. |
A 10-trade losing streak is not unusual: at a 45% win rate it happens roughly once every 300 trades — a few months of normal activity. Your risk-per-trade must be a number you can take ten times in a row without changing how you trade. That's the whole test.
Legitimate reasons to halve size: unusually wide spreads, a market you trade rarely, the setup is B-grade, you're inside a drawdown, or it's a news-adjacent session. Illegitimate reason to double size: "this one looks really good." Conviction is not evidence — the trades that feel best are frequently late-trend entries.
4 · Drawdown — the asymmetry nobody feels until it's late ↑ top
This asymmetry is the entire argument for hard loss limits. A −10% month is a bad month you trade out of; a −50% month is a different career. The defence is mechanical:
- Daily stop: −3R (or −3% at 1% risk). Hit it and you're done for the day — platform closed, not "one more to get it back".
- Weekly stop: −6R. Hit it and you're done for the week; spend the remaining days reviewing the journal instead.
- Drawdown de-risking: at −10% from equity high, halve position size until you've recovered half of it. This mathematically slows the bleed exactly when your judgment is worst.
- Recovery is a process problem, not a size problem. The instinct to increase size to "win it back faster" is precisely what converts a −10% into a −50%.
Run your own risk-of-ruin — a 20-line Monte Carlo
Don't take anyone's word for what your risk settings imply. Simulate your own edge thousands of times and look at the distribution of outcomes — including the ugly tail.
# Monte Carlo: what does MY edge actually feel like over a year? import numpy as np def simulate(win_rate=0.45, avg_win=2.1, avg_loss=1.0, risk_pct=0.01, trades=250, runs=10_000, seed=42): rng = np.random.default_rng(seed) finals, max_dds, ruined = [], [], 0 for _ in range(runs): equity, peak, max_dd = 1.0, 1.0, 0.0 for _ in range(trades): r = avg_win if rng.random() < win_rate else -avg_loss equity *= (1 + r * risk_pct) # compounding, fixed-fractional peak = max(peak, equity) max_dd = max(max_dd, 1 - equity / peak) finals.append(equity); max_dds.append(max_dd) if equity < 0.5: ruined += 1 # "ruin" = lost half the account return { 'median_return': np.median(finals) - 1, 'p10_return' : np.percentile(finals, 10) - 1, # the bad-luck year 'median_maxDD' : np.median(max_dds), 'worst_maxDD' : np.percentile(max_dds, 95), 'prob_halving' : ruined / runs, } print(simulate()) # baseline print(simulate(risk_pct=0.03)) # same edge, 3% risk — watch the tail explode print(simulate(win_rate=0.40)) # edge decays 5 points — still viable?
Read the p10 and the 95th-percentile drawdown, not the median. The median outcome is what you daydream about; the p10 path is the one that makes people quit. If your settings produce a plausible-looking median but a −45% bad-luck path, your risk per trade is too high regardless of how good the strategy is.
Re-run with (a) your real journal statistics rather than assumed ones, (b) win rate cut by 5 points to model edge decay, and (c) friction added — subtract your average spread cost in R from every trade. A strategy that survives all three is one you can size up. One that only works on optimistic inputs is a story.
5 · Correlation — when three trades are really one ↑ top
Risking 1% each on US500, US100 and GER40 longs is not 3 × 1% of diversified risk — it's roughly one 2.5% bet on "equities go up". Correlation is the hidden way disciplined sizing turns into oversizing.
- Cluster rule: cap total risk per bloc at ~1.5× your single-trade risk. Two index longs? Take 0.75% each rather than 1% each.
- Silver and Gold are one trade in the same direction — pick the better chart rather than doubling up. Silver's extra volatility means the pair is effectively a leveraged gold position.
- Watch the hidden common factor: a hot US CPI print hits equities, metals and oil simultaneously through the dollar/yields channel. On big data days, correlations converge toward 1 — exactly when you're most exposed.
- Total heat limit: never have more than ~3R of open risk across the whole account, regardless of how many good setups appear at once. Good setups cluster precisely because one macro driver is moving everything.
6 · Trade management — partials, trails and the exit problem ↑ top
Three exit models, and how to pick one
| Model | How it works | Best for | Cost |
|---|---|---|---|
| Fixed target | Exit fully at a pre-set level (e.g. 2R or the next structure) | Range days, scalps, news-adjacent trades | Caps the rare huge winner that pays for the month |
| Partial + trail | Half off at 1–1.5R, stop to breakeven, trail the rest on structure or Supertrend | The default for intraday trend setups | Slightly lower average win than pure runners; much better psychology |
| Full runner | No partials; trail everything until stopped out | Strong trend days, wave-3 contexts | Many give-backs; requires real discipline to hold through pullbacks |
Breakeven too early — moving the stop to entry after 0.3R converts winners into scratches; wait for a real structural reason (a higher low forming) or at least 1R.
Trailing too tight — a trail inside normal noise (less than ~1 ATR) guarantees you exit every trend early. Trail behind structure, not behind price.
Target beyond the obstacle — if a major level sits between entry and target, that's your realistic target, not the pretty number further out.
The metrics dashboard — what to actually track
| Metric | Formula | Healthy range | What a bad reading means |
|---|---|---|---|
| Expectancy (R) | (WR × AvgWin) − (LR × AvgLoss) | > +0.2R | No edge — stop sizing up, start diagnosing by setup tag |
| Profit factor | gross profit ÷ gross loss | > 1.3 | Below 1.0 you're paying for the privilege of trading |
| Avg win ÷ avg loss | — | > 1.5 for <50% WR | Cutting winners early or letting losers run |
| Max drawdown (R) | peak-to-trough in R | < 10R | Risk per trade too high, or trading through tilt |
| Rule-adherence % | on-plan trades ÷ all trades | > 90% | The most important one. A good system executed 60% of the time is a different, worse system |
| Trades per day | — | stable | Spikes correlate with revenge trading — check it against P&L by day |
Track these monthly, per setup tag and per market — that's how you discover that (say) your C1 pullbacks on GER40 carry the account while your Silver scalps quietly drain it. Prompt 17 on the prompts page does this analysis from a pasted journal.