# 2026-06-07 — Gate trend_max sulle fade live: BOCCIATA l'aggiunta, PROMOSSO lo swap hurst→trend

Punto 7 della roadmap improvement-sweep: ripristinare `trend_max=3.0`/`ema_long=200`
sulle 6 fade live (ON nel backtest canonico, OFF in produzione). Il piano imponeva il
gate PORT06 perché hurst e trend si sovrappongono. Esito sorprendente ma coerente.

## Metodo

`scripts/analysis/trendmax_port06_impact.py` — engine riusato da `exit16_port06_impact`
(replay esatto del path canonico, parità verificata: corr 1.00000 e diff 0.00% su tutte
e 6 le fade) + maschera Hurst IDENTICA al live (`fade_base.hurst_skip_mask`, close-only,
w=100 step=6 — non la cache regime_lab). Tutte le varianti girano sul **path live**
(EXIT-16 close-confirm 0.5 attivo); PORT06 con pesi cap canonici (PAIRS 0.33,
SHAPE 0.0588), OOS da 2024-10-12.

Nota di metodo: il test PORT06 del loss-guard Hurst (`fade_lossguard_port_test`,
2026-06-02) era su entries GIÀ trend-filtrate E sull'engine PRE-EXIT-16 (SL intrabar).
La config live reale (hurst senza trend, con EXIT-16) non era MAI stata gateata.

## Risultati (PORT06, fade in path live EXIT-16)

| Variante | FULL Sh | FULL DD | FULL CAGR | OOS Sh | OOS DD | OOS CAGR |
|---|---|---|---|---|---|---|
| LIVE (hurst, no trend) | 7.23 | 2.68% | 68% | 9.35 | 1.68% | 92% |
| CANDIDATO (hurst+trend) | 7.11 | 2.06% | 59% | 9.36 | 1.62% | 83% |
| **TREND-ONLY 3.0** | 7.89 | 2.46% | 82% | **9.91** | **1.20%** | 103% |
| NESSUNO (solo EXIT-16) | **8.07** | 3.35% | **105%** | 9.72 | 1.38% | 119% |
| TREND-2.5 | 7.75 | 2.46% | 76% | 9.76 | 1.20% | 96% |
| TREND-3.5 | 7.87 | 2.46% | 84% | 9.64 | 1.20% | 103% |

## Letture

1. **CANDIDATO BOCCIATO** (gate formale): il DD scende (2.68→2.06) ma FULL Sharpe
   −0.12 e CAGR −9pp — over-filtering, i due filtri tagliano lo stesso regime
   (n trade −50%, es. MR02_ETH 911→436).
2. **Il loss-guard Hurst è ridondante-dannoso post-EXIT-16**: NESSUNO batte LIVE su
   Sharpe e ritorno ovunque. Spiegazione meccanica: hurst evitava i regimi stop-heavy
   saltando gli ingressi; EXIT-16 ha eliminato i wick-stop alla radice → gli ingressi
   che hurst salta sono in maggioranza tornati vincenti. Il 66% delle barre è oltre
   soglia hurst → il filtro toglieva metà dell'esposizione per un beneficio che ormai
   non c'è.
3. **TREND-ONLY domina LIVE su tutte e 4 le metriche** ed è ESATTAMENTE la config che
   la ricerca EXIT-16 del 2026-06-04 aveva promosso (entries trend-filtrate, no hurst:
   FULL 7.84/2.60, OOS 10.06/1.15 — i 7.89/2.46 e 9.91/1.20 di oggi combaciano al
   netto di refresh dati e cap SHAPE). Il live non aveva mai eseguito quella config.
4. **Plateau robusto**: trend_max 2.5/3.0/3.5 quasi indistinguibili (OOS DD 1.20
   identico su tutte) → non è una soglia tunata.
5. Il trend filter vs NESSUNO è un trade-off deliberato: −23pp CAGR FULL per
   FULL DD 3.35→2.46 e OOS Sharpe 9.72→9.91. Coerente con la filosofia del progetto
   (DD control > ritorno marginale).

## Decisione (utente, 2026-06-07)

**SWAP hurst→trend nelle 6 fade live** (`_defs.py`): `trend_max=3.0, ema_long=200`,
`hurst_max` rimosso. `hurst_skip_mask` resta in `fade_base` (param opzionale).
Monitor live aggiornato: `hourly_report` ora traccia lo stop-rate per epoca
PRE (nessun filtro) → HURST → TREND, verdetto a n≥30 nell'epoca TREND.

## Lezione

Ogni meccanismo anti-perdite va RI-gateato quando cambia l'exit engine: hurst era
genuinamente il migliore sull'engine a SL intrabar (unico su ~10 candidati), ma
EXIT-16 ne ha assorbito il lavoro. I filtri si valutano sul path live corrente,
non sui numeri storici di promozione.
