ARMF calculation methodology
Below is the ARMF calculation methodology in full: which formulas are applied, which assumptions are made and where the model knowingly simplifies reality. If some value in an article raises a question, the answer should be here.
The main formulas
| Value | Formula | Where it applies |
|---|---|---|
| Money risk | equity × risk percentage | All size calculations |
| Size in lots | risk ÷ (stop length × pip value) | Position size calculator |
| Margin | notional ÷ leverage | The lot calculator, the articles on leverage |
| The R/R ratio | (target − entry) ÷ (entry − stop) | R/R calculator |
| Net R/R | (R/R − costs) ÷ (1 + costs) | R/R calculator |
| Break-even win rate | 1 ÷ (1 + R/R) | Metrics, the R/R calculator |
| Expectancy per trade | p × R/R − (1 − p) | Metrics, all simulations |
| Profit factor | (p × R/R) ÷ (1 − p) | Metrics |
| Drawdown | (peak − equity) ÷ peak | The articles on drawdown |
| Required growth | hole ÷ (1 − hole) | The drawdown calculator |
| Trades to recover | ln(1 + growth) ÷ ln(1 + average trade) | Drawdown calculator |
| Kelly fraction | (p × R/R − (1 − p)) ÷ R/R | Kelly calculator |
| Probability of the streak | a Markov chain with an absorbing state | The streak calculator |
The assumptions made
- Trades are independent
- The outcome of one trade does not affect the next. In reality market regimes change and losses cluster — so the calculated streak lengths are better treated as a lower estimate.
- The win rate and the ratio are constant
- The model treats them as unchanged over the whole distance. In fact they drift, and the longer the horizon the more.
- The bet is counted from current equity
- This matches the fixed-fraction rule. For a fixed lot the results will be different — usually worse in a drawdown.
- The outcome of a trade is binary
- Either the target or the stop. Partial closes, trailing exits and closes by time are not modelled.
- Costs are set explicitly
- The spread and commission enter the calculation wherever there is a field for them. The swap is accounted for only in the articles, not in the calculators.
- Slippage is not modelled
- All stops are treated as executed at the stated price. Real fills in a fast market are worse, so the calculations are more optimistic than reality.
Where the numbers in the examples come from
The numbers in the texts are not illustrations «for clarity» but results of a calculation. The order is this: a value is computed by a script, then substituted into the text, then checked against the calculator on the corresponding page. If the same value differs between an article and a calculator, that is our error and it is worth writing about.
Separately about rates and specifications. The pip value, the contract size and the margin call and stop-out levels differ between brokers and change over time. We give them as an order of magnitude with a note that exact values are taken from the instrument specification at your own broker on the date of use.
How to check our forex calculations yourself
All the calculations are reproducible without special tools. Below is what each class of values requires.
| What we check | With what | How long it takes |
|---|---|---|
| Size, margin, pip value | A calculator, four operations | a minute |
| The ratio and the break-even win rate | The same four operations | a minute |
| Drawdown and recovery time | A compound growth formula in any spreadsheet | 5 minutes |
| The probability of a losing streak | A Markov chain in a spreadsheet or a short script | 20 minutes |
| The Kelly share and the growth rate | A formula and a logarithm in a spreadsheet | 10 minutes |
| The distance simulation | A random number generator in a spreadsheet, 500-1000 rows | 30 minutes |
If your result differs from ours, it is either an error in our numbers or a difference in the assumptions — most often in whether the risk is counted from current equity or from the starting deposit. Both cases are worth sending to the editors: the first we will fix, the second we will state explicitly so that the discrepancy does not arise again.
What the calculations do not do
Frequently asked questions
Why is the generator seed fixed in the simulations?
For repeatability: identical inputs must give an identical answer. A random seed would change the result after every touch of a slider, and there would be nothing left to compare settings by.
How many runs are there in the simulations?
Three thousand runs for the losing streak and two thousand for the distance: at that number the middle and the edges of the distribution are stable while the page computes without a noticeable pause.
Can the formulas be carried over into my own spreadsheet?
Yes, that is exactly why they are written out. The only thing that does not carry over directly is the simulations: they need a random number generator, but even those are not hard to reproduce with standard spreadsheet tools.
Why is risk counted from equity rather than from the balance?
The balance does not account for open positions: with a losing trade open, counting from the balance overstates the allowed size exactly when the account is already under load.
Why is the size rounded down?
Rounding up raises the actual risk above the rule. On a single trade the difference is small, but systematically it means your real risk percentage is always larger than declared.
Which values are taken from the broker's specification?
The pip value, the contract size, the minimum size step, the leverage, the margin call and stop-out levels, the spread, the commission and the swap. We give them as an order of magnitude because they differ between brokers.
Are taxes accounted for in the calculations?
No. The tax regime depends on the jurisdiction and the status of the trader, so all calculations on the site are pre-tax.
Why is slippage not modelled?
Because its size is unpredictable and depends on the moment. All stops are treated as executed at the stated price, which means the calculations are more optimistic than reality — that is worth allowing for.
Why exactly 2,000 and 3,000 runs in the simulations?
It is a compromise between the stability of the result and speed: at that number the median and the percentiles are stable while the calculation runs in the browser instantly.
What to do if my calculation differs from yours?
Check the base: was the risk counted from equity and is the stop set in the right units (pips against points). If the discrepancy remains, write to us — either we fix an error or we state an assumption explicitly.