This is the calculation that kills most scalping EAs before a single trade is placed, and it takes four lines of arithmetic. It also explains why a 5/10 EA advertising a 75% win rate is not impressive — it is the number the structure requires, not a discovery.
A symmetric bet balances when the expected gain equals the expected loss:
TP × w = SL × (1 − w) → w = SL ÷ (TP + SL)
For a 5-pip target and a 10-pip stop that is 10 ÷ 15 = 66.7%. Any win rate below that loses money no matter how good the equity curve looks, and any win rate above it makes money even if the curve is ugly.
Most traders subtract the spread from the profit and stop there. That is the wrong place to put it, because the spread is paid on entry: the price has to travel further to reach the target than it does to reach the stop.
On a 1.7-pip spread, a long needs to move 5 + 1.7 = 6.7 pip to collect the target, but only 10 − 1.7 = 8.3 pip against it to get stopped. A random entry with no forecasting skill at all hits the target first with probability 8.3 ÷ 15 = 55.3%.
So the structure demands 66.7% and blind luck delivers 55.3%. The gap — 11.3 percentage points — is the entry edge the EA has to actually possess. Not the win rate. The edge.
The cost of one pip of spread. On a 5/10 structure every extra 0.5 pip of spread takes 3.3 points off the free win rate. At 1.0 pip the required edge is 6.7pp; at 1.7 it is 11.3pp; at 2.5 it is 16.7pp. Same EA, same code, different account.
| TP / SL | Reward : risk | Break-even | Random entry (at 1.7 pip) | Edge required | Per trade at 70% |
|---|---|---|---|---|---|
| 5 / 10 | 0.50 | 66.7% | 55.3% | +11.3pp | +0.50 pip |
| 5 / 8 | 0.62 | 61.5% | 48.5% | +13.1pp | +1.10 pip |
| 5 / 12 | 0.42 | 70.6% | 60.6% | +10.0pp | −0.10 pip |
| 10 / 10 | 1.00 | 50.0% | 41.5% | +8.5pp | +4.00 pip |
| 20 / 20 | 1.00 | 50.0% | 45.8% | +4.2pp | +8.00 pip |
The last column is the trap. A 70% win rate on 5/10 earns half a pip a trade. That is not a strategy with a margin of safety; it is a strategy balanced on the width of a spread.
A win rate is a proportion, so its standard error at n closed trades is √(p(1−p)/n). At a true 70%, measuring it to within one percentage point needs about 2,100 closed trades. To within two points, about 525.
Now look at the cost of being wrong. On 5/10 each percentage point of win rate is worth 0.15 pip a trade. A 70% EA earning 0.5 pip a trade has its entire edge inside a 3.3-point error bar. A 300-trade sample has an error bar of roughly 2.6 points either side — which is most of the edge.
That is why this site reports closed-trade counts next to every win rate, and why the majority of the EAs in the database cannot support a verdict in either direction.
Searching the source of all 372 downloadable EAs for a strict 5/10 structure (take-profit at or under 6 pip, stop-loss between 8 and 12 pip) returns two:
| # | Structure | Win rate | Result over 32 months |
|---|---|---|---|
| 348 | 4.4 / 9.0 pip | 49.4% | −90.06% |
| 159 | 0 / 10 pip | 23.0% | −6.09% |
#348 needed 66.7% and delivered 49.4% — 17 points short, which is not bad luck, it is the absence of an edge. #159 has no take-profit at all (the 0 in the structure is literal), so the risk is capped and the reward is whatever the exit happens to catch.
Neither is a scalper that nearly worked. Both are what a 5/10 structure looks like when nobody checked the arithmetic before building it.
When a 5/10 EA advertises a win rate, the useful question is not “is 75% good” — it is “what is your entry edge, and how did you measure it?” The win rate is downstream of the answer, and it is mostly a function of the stop distance and the spread, both of which you already know.
Run the calculator above with the vendor's own numbers. If the required edge comes out above five points, the product is asking you to believe a forecast that most professional desks cannot demonstrate, and the burden of proof is on the curve they are selling.
Conditions: EURUSD H1, Feb 2024 – Oct 2026, 17-point spread measured on the live feed, open-prices-only modelling, €10,000 start. Arithmetic is exact; the 1.7-pip spread is an assumption you can change above. Raw results for all 372 files are in the database.