#6 — Spread-at-entry fix + Vmax
Hypothesis — what it tests
Whether charging the spread at entry (the physically correct cost model) preserves the SwingDim/V3 results, and whether one big 14-19-input network plus sensitivity analysis can replace staged per-feature experiments.
Description
An audit found all previous SwingDim results (E1/E2/E3/E5/E6) had charged spread at exit only with MAE initialized to 0 — allowing physically impossible outcomes like E2's 88 p/d with MAE 0.59p on a 1.49p spread. The fix charges spread at entry (entry_price = mid ± spread·pip, exit at mid, MAE initialized at spread), using real per-pair mean spreads measured from S5 bid/ask data (EUR_GBP 1.49p up to CHF_JPY 3.89p). Simultaneously, a 'train big, prune' Vmax mode was built: all 13 indicator candidates + UPnL in one deep 19-input network (19→19→38→12→3, ~1,575 connections) with wavelet activations and a free-topology pruning phase, replacing sequential staged experiments. The corrected cost model destroyed the training gradient: with effective MAE always >= spread, the pnl/MAE fitness could no longer distinguish good from bad genomes, so corrected V3 s42 (−2.2 p/d EUR_GBP, 245 trades all one direction, fitness −10) and both Vmax runs went degenerate. The repair was a new fitness — pips/day on the worst walk-forward chunk, no MAE denominator — plus a switch to S5 cadence; the deeper lesson (the fill/cost model can BE the edge) became a book theme.
Key result
Indicators
Algorithms
Code
Interactive version (search, filters, figures): the experiment explorer.