La regola d'uscita «piano scaduto» — FALSIFICATA a ogni valore
Duecento casi appaiati: ogni uscita temporale testata peggiora il valore atteso; la coda catastrofica resta non misurata.
Construido, veredicto aún no dado
Este documento de investigación está escrito en italiano. El resumen de arriba está en español; el cuerpo — método, tablas y veredicto — no está traducido.
Data: 2026-08-18 · Strumento: verifiche/strumenti/uscita_ab.py (rilanciabile)
La regola in prova
Il piano dichiara prima quanto ci mette il mercato a percorrere la distanza del bersaglio (ritmo.dura_s, 168-264 s sul forex, per simbolo e per ora). La regola:
se sono passati k × dura_s e il bersaglio non è arrivato, si esce al mercato.
L'idea era che non fosse un time-stop — falsificato a ogni valore — perché la scadenza la portano i dati e non noi.
Il verdetto
200 occasioni forex distinte, appaiate, stessi tick, barriere di produzione (bersaglio 1 pip / rete 200), orizzonte 24 h:
La barra dietro al numero confronta i valori della colonna; la cifra resta il dato esatto.
| k (× dura_s) | bersaglio | uscite | pip totali | EV/op | vs non uscire mai |
|---|---|---|---|---|---|
| 0 — mai | 40/40 | 0 | +40 | +1,000 | — |
| 1 | 16 | 24 | −25 | −0,617 | −1,617 |
| 2 | 21 | 19 | −21 | −0,537 | −1,537 |
| 3 | 21 | 19 | −16 | −0,390 | −1,390 |
| 5 | 29 | 11 | +8 | +0,205 | −0,795 |
| 10 | 34 | 6 | +12 | +0,303 | −0,697 |
Perde a ogni k, e monotonamente: più tagli, peggio va. A k=1, 22 uscite su 24 sono in perdita.
Il meccanismo è trasparente: con un bersaglio da 1 pip e una rete a 200, l'operazione arriva quasi sempre se la lasci stare. Uscire prima converte una vittoria quasi certa in una perdita realizzata.
⚠ È esattamente la previsione che avevo stampato dentro lo strumento prima di girarlo: «se il guadagno non è netto, l'ipotesi giusta è che sia l'ennesima taratura dello stesso errore — non che serva un altro k». Non serve un altro k.
Cosa NON dice questo banco
Non dice che la regola sia inutile per tagliare la coda, ed è la ragione per cui era stata proposta. Su 200 casi in 24 ore la rete a 200 pip è stata toccata zero volte: il disastro che una regola d'uscita dovrebbe prevenire non c'è nel campione, quindi la sua prevenzione non è misurabile qui.
È la stessa struttura dello stop a 30 pip: la sua metà forte era aritmetica («non può perdere più di 30»), non statistica. Un tetto si dimostra ragionando, non contando.
Il quadro completo delle barriere, su dati validi
Stesso simulatore, k=0, 200 casi, 24 h:
| configurazione | bersaglio | rete | aperti | pip | EV |
|---|---|---|---|---|---|
| tp1 / sl200 (produzione) | 190 | 0 | 10 | +190 | +1,000 |
| tp5 / sl30 | 160 | 29 | 11 | −70 | −0,370 |
| tp1 / sl30 | 190 | 10 | 0 | −110 | −0,550 |
190 vittorie su 190, zero perdite in 200 casi. È la forma «raccogliere monetine»: si vince quasi sempre poco, si perde raramente moltissimo. E la perdita, semplicemente, non entra in una finestra di 24 ore.
⚠ Un difetto mio che invalida il banco precedente
bersaglio_ab.py (e la prima versione di questo) prendevano l'ingresso da piano.ingresso_stimato. Quel campo non è il prezzo di mercato di quell'istante: mano._prezzi lo costruisce su panel_log_intra.price, l'istantanea dell'indicatore, e quel feed è a cinque minuti. Scarto misurato dal mercato vero:
| mediana | p90 | max | |
|---|---|---|---|
| EURAUD | 6,5 | 27,6 | 35,8 |
| EURJPY | 13,2 | 25,7 | 31,3 |
| EURUSD | 18,8 | 24,0 | 63,8 |
| GBPJPY | 10,3 | 27,5 | 32,3 |
Con un bersaglio da 1 pip, barriere costruite attorno a un prezzo sbagliato di dieci non misurano le barriere: misurano l'errore. Tutti i numeri del documento precedente sono da buttare (l'ordinamento qualitativo regge, i numeri no).
Il sistema vero non ha questo difetto, ed è scritto nella docstring di _prezzi: all'EA si mandano le distanze, perché i livelli si calcolino sul fill reale. Ero io a usare una stima dove il sistema usa un contratto. Ora l'ingresso viene dai tick — ASK comprando, BID vendendo — e bersaglio_ab.py è etichettato come superato invece che cancellato.
Dove siamo, onestamente
Tre cose provate e tutte e tre bocciate, sempre sugli stessi dati e appaiate:
- bersaglio più grande (5 pip) — peggio;
- rete più stretta (30 pip) — peggio;
- uscita a piano scaduto, sei valori di k — peggio, sempre.
Il filo comune: ognuna converte un rischio di coda invisibile in perdite visibili. Nessuna crea un vantaggio, perché il vantaggio non sta nelle barriere — su mercato senza deriva l'EV è −spread comunque le si metta.
Quindi le strade che restano sono tre, e nessuna è una taratura:
- misurare davvero la coda, che nessuna finestra da 24 ore può vedere: serve più storia e più simboli — cioè il deploy dell'EA, che ne riaccende sette;
- dimensionare perché la coda sia sopravvivibile, che è una decisione, non una misura;
- trovare un vantaggio vero — e la direzione l'abbiamo misurata ≈ 0.