This is the follow-up to note 008, and it answers the question that note left open: of the files that actually made money on paper, is there one you could switch on tomorrow? I took every file that survived the accounting filters, re-ran it from scratch, and rebuilt its book trade by trade. 22 files got through. 8 still make money once the open positions are marked to market — and 5 of those 8 are position-averaging machines.
Every file on this page ran on its own account, over the same 32 months, at the same spread. Two questions kill most of them before any accounting gets involved.
| Chart | Tested | Opened a trade | Finished the window | Never stopped out | In profit | Share |
|---|---|---|---|---|---|---|
| EURUSD H1 | 1,470 | 732 | 407 | 387 | 58 | 15.0% |
| EURUSD H4 | 690 | 144 | 99 | 83 | 13 | 15.7% |
| EURUSD D1 | 690 | 123 | 92 | 92 | 10 | 10.9% |
Read the last two columns together. On H1, 732 files opened at least one position, 407 of them were still running in October 2026, and 387 of those never took a stop-out. Of the 387, 58 finished in profit — 15.0%. That is the number that matters, because every file that blew up on the way has already been removed from the denominator.
H4 and D1 agree: 15.7% and 10.9%. Three different sampling frequencies, same answer, which is the closest thing to a cross-check this harness can give. A free EA that survives three years without a margin call and ends up ahead is roughly a one-in-seven event.
This is the filter from note 008, applied once more, and it is the one that removes the files whose profit is a position rather than a result.
26 result rows cleared: finished the window, no stop-out, closed at least 90% of what it opened, at least 30 closed trades, positive P&L. Those 26 rows are actually 22 distinct files — 4 of them were the same program compiled under different names, which you can see for yourself in c3.csv as five identical rows.
Each of the 22 was then re-run from a clean terminal with its trade log captured line by line, and the book rebuilt from the fills: every open, every partial close, every position still open at 23:59:59 on the last bar. That last part is not a detail.
Same EA, same run, two ways of counting. The left column is what a report shows you. The right column is what the account would have been worth.
| File | Closed P&L | Still open | Open position | Net |
|---|---|---|---|---|
| 0444_Buy_Sell_EA_v132 | +$278 | 74.1% | −$42,525 | −$42,247 |
| 1108_SMA10DayCrossExit | +$14,275 | 53.9% | −$32,916 | −$18,641 |
| 1253_ma3gbpjpy | +$673 | 7.6% | −$1,386 | −$713 |
Across all 22 re-runs the closed book adds up to +$63,537. Mark the open positions and the same set is worth −$28,131. Nothing about the EAs changed; the only thing that changed is whether an open loss counts as a loss.
This is why “closed at least 90% of what it opened” is not a strict enough filter on its own. A file can close 99% of its tickets and still be holding half of its volume, because the ticket it closes is the small one. The re-run counts lots, not tickets.
Finished the window, under 10% of the volume still open, positive once marked, drawdown under 30%. This is the shortest list I can build without lying to myself.
| File | Opened | Net | Max DD | Worst streak | Lot sizing |
|---|---|---|---|---|---|
| 0154_swb_grid_4.1 | 447 | +$6,360 | 8.0% | 4 | 32x add-on |
| 1666_grid_ea_pro | 477 | +$5,916 | 3.0% | 4 | 2.0x add-on |
| 0037_RSI_Power_Maximum_v2.03 | 59 | +$5,175 | 15.3% | 11 | fixed lot |
| 1671_gridtrading_at_volatile_market | 93 | +$3,570 | 0.8% | 1 | 1.5x add-on |
| 1192_LiquidityTrader_ScoreFilter_SMART_BREAKOUT | 134 | +$2,790 | 3.0% | 4 | 2.0x add-on |
| 1709_jb | 190 | +$2,473 | 10.5% | 1 | 8x add-on |
| 1181_Moving_Average | 730 | +$718 | 11.6% | 16 | fixed lot |
| 1572_Eugene | 32 | +$568 | 12.1% | 13 | fixed lot |
Net is closed P&L plus the open book marked at the last traded price; every row is under 10% of its volume still open at the end. Drawdown is measured on the realised equity curve. “Add-on” is the widest lot divided by the narrowest inside one basket — how much bigger each re-entry is. Every row is in survival.csv with the per-trade expectation and the lot levels.
“Lot sizing” above is the widest lot I saw inside a single basket divided by the narrowest — that is, how much bigger the EA makes each additional position in the same direction.
A fixed-lot EA risking 0.1 per position risks 0.1. An EA that opens 0.1, then 0.2, then 0.4, then 0.8 has 1.5 lots on when the fourth position goes against it, and it needs the price to come back only a quarter as far to be saved. It looks superb on a chart that always comes back. It has no plan for the chart that does not.
0154_swb_grid_4.1 reaches 32× — 0.1 to 3.2 lots. It finished this window at +$6,360 with an 8% drawdown, which is exactly what a doubling sequence looks like when the range holds. 1709_jb runs 0.1 / 0.2 / 0.3 / 0.5 / 0.8 — the Fibonacci sequence, the oldest averaging scheme there is, 8× at the fifth step. Both are one bad week away from the same ending as the 372.
The 3 fixed-lot survivors are not traps; they are just not enough. 0037 takes 59 trades in 32 months and has an 11-loss streak that costs it 17% of the account. 1181 trades far more often and earns about a dollar a trade. 1572 has 32 trades in total, which is not a sample, it is an anecdote.
The honest answer to “is there one I can put on” is no, and the reason is not that the eight are bad at trading. It is that none of them was tested under the conditions that would make a live decision safe: none has been forward-tested on live ticks, most size up into losses, and the three that do not are too thin to distinguish from luck.
What you can do with this list, in order, without my opinion:
| Ask | How to check it in five minutes |
|---|---|
| Does it close its book? | Closed lots divided by opened lots. Under 90% and the profit is a position. |
| Does it average into losses? | Sort the log by time and look at lots within one basket. Any step above 2× is a decision, not a coincidence. |
| What is the worst single loss? | On your account size, not mine. If it is over 3% of the account, the position size is wrong regardless of the EA. |
| What is the longest losing run? | If you cannot sit through it on a demo, you will not sit through it live. |
Clearing these four does not make an EA good. It makes it possible to evaluate — which is more than 22 of the 732 files that opened a trade can say.
Whether any of the 8 keeps working next quarter. Thirty-two months of backtest, eight survivors and zero forward months is not a track record; it is a filter. The next step for a file that clears it is a demo on live ticks, and that is a different test with a different cost.
If you want that done on one EA instead of a list, it is the same harness: the audit.