Kimera RTO_SMC è il mio Expert Advisor su XAUUSD (oro), timeframe M1, che implementa una logica di ritorno all'origine: chi insegue l'impulso in ritardo paga chi l'ha originato e lo difende. Lo uso come caso di studio perché ne possiedo l'intera storia: la specifica, il codice, i backtest, gli errori, le correzioni.
1 · La specifica prima del codice
La prima trasformazione, quella decisiva, avviene prima di ogni riga di codice: convertire concetti discrezionali in soglie misurabili. I concetti Smart Money che tutti conoscono — displacement, order block, mitigazione — diventano numeri confrontabili con i dati:
| Concetto discrezionale | Formalizzazione |
|---|---|
| "Movimento impulsivo" (displacement) | Escursione ≥ X punti entro una finestra definita di barre |
| "Order block" | Zona dell'ultima candela contraria pre-impulso, estesa di un buffer |
| "Mitigazione" (RTO) | Primo ritorno del prezzo dentro la zona dopo l'impulso |
| "Contesto operativo" | Finestra oraria definita, spread massimo, cooldown minimo |
| "Gestione" | SL oltre la zona + buffer; TP a RR × rischio |
È un impoverimento? Sì — la versione formale è più stupida della lettura di un occhio esperto. Ma è verificabile, e una regola stupida verificabile vale più di una regola brillante che non si può testare. Sarà il backtest a dirci quanto costa la stupidità — e lo dirà con precisione imbarazzante.
2 · L'architettura: cinque moduli, ognuno testabile da solo
Un EA professionale non è "una funzione OnTick con dentro gli if". La separazione delle responsabilità non è estetica: è ciò che rende ogni pezzo testabile e sostituibile da solo.
- Il rilevatore di segnali legge il mercato e produce candidati. Non sa nulla di soldi: solo geometria e condizioni.
- I filtri sono una catena di veti indipendenti: direzione abilitata, finestra oraria, giorno, spread, cooldown. Ogni filtro risponde sì/no e può essere attivato, disattivato e testato singolarmente — questa proprietà sarà cruciale tra un attimo.
- Il money management trasforma il segnale sopravvissuto in una size.
- L'esecutore parla col broker: invio ordini, retry sugli errori transitori, verifica dei fill. È l'unico strato che tocca OrderSend.
- Il guardiano del rischio — daily loss limit e max drawdown con latch — sta sopra tutto e può spegnere il sistema indipendentemente da cosa pensano gli altri moduli. Il codice è qui.
3 · La disciplina sui parametri
Sei parametri sostanziali, e tre regole che separano dilettanti e professionisti:
- Ogni parametro è un grado di libertà che il backtest userà per mentirvi. Prima di aggiungerne uno: "posso derivarlo dai dati invece che ottimizzarlo?" — lo stop può essere k×ATR con k fisso invece di un numero cercato dalla griglia.
- Ogni parametro deve avere una storia causale, non solo un valore ottimo. La mia finestra oraria copre Londra e New York: liquidità vera per una strategia di mean reversion su impulsi. Un parametro di cui sapete solo "col valore X il backtest è migliore" è un debito che il mercato prima o poi riscuote.
- I parametri hanno gerarchie di fragilità. RR e rischio % sono strutturali; le soglie in punti assoluti sono le più fragili di tutte — ed è esattamente lì che il sistema si è rotto quando l'oro è triplicato.
4 · 590 trade sotto interrogatorio
Il backtest 2020–2026 dava un riassunto che chiunque avrebbe firmato: +116%, profit factor 1,18. Un dilettante sorride e mette il sistema live. Un professionista vede un margine sottilissimo e un drawdown incompatibile con qualunque vincolo prop — e smette di guardare il riassunto, perché il valore di un backtest non è nella sintesi: è nella distribuzione. Il file dei 590 trade, esportato e sezionato:
Il taglio per direzione: metà sistema non esisteva
Separando Long e Short è emerso che il lato Long — metà del sistema, metà del rischio, metà dei costi — contribuiva al 10% del profitto, con dentro i cinque peggiori trade dell'intero sessennio, tutti concentrati nelle cinque settimane del drawdown massimo. L'edge vero era Short. Sei anni di backtest per scoprire che stavo facendo girare due sistemi: uno buono e uno che pagava le commissioni per il privilegio di esplodere ogni tanto. I mercati non sono simmetrici: l'oro scende con dinamiche diverse da come sale. Ogni backtest va sempre spaccato per direzione: è un minuto di lavoro.
Il taglio temporale: i buchi nel calendario
Due ore della giornata risultavano negative o piatte. Ma trovare un buco nel calendario non autorizza automaticamente a tapparlo — con 590 trade su 5 giorni × 10 ore, ogni cella contiene poche decine di osservazioni: territorio dove il rumore fabbrica pattern gratis. Il criterio a tre condizioni: (1) c'è una storia causale plausibile? (2) è robusta nei sottoperiodi? (3) il sistema resta profittevole anche senza il filtro? Se il sistema vive solo grazie ai filtri di calendario, non avete un edge: avete un ricamo sul rumore.
La ricomposizione: −47% di drawdown senza toccare gli ingressi
Short-only più il blackout su due ore: profitto invariato al 98%, drawdown massimo ridotto del 47%. Stesso motore, stessi segnali, stesso mercato: ho solo tolto. Da qui il principio che ha riorganizzato il mio modo di sviluppare:
Principio dei filtri sottrattivi. Il modo più sicuro di migliorare un sistema esistente non è aggiungere intelligenza (nuovi segnali, nuovi indicatori): è togliere esposizione nei contesti in cui i dati mostrano che l'edge non c'è. Un filtro sottrattivo non può inventare profitti che non esistono — al peggio toglie trade buoni — e ha un profilo di rischio-modello incomparabilmente migliore di qualunque aggiunta. Chi aggiunge, ottimizza; chi toglie, pota su evidenza.
5 · Quello che il backtest ancora non dice
Un'analisi onesta finisce sempre con l'elenco di ciò che non ha risolto:
- Il taglio dei Long è una soluzione empirica, non causale: butta via il lato debole invece di capirlo. L'alternativa seria — un filtro di regime che riabiliti i Long solo nei contesti giusti — è in coda di sviluppo.
- Lo swap drag resta strutturale finché le posizioni scavalcano la notte.
- E soprattutto: le soglie in punti assoluti su un sottostante triplicato — l'errore più istruttivo di tutti, con la migrazione a soglie ATR-relative come primo punto della roadmap.
Il ciclo di sviluppo completo con cui oggi gestisco tutto questo — con l'AI nel ruolo di collega, non di oracolo — è documentato qui, con i prompt veri.