Home › Calculators › Losing Streak
Losing Streak Calculator
Get the probability of hitting a losing streak over a planned sample of forex or CFD trades, from your win rate and trade count. It uses an exact dynamic-programming model and runs in your browser.
For loss probability q, the isolated chance of exactly k losses in a row is q^k. The probability of at least one k-loss run inside N trades is computed with an exact no-run dynamic program, then subtracted from 1.
Sequence inputs
Loss-run estimate
The weekly forex risk-math letter
Pip values, lot sizing, prop rules — plus macro, US markets, gold, futures & crypto notes. One useful email a week. Unsubscribe anytime.
See what a real trade would cost you
Before you place this, compare brokers on the one number that matters — the all-in cost of spread and commission — using the same documented assumptions as the calculators.
Compare broker trading costs →Broker availability, products and leverage vary by country and jurisdiction. Educational tools for non-US traders · not directed at US persons.
How it works
What this calculator answers
The tool estimates whether a run of at least k consecutive losses appears somewhere inside N trades. That is different from q^k, which only describes one specific k-loss sequence.
Dynamic-programming model
The engine tracks the current tail length of consecutive losses from 0 to k-1. A win resets the state to 0. A loss moves the state up by 1. Paths that would reach k are excluded from the no-run total.
P(at least one k-loss run) = 1 - P(no k-loss run)
E[longest loss streak] = sum over k of P(at least one k-loss run)
Worked example
With a 45% win rate, the loss probability is 55%. Over 20 trades, the model estimate for at least one 3-loss run is about 86.9127%. The isolated probability of three losses in one specific block is 0.55^3 = 16.6375%.
Important limits
This model assumes independent outcomes and a stable win rate. Real trade outcomes can cluster by regime, news conditions, setup quality or execution quality, so the result should be treated as a model estimate.