The random-entry baseline everyone assumes is wrong by up to 24 points
If a trade has a fixed target, stop and time limit, the usual 1/(1+RR) baseline is not the right null. We measured it directly: for our equity setups the true random-entry rate is 27.9%, not 33.3%, and the error grows with barrier width.
You have a setup with a 2:1 reward-to-risk ratio. What win rate does random entry produce?
The reflex answer is 1/(1+RR) = 33.3%. It is wrong, and the size of the error depends on something most people never adjust for: how long the trade is allowed to live.
Why the shortcut breaks
1/(1+RR) is the untimed first-touch probability. It answers: starting from here, which barrier does price reach first, given infinite time?
Real trades do not get infinite time. Ours carry a fuse of 15 to 90 minutes. Add a time limit and the geometry changes:
The nearer barrier becomes systematically more reachable within the window.
The stop is closer than the target, so within a bounded window the stop is over-represented among the trades that resolve at all. The rest expire. So the observed win rate among resolved trades sits below the untimed figure — and the gap widens as the barriers get wider, because wider barriers mean more trades run out of time before touching anything.
What we measured
Rather than assume, we built a harness that measures the null directly. For each real signal it draws a random entry minute on the same symbol, the same session, with the same geometry and the same fuse, then resolves it by the same bar-walk rules.
That controls for everything except the timing decision, which is the only thing a signal actually claims to contribute.
The result for our equity setups:
Null = 27.90%, not 33.3%.
And the error is not constant:
| stop width | error in the naive baseline |
|---|---|
| under 0.5% | -6.6 points |
| 2% to 4% | -23.8 points |
At wide barriers the shortcut is off by nearly a quarter. Anyone comparing a strategy against 33.3% there is grading against a number that has nothing to do with their trades.
The harness has to prove itself first
A baseline generator is only trustworthy if it can reproduce reality when pointed at it. So before reporting any delta, ours replays the actual stored outcomes and checks it reconstructs them. It scores 0.988, and it refuses to report a delta at all below 0.90.
Without that gate we would have no way to tell "this setup beats random by 4 points" from "our simulator disagrees with our own database by 4 points."
What it found that we did not expect
Running the null across our setups surfaced a real defect worth about two points.
sa-flow-signal-stats walked outcomes from the bar containing the signal, so price action from before the entry could resolve the trade. For a thrust setup that pre-entry extreme is adverse by construction — it is the move the signal fires on top of. We were, in effect, letting each trade lose before it started.
That was invisible for months. It surfaced only because the null and the live numbers disagreed by more than the geometry could explain.
The highest-yield use: offsets
The most valuable thing this harness does is not grading. It is asking what if the same signal had fired earlier or later.
On one of our equity setups:
| entry timing | vs null |
|---|---|
| 30 minutes before the trigger | +19.98 points |
| at the trigger | -16.35 points |
Read that again. The symbol-day selection is good. The trigger is late — by the time the confirmation arrives, the move is spent.
That is a fixable problem, and we would never have found it by looking at the win rate. A setup that scores badly at its own trigger and well half an hour earlier is not a bad setup; it is a well-chosen list with a badly-placed clock.
Three of our setups share that shape. One, carrying about 90% of our signal volume, does not — it is flat at every offset. Those are two different problems and they need two different fixes, which is exactly the kind of distinction an aggregate win rate erases.
The rule
Never compare a strategy to 1/(1+RR) if the trade has a time limit. Measure the null on your own data, with your own barriers, your own fuse and your own resolution rules.
And validate the measuring instrument before you believe the measurement. Ours must reproduce known outcomes at 0.988 before it is allowed to say anything about unknown ones.