Elliot non è una scorciatoia — falsificazione causale su 24 simboli
24 simboli, 178 mesi, 1083 trade: il breakout 120/24 non batte il caso, su nessun mercato. Dati congelati, costi veri, 24 volte NOT SUPPORTED.
Costruito, verdetto non ancora dato
24 mercati, 14 anni, 1 regola semplice. Il breakout non batte il caso, su nessun simbolo.
Nessun mercato batte il caso — 2011-2026
Spiegato semplice (per tutti)
Immagina di chiederti: "se il prezzo ha appena fatto il massimo degli ultimi 5 giorni, domani salirà?". Abbiamo provato a rispondere senza barare: ogni giorno a mezzanotte guardiamo solo il passato (120 ore), se il prezzo è sopra tutti i massimi recenti apriamo un trade e lo chiudiamo 24 ore dopo, pagando lo spread vero. Lo facciamo su 24 mercati diversi, dal 2011 a oggi, e lo confrontiamo con un trade a caso alla stessa ora. Se la regola fosse buona, in media dovrebbe guadagnare di più del caso, ogni mese, per almeno 2 anni. Non lo fa, su nessun mercato: 24 volte su 24 perde o pareggia.
Più nel dettaglio
I dati del test sono stati congelati per rendere ogni risultato riproducibile:
- OHLC M5 24 simboli, 3840 giorni (la finestra della manica lunga del motore) —
«chiave»(211 MB, 1,35 GB raw, 14 M barre) - Storico di analisi il nostro archivio —
«chiave»(467 MB, 20M righe il nostro archivio intraday 2010-2026) - Log/backtest 25 DB —
«chiave»(44 MB) - Feature elaborate
PHAI_*_*.csv—«chiave»(142 MB) - Tick 71M righe —
«chiave»(1,3 GB zst, 6,09 GiB raw)
Ogni release ha manifest.json con SHA-256 del file grezzo e dell'archivio, verificabile con sha256sum -c e zstd -t. Il flag --frozen di ogni ricetta risolve i dati via owner/chat_bot/fonti.py:238 senza toccare file vivi.
La regola falsificabile
Ad ogni barra H1 delle 00:00, con almeno 120 barre precedenti, seguiamo solo un segnale causale:
- long se
close[t-1] > max(high[t-120 … t-24)) - short se
close[t-1] < min(low[t-120 … t-24))
Altrimenti si salta il giorno. Entrata a open[t] bid, uscita a open[t+24] bid. I long pagano lo spread di entrata, gli short quello di uscita (spread/10 pip). Un comparatore con segno casuale (seeded) apre alla stessa ora. Stimiamo la media mensile delle differenze appaiate e un intervallo al 95% con bootstrap circolare a blocchi di 6 mesi (20000 repliche, un input dell'EA). Promozione solo se mesi>=24, vantaggio>=0.5 pip e low>0.
Nessun conteggio d'onda, nessun pivot, nessuna soglia storica: solo una finestra causale e un orizzonte fisso.
Risultati — esterno su tutti i simboli
Come farebbe un esterno, --frozen per ogni simbolo (da phai_m5_*.csv.zst → H1 in verifiche/strumenti/riproducibili/_frozen.py:51):