# MLP Score-Structure Experiment — BTC 6H

## Decision

Do not promote or add the tested score lower-high exit overlay. It degrades
both in-sample Calmar and WFO robustness at every tested causal pivot width.
Do not disable exit confirmation for the current 6H preset: the fixed
ablation is weaker than the incumbent.

## Method

- Fixed the current promoted 6H MLP weights and all winner thresholds.
- Tested exit confirmation off as an ablation, not as an optimizer dimension.
  This switches the exit gate from score confirmation to `stoch_is_peaking`.
- Detected score pivots with equal left/right windows of 2, 3, and 4 bars.
  A pivot event becomes usable only after the right-side bars close; no future
  score values are available to the simulated trade.
- Tested higher-low entry gating, lower-high exits, and their combination.
- Used the canonical MLP signal replay and metric calculation, including the
  incumbent trailing stop, commission, and time gate.

## Results

| Experiment | IS Calmar | IS P&L | Max DD | Trades | WFO mean / min Calmar | Valid folds | Eligible |
|---|---:|---:|---:|---:|---:|---:|---|
| Promoted baseline | 0.483 | 13,839.5% | -33.46% | 56 | 0.654 / 0.609 | 2 | Yes |
| Exit confirmation off | 0.346 | 5,729.0% | -37.87% | 56 | 0.327 / -0.106 | 2 | Yes |
| Pivot 2 higher-low entry gate | 0.640 | 9,422.4% | -23.16% | 49 | ineligible | 1 | No |
| Pivot 3 higher-low entry gate | 0.503 | 5,601.0% | -25.93% | 49 | ineligible | 1 | No |
| Pivot 4 higher-low entry gate | 0.588 | 10,698.0% | -25.93% | 50 | ineligible | 1 | No |
| Pivot 2 lower-high exit | 0.031 | 34.8% | -29.74% | 121 | 0.240 / -0.066 | 4 | Yes |
| Pivot 3 lower-high exit | 0.015 | 22.9% | -40.61% | 120 | 0.308 / -0.076 | 4 | Yes |
| Pivot 4 lower-high exit | 0.074 | 136.1% | -35.84% | 113 | 0.645 / -0.045 | 4 | Yes |

The combined higher-low-gate plus lower-high-exit versions were also worse
than the baseline at all widths (IS Calmar 0.006–0.043).

## Interpretation and limits

The entry-only higher-low gate improved drawdown but failed the required WFO
coverage: only one fold had the minimum ten trades. The lower-high exit was
consistently destructive, creating roughly twice as many trades and sharply
reducing return. The available export ends on 2026-06-25; its true OOS window
contains zero completed trades for every tested variant. These findings are a
rejection screen, not a positive OOS validation.

The reusable runner is `tools/run_mlp_score_structure_experiment.py`. It does
not update winner files, Pine presets, or parameters.
