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>
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user