Setup B survived 11.75 years of backtesting and killed my AI filter. Now it runs on a VPS with default inputs — and I promised not to touch it for 6 months.
This is Part 4 of the honest validation series. In Part 1, a coding bug inflated my results. In Part 2, I published the real backtest: 819 trades, +196R, profit factor 1.37. In Part 3, I trained an AI filter — and the walk-forward test killed it. What remains is the simplest thing of all: pure rules, running on a server, with me forbidden from interfering.
Today, Monday October 12, the EA went live.
What exactly is running
The EA is called FibGann_BreakoutEA_v2. It trades one setup and one setup only — Setup B, the M15 breakout, the only pattern that survived the full validation pipeline. Everything else (Setup A, the ML layer) is gone, not hidden.
Its rules, frozen in code:
- Stop loss: 1.5× ATR(14) on M15 — one and a half average ranges, structural, no guessing.
- Entry: the M15 close beyond the consolidation zone, no M5 confirmation trigger (kept as a documented backup variant, not shipped).
- TP1 at 3R: close half, move stop to breakeven. TP2 at 6R: let the rest run.
- Fail-breakout exit: if a M15 candle closes back inside the zone, the breakout failed — exit. Time exit: 24 hours, no lingering.
- One trade at a time, max 3 per day, 7–23 server time, spread filter at 500 points. No grid, no martingale, no averaging down.
- Risk: 1% of equity per trade, lot size auto-computed from the stop distance, broker minimums, and a margin check.
The v2 addition is two daily guards: stop opening new trades at +10% of the day’s starting balance, and close everything at −5%. Honest admission: with 1% risk and at most 3 trades a day, −5% is nearly unreachable (three full losers is −3%), and +10% only happens on a freak day. They are safety rails, not profit drivers. I publish them anyway, because secret settings are how honest systems die quietly.
What I expect — written down before looking
Expectations, set in advance, because that’s the discipline of this series:
- ~30–70 trades per year. Roughly one a week. There is nothing to watch daily.
- Winrate ~24%. Three out of four trades lose. The edge lives in the winners being 3–6× the losers.
- Profit factor ~1.2–1.4, below the 1.37 backtest. Real ticks mean real spread, real slippage, real requotes. A forward test that beats its backtest is usually a red flag, not a celebration.
- The first week is macro-heavy: US CPI Wednesday, PPI and retail sales Thursday. If the EA takes losses around those releases — spread widening, spikes, stops hit — that is the week, not the system.
If I had to bet one number: roughly +0.1 to +0.15R per trade after costs. Modest. Boring. That’s the point.
The promise
Six months, untouched. No parameter changes. No manual closes. No “just this once” after a losing streak, and no victory lap after a winning month. The backtest and the forward test must speak for themselves, on the same settings.
Why publish a promise in public? Because the hardest part of systematic trading is not the code — it’s the operator. Every EA graveyard I know was dug by someone who “improved” a live system mid-drawdown. The public promise is my insurance against myself.
Why this is the end of the research phase
The honest-quant posture is: every layer you add must earn its place. The AI filter didn’t. Setup A didn’t. Tweaks with names like “CONSOL=8” looked good until spread and slippage ate them. What survived is one setup, one risk model, one promise.
I closed new-system research deliberately. From here, the only updates are the honest monthly check-ins: trades taken, R accumulated, what the macro weeks cost, and whether the forward numbers still resemble the backtest. If they stop resembling it, I will say so — that’s what Part 2’s full disclosure was for.
This is Part 4 of 4. We vet tokens. We vet systems. We vet ourselves.
Start from the beginning: Part 1: the bug that lied to me. The numbers: Part 2: 819 trades, every number public. The dead AI: Part 3: the autopsy.
Not financial advice. Research and education only.

Leave a Reply