Most traders spend their energy on entries. Position sizing gets one line in the plan — "risk 1%" — and is then quietly ignored after a few winning trades. Yet sizing decides how long you survive a bad run, and survival is what gives any edge the time to show up.
What the 1% rule actually says
The 1% rule says: the amount you lose if your stop-loss is hit should be no more than 1% of your account. It doesn't say to put 1% of your account into each trade. A position can be large in notional terms and still risk only 1%, as long as the stop is close enough.
The rule has three parts:
- Account size — the equity you actually have.
- Risk per trade — the percentage you accept losing. 1% is a common starting point, not a law.
- Stop distance — where the trade idea is proven wrong.
Position size is what's left to solve for.
The formula
Position size = (Account equity × Risk %) ÷ (Stop distance × Value per unit of distance)
The "value per unit of distance" depends on the market: the pip value in forex, $1 per share per $1 move for stocks, the contract's point value for futures.
Forex example
- Account: $10,000. Risk: 1%, which is $100.
- EUR/USD long, stop 25 pips away.
- On one standard lot of a USD-quoted pair, a pip is worth about $10.
Position size = $100 ÷ (25 × $10) = 0.40 lots.
If the stop needed to be 50 pips, the size halves to 0.20 lots. Same risk, different size — that's the whole point.
Stock example
- Account: $25,000. Risk: 1%, which is $250.
- Buy at $50.00 with a stop at $48.00 — $2.00 of risk per share.
Position size = $250 ÷ $2.00 = 125 shares, or about $6,250 of stock.
The position size calculator does this for forex, gold, indices and crypto, including pip values for pairs that aren't quoted in your account currency.
Why small percentages matter: the losing streak
Every strategy has losing streaks, and they're longer than intuition suggests. Here's what ten consecutive losses do at different risk levels, each loss compounding on the remaining balance:
| Risk per trade | Balance after 10 straight losses | Gain needed to get back |
|---|---|---|
| 0.5% | −4.9% | +5.1% |
| 1% | −9.6% | +10.6% |
| 2% | −18.3% | +22.4% |
| 5% | −40.1% | +67.0% |
The last column is the cruel part: losses and recoveries aren't symmetrical. After a 40% drawdown you need a 67% gain just to break even. Try your own numbers in the drawdown calculator.
When to adjust the 1%
- Correlated positions. Long EUR/USD, long GBP/USD and short USD/CHF at 1% each is closer to one 3% bet against the dollar. Count correlated trades as one.
- Gaps and slippage. Stops aren't guaranteed. Over weekends, earnings releases or major news, price can jump past your level. Reduce size when gap risk is high.
- Strategy characteristics. A low win-rate trend system with long losing streaks may call for 0.5%; a higher win-rate system may tolerate more. Your own trade history is the best guide — the expectancy calculator helps you see the trade-off.
- Prop firm accounts. Daily loss limits often force smaller risk than you'd use on your own account. See prop firm challenge rules explained.
- Small accounts. If the broker's minimum position size already exceeds your risk at your stop, the honest answer is to skip the trade or wait until the account is larger — not to quietly risk more.
Leverage is not risk
Leverage changes how much margin a position ties up, not how much you lose when the stop is hit. A 0.40-lot EUR/USD trade with a 25-pip stop risks about $100 whether your leverage is 1:30 or 1:500. Leverage becomes dangerous when it lets you open positions far larger than your sizing rule allows.
Building sizing into code
If you automate, compute the size inside the strategy instead of hard-coding it. This Pine Script v6 example risks a fixed percentage of equity with an ATR-based stop. It uses syminfo.pointvalue, so the same logic works for stocks and futures; for forex pairs whose quote currency differs from your account currency, you'd also convert the risk amount.
//@version=6
strategy("Fixed-risk sizing demo", overlay = true, initial_capital = 10000)
riskPct = input.float(1.0, "Risk per trade (%)", minval = 0.1, maxval = 5.0, step = 0.1)
atrMult = input.float(2.0, "Stop distance (x ATR)", minval = 0.5, step = 0.5)
atr = ta.atr(14)
longSignal = ta.crossover(ta.ema(close, 20), ta.ema(close, 50))
if longSignal and strategy.position_size == 0
stopDist = atrMult * atr
riskCash = strategy.equity * riskPct / 100
qty = riskCash / (stopDist * syminfo.pointvalue)
strategy.entry("Long", strategy.long, qty = qty)
strategy.exit("Stop", "Long", stop = close - stopDist)
For MetaTrader, our MQL5 Expert Advisor risk checklist includes a lot-size function that respects the broker's volume step.
Try it with Edgoro
Tell Edgoro "risk 1% of equity per trade with a stop at 1.5 × ATR" and it builds that sizing into your TradingView strategy or MT5 Expert Advisor — no hard-coded lots. Try it with three free generations.
Trading involves substantial risk of loss. Position sizing limits risk; it doesn't remove it. Nothing here is investment advice.