# 2026-07-07 — Video-claim "CRT top-down multi-TF, 74% win rate": SCARTATO (il 74% è un knob, non un edge) **Richiesta utente:** analizzare e testare una strategia da video, metodo ICT/SMC top-down multi-timeframe con claim **74% win rate**: 1. **H1** — setup CRT: candela di displacement forte, poi candela che prende liquidità (spike oltre il range di C1) ma richiude dentro → falso breakout → fade/reversal. 2. **M15** — struttura: swing (U a 3 candele) + imbalance che diventa inverse-imbalance (FVG mitigato). 3. **M5** — conferma: displacement direzionale + zona di protezione (order block / imbalance). 4. **M1** — entry: attende la correzione, entra con SL dietro la zona di protezione. Uscita: **TP1 a fine zona CRT (RR ~1.5–2), chiude 70–80% lì → resto a break-even → runner 20–30%** verso la "liquidità successiva" (previous daily high/low). Due esempi mostrati (gold, nasdaq), entrambi vincenti. Metà finale del video = vendita academy → lead magnet. La valutazione critica dell'utente ("occhio Milito") aveva già isolato le red flag giuste (74% non dimostrato, cherry-picking di 2 esempi, concetti discrezionali non falsificabili, RR basso + WR alto = fragile, funnel commerciale). Questo diario **meccanizza e falsifica** la parte testabile. ## Inventario preventivo (non rifare lavoro) Il setup H1 CRT è **già stato meccanizzato e scartato 3 volte** nell'onda 2026-07-02: - `r0702_crt_base` (864 trial, 1h/4h/12h/1d): **DSR 0.000**; short "smart-money" negativo perfino IS. - `r0702_crt_mtf` (4h→15m, 1h→5m, ~10k trade): **expectancy netta negativa OVUNQUE**; refutazione strutturale = **"il ritest è informazione negativa"** (pattern CON ritest −40bps, SENZA +52bps). - `r0702_crt_context` (FVG/sessioni/livelli): FVG semmai peggiora; **FADE < FOLLOW ogni anno 2019-26**. **Angolo NUOVO non coperto** = la **gestione d'uscita (parziale+BE+runner)** e il **claim 74% WR**. È lì che ho concentrato il test: `scripts/research/r0707_crt_topdown.py` (non tocca src/config/live; nessun file scritto). Riusa l'harness certificato (dati/atr/sharpe/DSR di `altlib`). ## Disegno - Detection CRT C1-C2 su **H1** (causale, nota alla chiusura di C2). Direzione = fade dello sweep. - Entry sul TF basso (**5m/15m**, proxy di M5/M1 — ⚠️ **M1 non è nel feed certificato**): ritest della zona violata + close-back attraverso il livello ("displacement di conferma"), **SL = estremo dello swing basso = zona di protezione**. - Tre schemi d'uscita sugli **stessi ingressi**: `fix1.5` (full, TP 1.5R), `fix2.0` (full, TP 2.0R), `managed` (75% a 1.5R → resto 25% a BE, runner target = prev-daily high/low o estremo opposto C1). - Gate progetto: hold-out 2025-01-01, griglia (k, s, d, tf, scheme) con **selezione cella solo in-sample** + **DSR su tutti i trial**, **fee sweep** 0/0.10/0.20% RT, executability $600. - Metrica invariante = **expectancy in R netto fee** (non il win-rate). ## Esito — il 74% è un artefatto della distanza del target, non un edge **1) Win-rate reale (fade, tutti gli schemi, pooled BTC+ETH):** | schema | WR mediana | expectancy R (netto 10bps) | |---|---|---| | fix1.5 | **35.8%** | −2.38 | | fix2.0 | 31.3% | −2.34 | | managed | **35.8%** | −2.17 | Il WR a RR 1.5 è **~35%**, cioè **SOTTO** il null gambler's-ruin di un random walk senza edge (P(+1.5R prima di −1R) = 1/(1+1.5) = **40%**). Il setup tocca 1.5R **meno spesso di una moneta** → conferma indipendente che *il ritest è informazione negativa*. Lo schema `managed` **non gonfia** il WR sopra `fix1.5` (per costruzione: "vinci" solo se raggiungi il parziale a 1.5R, che è la stessa condizione di `fix1.5`). **In nessuna cella si avvicina al 74%.** **2) Il win-rate È un knob — sweep del target parziale `rr1` (managed, 5m, cella tipica):** | rr1 | WR reale | null 1/(1+rr1) | expR (fee 10bps) | expR (fee 0) | |------|----------|----------------|------------------|--------------| | 0.50 | 51.4% | 66.7% | **−2.54** | +0.11 | | 0.75 | 46.9% | 57.1% | −2.51 | +0.14 | | 1.00 | 43.2% | 50.0% | −2.47 | +0.17 | | 1.50 | 36.3% | 40.0% | −2.45 | +0.19 | | 2.00 | 31.8% | 33.3% | −2.42 | +0.23 | Avvicinando il target il WR sale (esattamente come previsto dalla formula gambler's-ruin): **un "74%" si fabbrica scegliendo un parziale vicino** (~0.35R), NON perché il metodo indovina la direzione. Ma l'**expectancy R è costante e negativa a ogni rr1**: il WR alto non porta soldi. NB anche a WR massimo il setup resta *sotto* il null teorico ad ogni rr1 → è pure peggio di un random walk nel raggiungere target vicini. **3) Gate statistici (cella scelta in-sample = 15m, k1.5, s0.1, d0.15, fix2.0):** - **DSR = 0.000** su 48 trial (null max-Sharpe atteso 4.35). FAIL. - **Fee sweep:** a **0 bps** expR = −0.10 e Sharpe book −0.63 → **non è morte-per-fee: l'edge lordo non esiste** (il residuo lordo marginalmente positivo su 5m è la beta di trend dei time-exit, la stessa autopsia del CRT base). A 10bps expR −1.26; a 20bps −2.43. Stop stretti (0.13–0.24%) → la fee 0.10% pesa 0.75–2.6 R per trade → qualunque micro-edge lordo è polverizzato. - **Hold-out 2025-26:** WR 32%, expR −1.56 (peggio dell'IS). Nessuna reggenza fuori campione. **4) Executability $600:** SL sul TF basso = 0.13% (5m) / 0.24% (15m). Lo schema parziale+BE+runner richiede **3–4 ordini per trade**, alcuni **sotto il min-order $5** a nozionale $1200 → non eseguibile pulito al capitale reale. ## Verdetto **SCARTATO.** Il claim "74% win rate" è **coerente con ZERO edge**: è la scelta di un parziale vicino (gambler's ruin), non capacità direzionale. Smontato lo schema d'uscita, resta il setup H1 CRT che questo progetto ha già triplo-refutato (DSR 0.000, ritest = informazione negativa, fade < follow). Sul feed certificato BTC/ETH il metodo ha **win-rate reale ~30–37% e expectancy R negativa a ogni schema, fee, finestra e asset**; lordo di fee non c'è edge; a $600 non è nemmeno eseguibile pulito. La parte *utile* del video è il framework di lettura (CRT + imbalance + parziali), non il numero — come aveva già concluso la valutazione dell'utente. Da trattare come lettura del mercato, non come sistema. ## Lezione codificabile (candidata) **Il win-rate di uno schema parziale+BE non è un parametro di merito: è ~P(tocca il primo target prima dello stop) = 1/(1+rr1) per un processo senza drift.** Ogni claim "WR X%" da schema SMC va convertito in **expectancy R netto fee** prima di crederci; il WR alto si compra con un target vicino a costo di un'expectancy identica (o peggiore). Prossimo giro di gate: un helper `winrate_is_a_knob()` che, dato un book a schema parziale, riporta expectancy-R vs WR al variare del target (rende esplicito l'artefatto). ## File - `scripts/research/r0707_crt_topdown.py` — il test (griglia + 74%-check + knob-sweep + DSR + fee + exec). - Prior: `r0702_crt_{base,mtf,context}.py`, diario `2026-07-02-timing-crt-wave.md`. - Nessuna modifica a src/, config/, scripts/live/, tests/. Book live e pesi INVARIATI.