Files
PythagorasGoal/docs/diary/2026-07-07-crt-topdown-74winrate.md
Adriano Dal Pastro 822aa1307e research(crt): video-claim "CRT top-down 74% win rate" SCARTATO — il 74% e' un knob, non un edge
Meccanizzato e falsificato il claim ICT/SMC top-down (H1 setup CRT -> M15/M5
conferma -> entry, uscita parziale+BE+runner) su BTC/ETH certificati.

- Setup H1 CRT gia' triplo-refutato (onda 2026-07-02); qui testato l'angolo nuovo:
  la gestione d'uscita e il "74% WR".
- WR reale 30-37% a RR 1.5-2, SOTTO il null gambler's-ruin 40% -> il ritest tocca
  il target meno di una moneta (conferma "il ritest e' informazione negativa").
- Il 74% si fabbrica avvicinando il target: sweep rr1 0.5->2.0 = WR sale, expectancy
  R INVARIANTE e negativa (-1.2..-3.3R netto). DSR 0.000; a fee 0 ancora negativa
  -> non morte-per-fee, l'edge lordo non c'e'.
- Non eseguibile pulito a $600 (3-4 ordini/trade, alcuni sub-min-order).
- Regola candidata: convertire ogni claim "WR X%" da schema parziale+BE in
  expectancy R netto fee (WR ~= 1/(1+rr1), non un merito).

Nessuna modifica a src/config/live/tests. Book e pesi INVARIATI.
Diario: docs/diary/2026-07-07-crt-topdown-74winrate.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 06:02:38 +00:00

7.0 KiB
Raw Permalink Blame History

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.52), chiude 7080% lì → resto a break-even → runner 2030% 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.130.24%) → la fee 0.10% pesa 0.752.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 34 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 ~3037% 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.