strategy | session | volatility | RSI | trend — and issued a verdict per group. Those verdicts were then locked.Read the first cell again. Across 8,321 trades and nearly three years, not one set of conditions cleared the bar for a proven edge at any point, on any slice of the data. The proven-edge column is empty and stays empty.
| Strategy in the test window | trades | net | $/trade | win% |
|---|---|---|---|---|
| Take every signalno filter | 3,567 | −$19,393 | -5.44 | 52.4% |
| Skip NDCobey the frozen verdicts | 1,691 | −$4,965 | -2.94 | 54.9% |
| CORE onlytrade only proven-edge conditions | 0 | no trades | — | — |
| PROMISING onlyconditions still building a case | 3 | +$29 | +9.59 | 33.3% |
| FORMING onlyno verdict yet | 1,687 | −$4,990 | -2.96 | 55.0% |
| NDC onlywhat obeying the audit removes | 1,876 | −$14,428 | -7.69 | 50.1% |
The CORE row is empty because no CORE condition exists. Nothing in 11,888 trades ever cleared the bar for a proven edge, so that row has no trades to show. It is not bad luck in one window; it is the shape of the whole book. PROMISING fired 3 trades in thirteen months — too few to conclude anything from, and we are not going to pretend otherwise. Every filter that produced a meaningful number produced a negative one.
| Condition flagged NDC | learn $/t | test $/t | n | |
|---|---|---|---|---|
| ASIA|HIGH|30_70|FLAT | -12.94 | -18.38 | 218 → 97 | held |
| NEW_YORK_PM|HIGH|30_70|FLAT | -19.52 | -18.07 | 187 → 88 | held |
| NEW_YORK_AM|MEDIUM|30_70|FLAT | -25.91 | -16.72 | 266 → 100 | held |
| LONDON|HIGH|30_70|FLAT | -22.41 | -15.07 | 99 → 38 | held |
| NEW_YORK_PM|LOW|30_70|FLAT | -16.41 | -14.50 | 148 → 48 | held |
| NEW_YORK_AM|MEDIUM|30_70|DOWN | -19.28 | -11.53 | 97 → 63 | held |
| AFTER_HOURS|MEDIUM|30_70|FLAT | -10.84 | -11.16 | 408 → 190 | held |
| AFTER_HOURS|HIGH|30_70|FLAT | -12.45 | -10.38 | 177 → 70 | held |
| ASIA|LOW|30_70|UP | -5.02 | -9.61 | 153 → 38 | held |
| ASIA|LOW|30_70|FLAT | -4.79 | -8.47 | 353 → 143 | held |
| ASIA|MEDIUM|30_70|FLAT | -12.21 | -7.12 | 519 → 217 | held |
| NEW_YORK_PM|MEDIUM|30_70|DOWN | -7.79 | -5.26 | 141 → 74 | held |
| LONDON|LOW|30_70|FLAT | -5.17 | -4.81 | 494 → 190 | held |
| AFTER_HOURS|LOW|30_70|DOWN | -6.30 | -3.50 | 116 → 56 | held |
| LONDON|MEDIUM|30_70|FLAT | -6.14 | -2.66 | 486 → 215 | held |
| NEW_YORK_PM|MEDIUM|30_70|FLAT | -11.50 | -0.50 | 304 → 132 | held |
| ASIA|LOW|30_70|DOWN | -21.26 | +3.65 | 131 → 55 | flipped |
| NEW_YORK_PM|MEDIUM|30_70|UP | -12.92 | +7.52 | 167 → 49 | flipped |
| NEW_YORK_PM|LOW|30_70|UP | -17.35 | +11.14 | 50 → 13 | flipped |
1,299 trades — 10.9% of the book — called the direction correctly and still lost money. Average loss on those: $3.58, fee-sized, not thesis-sized. Longs lost $36,213 and shorts lost $36,771 — near-identical, because costs do not care which way you traded. And the equity curve declines almost perfectly linearly across four years: no blow-up, no regime break, just a constant per-trade drag.
Keep both win rates in view: 65.6% gross, 54.6% net. The eleven-point gap between them is the cost drag expressed as a rate — the 1,299 right-but-lost trades, seen from the other side.
So the diagnosis is sharper than “no edge.” This strategy has a real gross edge of about +$1.86 per trade — and pays a modelled $8.00 per trade to express it. The edge is not absent; it is 4.3× too small to pay its own costs. And the conclusion is robust to the cost assumption: even at half these costs the edge is still 2.2× too small. Break-even sits at $1.86 per trade — this book turns profitable at 77% lower execution costs, or 4.3× more gross edge, and no amount of condition-filtering changes that arithmetic.
Where this evidence runs out
The 84% above is a real out-of-sample result, and it is also a small one. Three things a careful reader should hold against it, stated here rather than left to be found.
19 conditions is not many, and they are not 19 separate experiments. They partition one strategy on two instruments over one period, so they share the same underlying market and the same execution. Treat this as one strong observation, not 19 corroborating ones.
Of the three that reverted, two are NEW_YORK_PM in an UP trend. Of the three NDC conditions in an UP trend, two flipped — while 12 of the 16 that held sit in a FLAT trend. The failures are not evenly scattered; NDC looks weakest in trending conditions.
All 19 flagged conditions fall in the same RSI band, 30_70. On this strategy the RSI dimension separated nothing, so four of the five conditions carried the result. A different strategy would likely lean on them differently.
And the honest gap: this shows the audit cutting losses on a strategy that was already doomed. It does not yet show the reverse — that it confirms a real edge on a system that works. Until a profitable book is put through the same wall, a fair reader can ask whether NDC is detecting a broken strategy or simply flagging volatile conditions. That case study is the next one to run, and it should be published whichever way it lands.
Why the answer was to stop
We could have kept going. Drop two more conditions. Tighten a threshold. Add a filter. Keep trimming until the curve finally clears zero and the whole thing looks like an edge.
That move has a name: overfitting. Every filter added to make a past look profitable is fitted to noise — the specific, never-repeating accidents of that exact history. It reads as a strategy. It dies the moment it meets a market it has not memorised. And it is dangerous precisely because it does not feel like a mistake. It feels like work.
The audit already told us what tinkering would have hidden. Cutting NDC removed $14,428 of real bleed, 74% of the damage, and the 84% persistence rate says those verdicts were predictive rather than descriptive. But zero conditions ever earned a proven-edge verdict, the gross edge is 4.3× smaller than the per-trade cost, and the best honest version still finishes red. There was no edge underneath. There was a losing system in which some conditions lost faster than others.