The Edge That Wasn't

81 experiments — data, indicators, algorithms, code, figures, verdicts.

#1 Project genesis + architecture
✅ engineering success — Rebuilt the scalper's 116 systemd services as ~16 Docker containers with a central data curator, DuckDB storag…
#2 JPY exposure bug fix
✅ critical production fix — A currency-exposure calculation that never converted JPY notionals to USD overstated exposure 100-160x, blocki…
#3 ASI-MC V3 efficiency-ratio gate
⛔ lookahead artifact — Adding Kaufman Efficiency Ratio as a 4th NEAT input to gate ASI-MC entries to trending regimes produced +84,86…
#4 IronNet fixed-topology NEAT
⛔ lookahead-contaminated — Fixing the network topology (4→4→3, weights/activations only) cured NEAT's one-direction output collapse and p…
#5 Per-pair IronNet V3, 12 pairs
⛔ all 12 contaminated — Per-pair specialized IronNet genomes for all 12 pairs, every one MC-validated at sign_p=0.0000 with average 42…
#6 Spread-at-entry fix + Vmax
🟡 mixed — realistic cost model changed the dynamics — Charging spread at entry (instead of exit, with MAE floored at spread) invalidated all prior SwingDim results …
#7 LightGBM/SHAP indicator ranking
🟡 SHAP rank and trading edge orthogonal — SHAP importance on zigzag labels ranked indicators cheaply (Aroon #1 at M5, bb_width #1 in the 33-indicator st…
#8 H1 V3 (EUR_GBP + CAD_JPY)
⛔ lookahead-contaminated — Running the IronNet V3 NEAT genome at H1 cadence instead of M5 tripled-to-quintupled backtest pips per day on …
#9 IronNet V3 H1 12-pair + V7
⛔ "entirely artifact" — Full 12-pair H1 NEAT training produced spectacular MC-validated backtests (V3 avg 178.9, V7 avg 371.0, S1 747.…
#10 CMA-NN with sin basis
⛔ lookahead; causal retrain +0.11 p/d — A tiny fixed-topology network with sin activations trained by CMA-ES matched NEAT's best result in 220 seconds…
#11 CMA-NN 12-pair grid + mixed activations
⛔ invalidated by RCA — The CMA-NN configuration generalized to all 12 pairs (avg +55.2 p/d, all MC p=0.0000) and was proven seed-stab…
#12 RCA — lookahead + MACD bug
⛔ 16/16 live-negative, two bugs found — The root-cause analysis of why all 16 deployed strategies lost money live (≈−55,000 pips over 4,869 trades) fo…
#13 Causal retrain verdict
⛔ zero causal edge — Retraining the best architecture on fixed, causal features collapsed the edge to +0.11 p/d at best — proving t…
#14 S5 momentum NEAT + PnF
🟡 only 18 OOS trades — The first causal-pipeline strategy in the whole project to go positive out-of-sample — a tiny NEAT net on mult…
#15 Deep2 mean-reversion multi-seed
🟡 real anti-overfit signal, below the spread — A two-hidden-layer CMA-ES net on an EUR_JPY M5 mean-reversion z-score produced OOS +1.15 p/d with every seed O…
#16 CMA-ES + regime gates
⛔ input class exhausted — best OOS −2.38 p/d — Eleven tiny-net CMA-ES/NEAT configurations with binary regime inputs and hard trading gates all lost OOS; M5 m…
#17 Slot-4 indicator sweep (43 indicators)
⛔ 0 of 43 positive — best (CCI) −1.62 p/d — A systematic sweep swapping 43 causal indicators into the 4th input slot of the fixed CMA-NN core found none t…
#18 Path B (new core) + Path C (H1 cadence)
🟡 H1 cadence lifts the ceiling 18% but stays sub-zero — Swapping the input core (Path B) did nothing, but evaluating decisions only at H1 boundaries (Path C) raised t…
#19 Path D mean-reversion filter
🟡 real but sub-tradeable (+0.17–0.21 p/d) — Making the entry rule explicit (fade 30-bar range extremes) and demoting the NN to a quality filter produced t…
#20 StrengthSpread lookahead RCA
⛔ 55-min future leak — +203.15 → −14.18 p/d causal — An implausible +203 p/d PINN-CMA result triggered a root-cause analysis that found merge_asof leaking up to 55…
#21 CSI StrengthSpread campaign (stages 1–2)
🟡 7/30 all-folds-positive; Stage 3 incomplete — A 513-config grid over currency-strength factors found 7 SignedCSI variants surviving a strict all-folds-posit…
#22 Weekend gap-fill backtest
🟡 mixed — real tendency, fat tails — Fading the Friday-close→Sunday-open gap fills 92.2% of the time and is positive after spread on all 12 pairs, …
#23 FIFO-Trends 12-pair P&F sweep
✅ positive backtest — 1-box trail later failed live — Point & Figure trend-following with a 1-box trailing stop showed a robust 12-pair OOS edge (GBP_JPY 71.6, USD_…
#24 FIFO-Trends body filter
⛔ decisive negative — Gating FIFO-Trends entries on candle body fraction produced zero OOS winners at every threshold — the P&F char…
#25 EUR/USD microstructure / tick-pace
🟡 mixed — predicts big bars, not direction — Tick-rate (tpm) predicts big-bar occurrence with a 4× lift ~7 times/day, but carries no directional informatio…
#26 H4 Donchian breakout (backtest)
✅ backtest — refuted live — H4 Donchian(10) breakouts with a 1×ATR trail backtested at 16–25 p/d/pair with 84% WR, then went 0-for-3 live …
#27 Zone Recovery trail-lock redesign
✅ positive (validated + deployed) — Replacing ZR's PSAR-escape exit with an aggregate-P&L trailing lock passed all gates (P5=162.7 vp/d, P(+)=0.99…
#28 ZR ML=4 force-close + CAR-25
⛔ negative — circuit-breaker destroys the edge — Capping Zone Recovery at 4 legs flips +7,158.6 vol-pips/day into −111.9, because 96% of the design's edge live…
#29 H1 Donchian sweep
⛔ closed negative — no deployable edge at any parameter — The H4 Donchian breakout edge does not scale down to H1: 0 of 2,400 configs finished OOS-positive; spread domi…
#30 RACS reversal-accumulator IC study
🟡 mixed — statistically real, economically marginal — Price levels with dense time-decayed reversal history are genuinely predictive of M5 direction (72% of cells s…
#31 Currency-strength lower-TF viability
⛔ closed negative — no intraday currency-strength signal — The H4 contrarian StrengthSpread alpha does not exist intraday: every hold period up to ~43 hours is negative …
#32 P&F momentum vs counter-trend
🟡 mixed — counter-trend wins but is 10–15× weaker than FIFO-Trends — Head-to-head on Point & Figure entries, counter-trend (fading N down-boxes) beats momentum on 8 of 12 pairs, b…
#33 TR Momentum strategy
⛔ closed negative — the entire edge was a fill artifact — A True-Range momentum burst entry passed all three validation gates on all 12 pairs (up to +94 p/d OOS, mc_p=0…
#34 S5 velocity/acceleration sweep
⛔ closed negative — indistinguishable from random entry — S5-scale velocity/acceleration carries a tiny counter-trend IC (−0.026) but zero tradeable signal: 0 walk-forw…
#35 FIFO-Trends S5 trail resolution
⛔ closed negative — box quantization IS the edge — Replacing FIFO-Trends' coarse P&F-box high-water mark with a 5-second price HWM flipped EUR_USD from +45.2 to …
#36 FIFO-Trends bar-close fill correction
⛔ closed negative — fill artifact exposed — Re-running the validated FIFO-Trends P&F configs with realistic M5 bar-close fills instead of fill-at-trail wi…
#37 FIFO-Trends proper live simulation (v2)
✅ positive — edge recovered under S5-monitor fill model — A redesigned backtest modeling 5-second exit monitoring (fill ≈ trail level ± 0.3p) showed the original FIFO-T…
#38 FIFO-Live S5 exit monitoring redesign
🟡 mixed — redesign deployed, but live edge never materialized — The live FIFO service was rebuilt with a separate 5-second trail-monitor loop after the first M5-managed deplo…
#39 Dashboard momentum signals tab
✅ positive (engineering) — Built a multi-timeframe momentum/acceleration monitoring tab: weighted momentum sum across 7 windows (S5 to 24…
#40 Multiscale Price Shock (MSP) propagation
🟡 mixed — real cross-scale structure, predicts volatility not direction — Fine-scale volatility shocks Granger-cause coarse-scale shocks 50-100s later (15/15 band pairs, p<0.0001) and …
#41 Central trades DB + infrastructure
✅ positive (engineering) — Made trades.duckdb the single source of truth for all live and paper trades — idempotent trade_id-deduplicated…
#42 Grid-trail strategy
⛔ closed negative — no edge in either mode — Fixed-width price-grid crossings with a latching trailing exit failed every walk-forward test in both reversal…
#43 Daily range regime (PDH/PDL)
⛔ closed negative — no M5 edge on any param combination — Prior-day high/low as a regime gate — mean-revert inside the range, breakout-follow outside — fails walk-forwa…
#44 ATR-adaptive P&F box sweep
⛔ closed negative — adaptive boxes worse than fixed on all JPY pairs — Volatility-adaptive P&F box sizing (box = mult x ATR) just converges back to the fixed 5-pip box and underperf…
#45 GBP_USD small-box P&F sweep
✅ positive backtest — monotonic gain as box shrinks (later bled in paper trading) — Shrinking the GBP_USD P&F box from 5 to 2 pips more than triples OOS pips/day (15.4 -> 54.52), with a 16-pip p…
#46 FIFO 2-box trail sweep (X3c_2_5)
🟡 mixed — halves backtest p/d for execution robustness; later refuted in paper — Widening the FIFO-Trends trail from 1 box (5p) to 2 boxes (10p) keeps GBP_JPY/USD_JPY walk-forward-positive at…
#47 PantasticSMA indicator screen
⛔ closed negative — visual indicator, not an alpha source — A cTrader momentum-colored SMA signal screened across tick bars, M5, H1, multi-timeframe confluence and P&F le…
#48 Multiscale shock Phase 10 + joint timing-direction model
🟡 mixed — real cross-scale signal, too thin to deploy — Gating FIFO entries with wavelet D3 shocks failed on a scale mismatch, and the joint timing+direction model re…
#49 No-VPS migration + SMA16 momentum
✅ positive — validated and deployed live (later drained with the momentum book) — A 5-phase sweep finds SMA16 momentum with lags (8,10,15) on H1+M30 agreement, TP=20p: +29.8 p/d OOS, 10/12 pai…
#50 Price momentum M15+M5 live
✅ passed all gates, deployed live (later refuted under finite margin) — Raw two-timeframe price momentum (no SMA smoothing) with lags (1,3,8) and TP=10p passed 12/12 pairs, +30.4 p/d…
#51 Post-shock counter-trend retrace live
✅ validated & deployed live (edge later decayed live; offline) — Large S5 velocity shocks (z>2.5) are followed by a tradeable counter-trend retrace after a ~44-bar (220s) peak…
#52 Markov D1 regime filter
✅ validated — counter-trend ICs, filter improves retrace — An empirical daily (D1) Markov regime transition matrix, used as an entry filter, improves the post-shock retr…
#53 H4 Donchian + FIFO stopped (live check)
⛔ both stopped — live execution refuted the backtests — Live money was the final gate: H4 Donchian lost −61.6p at 0% WR in 8 days and FIFO-Trends (GBP_JPY) lost −168.…
#54 MTF/wave/wavelet confluence + Harvester
⛔ closed — 0 WF survivors everywhere; spread is the wall — Every S5 multi-lag confluence variant (trend, counter-trend, wave-break exit, strided Haar-wavelet exit) produ…
#55 Dynamic position sizing
🟡 mixed — works mechanically, scales hidden risk — Sizing to settled balance (units = max(1, round(balance x 1.25)), refreshed hourly) keeps the margin-utilizati…
#56 Portfolio variation campaign (8 variants)
🟡 mixed — +250.4 p/d combined, but 130/130 passed MC (the tell) — A greedy correlation-capped portfolio of 8 momentum/exhaustion variants posted +250.4 p/d combined OOS at mc_p…
#57 Finite-margin re-validation of the live momentum book
⛔ closed negative — book taken down — Re-testing the deployed TP-only momentum book under a realistic margin-closeout model showed the +27 p/d 'edge…
#58 Indicator screen → momentum×efficiency → regime-gated daily mean-reversion
⛔ closed negative — the regime-gated survivor was retracted at the premise (Coda) — An honest spread-deducted screen of new indicators found only daily-horizon mean-reversion positive; a wiggle/…
#59 Oracle optimal-trade ceiling (GBP_JPY S5)
⛔ negative for HFT — the spread eats half of even perfect trades — A perfect-foresight decomposition of 5.5 years of GBP_JPY five-second bars puts the theoretical ceiling at 2,4…
#60 Indicator-vs-optimal-direction screen
⛔ negative — no indicator predicts optimal-trade direction — Screening ~70 library indicators against the oracle's optimal-trade direction found nothing above ~53% agreeme…
#61 Continuation vs exhaustion inside resolvable moves
🟡 mixed — real signal, but uniformly exhaustion (exit-side, not entry) — Inside oracle-defined moves long enough to resolve at M5, indicators DO carry signal (correlation up to 0.18 w…
#62 Money management cannot manufacture edge (random vs trend entries)
⛔ closed negative — all three framings net ≈ −spread — A 2:1 barrier structure on random, with-trend, and against-trend entries across 7 JPY crosses produces the ari…
#63 Three measurement failures inverting verdicts (ledger, test proxy, risk arithmetic)
🟡 mixed — meta-finding: the apparatus itself lied three ways — In one day, three independent measurement errors were caught, each inverting a decision: a P&L-recording bug m…
#64 FX stat-arb (Avellaneda-Lee eigen-residual)
⛔ closed negative — non-stationary reversion — PCA out the currency factors and bet the hedged FX residual mean-reverts; the reversion's sign flips with the …
#65 Majors lead crosses (lead-lag)
⛔ confirmed structure, killed by spread — USD majors demonstrably lead the crosses one-way (t>100), but the catch-up snaps in one 5-second bar and the p…
#66 SMA-Stack robustness (conservative real-spread backtest of live 010)
🔴 live survivor refuted at real spread — The only live-money survivor (account 010's SMA Stack, +693p over 86 live trades) was put through a no-shortcu…
#67 Structural fade at hourly S/R
⛔ real gross direction, spread-blocked net — Fading the first approach to an hourly swing S/R level on high volume produced the project's cleanest broad di…
#68 First-touch H4 low-volume reversion
⛔ refuted — the +9.49p edge was a bar-grid (timezone) artifact — Fading the FIRST touch of a fresh H4 swing level on thin tick-volume scored +9.49 pips/trade net OOS (WR 54%, …
#69 ESCMA exit-learner (shock-entry + CMA-NN exit)
⛔ closed negative — entry is the binding constraint — A CMA-ES-trained neural exit on deterministic shock/random entries converges to 'bail in 1-3 bars' and loses t…
#70 Trailing-stop bake-off (SuperTrend vs PSAR et al.)
🟡 SuperTrend wins, PSAR among the worst — Holding a Donchian breakout entry fixed and varying only the exit, SuperTrend's per-trade ATR-band ratchet bea…
#71 Regime-conditioned entry Phase A (triple-barrier, against-drift)
⛔ information PASS / money FAIL — gross signal real but 5-10x below ECN floor, OOS never unsealed — Against-drift, top-ER-tercile entries beat the coin-flip arm gross on 12/12 pairs (+0.01 to +0.20 p/trade) but…
#72 Multi-day contrarian program + first-touch H4 bar-grid refutation
⛔ 0/4 IS gates; bar-grid artifact refutes prior +9.49p edge — The pre-registered multi-day contrarian program (first-touch H4 low-vol fade, frozen live params, net of sprea…
#73 SMA-scratch tail-bounding test + restart-censoring discovery
⛔ overlay+stop AMPLIFIES drawdown; restart-censoring ledger found — Testing whether a floating-NAV equity overlay + 3xATR disaster stop could bound the SMA-scratch momentum book'…
#74 London-fix fade (16:00 pre-fix drift reversion)
⛔ gross real reversion, net dead at spread — Fading |D|>=5p pre-fix drift at the DST-aware London 16:00 fix: fade net -1.63p vs coin -1.89p (beats coin, no…
#75 FX factor suite (carry / value / momentum / composite) at OANDA-retail cost
⛔ classic FX risk premia do not survive retail costs — Carry-gated (PRIMARY) IS net -34.1 p/rebalance (ungated -53.4) vs R10-null p95 +15.5 across 44 monthly rebalan…
#76 Momentum confirmation Stage 1 (deep-history FX momentum(12-1))
⛔ the +27.4 was a window artifact — momentum decayed pre-2013 — Deep-history rerun of fx_factors' lone-positive momentum(12-1) secondary: net -8.245 p/rebalance vs null p95 -…
#77 CFTC COT positioning-extremes signal
⛔ OOS refuted — −3.2 p/wk over 275 weeks, below the null p95; seal spent — Contrarian COT speculator-positioning signal clears all 4 pre-registered IS gates, but its bootstrap CI spans …
#78 Spread clock — hour-of-week toll profiles + guard cost-benefit
🟡 flat intraday, blackout tolls real, but a live guard would COST not save — Spread is flat 00:00-20:00 UTC and spikes 2-8x at the daily 21:00-23:00 UTC rollover and Sun 21:00-Mon 05:00 U…
#79 Core-pricing arithmetic — re-pricing the gross-positive family at OANDA core tier
⛔ core tier is WORSE, not better — the real cost unlock is a different venue entirely (~0.7p ECN) — OANDA US core (commission+razor-spread) tier is +0.3p worse all-in than spread-only on USD-quote majors and +1…
#80 Meta-allocation — equity-MA strategy switching vs equal-weight
🟡 real defensive risk-reducer (roughly halves total loss), not an alpha layer — feeds the equity-switch monitor — Monthly causal equity-MA switch across 38 strategy-groups nets -1,949p vs -3,792p for equal-weight on the full…
#81 Composite 1 — Axis-1 D1 displacement fade × Axis-3 COT positioning vote
⛔ conjunction too rare, vote indistinguishable from a random gate — seal never opened — The book's own Appendix-E recommendation, executed to its end: gating a D1 swing-extreme fade with an independ…
Select an experiment. Every experiment also has a stable static page of its own — the list on the left links to them.