05 · Concepts
R-Multiple: How Limbix Measures Risk and Reward
An R-multiple is your P&L divided by what you risked. How Limbix gets risk from your stop, what happens with no stop, and how expected R:R is calculated.
An R-multiple is a trade's result measured in units of what you risked. In Limbix, risk comes from your stop: the distance from entry to stop, times the instrument's point value, times your quantity. A trade that risked €200 and made €400 is +2R. One that lost €200 is −1R, whatever the instrument.
- Stop
- The stop loss on the trade. It must sit on the losing side of entry, or there is no risk amount.
- Point value
- What a 1.00 price move is worth per contract or unit, from the instrument list.
- Net P&L
- P&L after fees.
- Target
- The take profit. It must sit on the winning side of entry.
src/lib/trade-rr.tsWhy Limbix measures every trade as an R-multiple#
Euros can't compare a scalp on a micro contract with a swing on a full-size one. R can. It asks one question of every trade: when you were wrong, did the loss stay the size you planned?
No stop on a losing trade. Limbix uses the exit price as the stop you never had. What the market took is what you risked, so the trade lands at about −1R. It is marked as exit basis. Dropping these trades would hide exactly the undisciplined losses R exists to show.
No stop on a winning trade. No R at all. A win says nothing about what was at risk, and inventing a denominator from the exit would hand you a flattering +1R from nothing.
Exit-basis losers are left out of Loss Containment. They are −1R by construction, so counting them would score a trader who never uses stops a perfect 100.
Example#
Say one point is worth €50 on the instrument you trade. You go long 2 contracts at 100.00, stop at 98.00, target 106.00. You exit at 104.00 and pay €10 in fees.
- Risk amount = 2.00 × 50 × 2 = €200
- Expected R:R = 6.00 ÷ 2.00 = 3.0
- Gross P&L = 4.00 × 50 × 2 = €400, so net P&L = €390
- Realized R = 390 ÷ 200 = +1.95R
Now the same entry with no stop, exiting at 97.50 for a €250 loss plus €10 fees. The exit stands in as the stop: risk = 2.50 × 50 × 2 = €250, net P&L = −€260, realized R = −1.04R on exit basis.
More: target price, contracts, value of one point, fees
Where it affects your numbers#
- Avg R and the R-multiple distribution use realized R. Trades with no R fall in the "No R" bucket.
- Risk Consistency compares each trade's risk amount with your median.
- Loss Containment counts planned-basis losers that closed at their stop, with a small allowance for slippage and fees.
- Risk Rule Adherence checks risk amount against your cap and expected R:R against your playbook's minimum.
- Your stand-down line in R adds up realized R through the day.
Point values come from the instrument list. A symbol with no known point value has no risk amount, so none of the above can use it.
Frequently asked questions#
What does R mean in trading?#
R is the amount you risked on a trade, set by the distance to your stop. Results are then counted in multiples of it: +2R made twice what you risked, −1R lost exactly what you planned. It lets you compare trades of different sizes and instruments on one scale. In Limbix, realized R is net P&L divided by that risk amount.
Why does my losing trade show −1.03R instead of −1R?#
Because Limbix uses net P&L, after fees. A stop that filled exactly where you placed it still loses the fees on top, so the result lands a little past −1R. That is why Loss Containment allows a small margin past −1R for slippage and fees before it counts a stop as run past.
Why does my winning trade have no R?#
It has no stop recorded. Limbix only measures a winner's R against a stop you actually set. Open the trade in Trade Log, click Edit, fill Stop loss with the price you really had, and click Save changes. R is recomputed at once.
Is expected R:R the same as risk-reward ratio?#
Yes. Expected R:R is the distance from entry to target divided by the distance from entry to stop, from the prices you planned. It needs both a stop and a take profit on the correct sides of entry. Your playbook's minimum R:R is checked against it in Risk Rule Adherence.