Hypotheses were registered in FX_PLAN.md before each round. Trend, breakout, cross reversion, hour seasonality, month-end USD, carry-cross dip-buy, metals dip-buy and flight-to-safety all fail the bar. The weekend-gap fade looked like the best result of the project on bar data (OOS t 20, 28/28 pairs) and loses on real ticks (EURCHF PF 0.52, AUDNZD PF 0.53): the Sunday-open spread is as wide as the gap. WarriorGapFade is kept as the research artifact that proved it and is flagged DO NOT TRADE. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 КиБ
Forex & metals — results of the 2026-09-22 overnight search
Plan and every hypothesis were registered in FX_PLAN.md before each round
ran. Data: broker history exported from the fleet terminal — H1/H4/D1 for 28
FX pairs and 5 metals, 2004 → 2026-08 (mql5/ExportBars.mq5). Split: IS
2004–2015, OOS 2016–2026. Costs: the bar's own spread. Pass bar: OOS t ≥ 2,
same variant positive IS, breadth ≥ half the class, beats a matched random
control, then the MT5 tester with real swaps and — for anything intraday —
real ticks.
Verdict
No forex or metals strategy passed. Thirteen families in four registered rounds, ~1,300 symbol-variant trials. Round 4 was declared the last before it ran. The closest things to an edge were all killed by one of three things: a regime flip between the halves, drift masquerading as signal, or execution realism.
Every family, every result
| id | family | outcome | why it failed |
|---|---|---|---|
| T1 | time-series momentum D1 (SMA 50/100/200) | 0/33 pass, OOS pooled −8.8 bp | FX trend premium absent 2016–26 |
| T2 | channel breakout D1 (20/55/100) | 0/33 pass, 7/33 OOS positive | same |
| R1 | two-sided z-reversion, twinned crosses & majors, H4/D1 | 0 pass anywhere | H4 IS significantly negative (t −4.9): moves continued 2004–15, then stopped — a regime flip, not an edge |
| S1 | intraday hour-window seasonality H1 | 1/33 (chance level) | spread > hourly effect |
| M1 | month-end USD flow | USD weakens last 2 days: IS t −2.6, OOS same sign t 1.45 | below the bar; 7 USD pairs are one bet |
| X1 | index dip-buy rule on carry crosses | IS lost (t −4.07), OOS +12.5 bp gated | the losing half is 2008/2011/2015 carry unwinds — the tail risk a prop account cannot hold |
| X2 | SP500 dip signal → long risk FX | +4.6 IS / +5.6 OOS bp, no symbol t ≥ 2 | weak, and fires with the index portfolio (stacks correlated risk) |
| X3 | weekend gap fade H1 | bar data: OOS +7.1 bp, t 11.8, 29/33 | real ticks kill it — see below |
| X4 | index dip-buy rule on metals | loses in both halves (OOS t −4.22) | metals do not revert after sharp drops |
| C1 | metals continuation (X4's mirror) | 0/5 pass, OOS pooled −9.3 bp | the mirror does not inherit X4's losses as gains |
| R4 | flight to safety: SP500 dip signal → long gold/silver, long CHF/JPY | 0/4 pass, OOS pooled −22.6 bp | havens did not rally on index dips (gold fell — 2022+ dips came with a strong USD) |
The weekend gap — the lesson of the night
Fading the Sunday-open gap looked like the best result of the whole project: 28/28 FX pairs positive out of sample, t 20. Three checks took it apart:
-
Timing. The share of trades hitting target inside the FIRST hour rose from 5 % (2004–09) to 32 % (2021–26). Entering 1 h later kept ~40 % of it; 2 h later, nothing. The effect lives in the thinnest minutes of the week.
-
Real ticks. EURCHF with real ticks for all of 2016–26 (
WarriorGapFade, Model 4): 51 trades, not 234; PF 0.74; −1,173. Most "gaps" vanish because the spread at the open is as wide as the gap. Example: 2026-08-17 00:05, bought at 0.93955 with the bid at 0.93873 — an 8-pip spread — stopped out one second later. After fixing two EA defects found in that first run (take-profits rejected at the open with rc 10016, and a delayed-entry path that could never fire), the real-tick verdict is unchanged — every variant loses or breaks even:real ticks 2016–26 entry at the open entry 1 hour later EURCHF 59 trades, PF 0.52, −3,271 108 trades, PF 0.91, −691 AUDNZD (bar-data OOS t 11) 51 trades, PF 0.53, −2,861 125 trades, PF 0.97, −309 -
Bar data records one spread per bar. It cannot price the first seconds after a session opens. Any intraday FX result must be re-run on real ticks before it is believed.
One watchlist item (not a strategy)
Gold rises over the first two trading days of the month — OOS the #1 of 19 two-day windows on XAUUSD and XAUEUR (+28 bp over drift, permutation p ≈ 0.01), silver IS #1 / OOS #3. But in 2004–15 gold's first-two-days window was merely average (rank 10/19), and the effect was found by looking at OOS cells, so after multiplicity it is p ≈ 0.15. It would need a year of forward evidence before it could be traded; it is not built into any EA.
What this means for the account
The one validated edge remains the equity-index dip-buy (STRATEGY.md). The
reason it works — an asset with a premium (drift) that also reverts after sharp
drops — is exactly what forex (no drift, no reversion) and metals (drift, but
continuation) lack. The search confirms the mechanism rather than extending it.
The same real-tick test, applied to the index strategy — PASSED
The check that killed the gap fade was run on the live index EA too (4 charts, 2022–26,
real ticks from mid/late 2022): account +14.6 % vs +14.7 % on M1-OHLC, drawdown 2.88 %
unchanged, same trades. See STRATEGY.md.