La direzione vive nell'ora? E oltre le 24 ore? — protocollo pre-registrato
Les promotions horaires étaient presque toutes un artefact du rollover : le prix à minuit n'est pas un mouvement de marché.
Notre idée, mesurée et abandonnée
Ce document de recherche est rédigé en italien. Le résumé ci-dessus est en français ; le corps ci-dessous — méthode, tableaux et verdict — n'est pas traduit.
Perché questo giro. Lo scandaglio del 29/07 (La direzione si predice in diretta? — protocollo pre-registrato) mescolava tutte le 24 ore: un edge che vive in UN'ora precisa viene diluito 24 a 1 e sparisce. Non è ipotesi: le Sessioni intraday (EURJPY h18, EURUSD h11 SELL, Sharpe 1,85 nel Tester) esistono e quel giro non le ha viste. Qui si apre il punto cieco dimostrato — più l'orizzonte multi-giorno, che si fermava a 24 ore.
Cosa NON si apre. Il calendario eventi resta fuori: ha già lo strumento giusto (impatto_eventi, controllo appaiato validato su NFP) e merita il suo protocollo. Infilarlo qui sarebbe rifarlo peggio.
Le regole, fissate prima di guardare
| scelta | valore | perché |
|---|---|---|
| dati | il nostro archivio intraday M5 (14 FX, ore uniformi: max/min = 1,07) + hist D1 | copertura verificata prima, non assunta |
| Test A — l'ora nuda | ritorno medio della finestra che parte all'ora h: 14 simboli × 24 ore × 2 orizzonti (1 h, 6 h) = 672 celle | è la forma delle Sessioni: ora + verso, senza feature |
| Test B — feature nell'ora | Spearman(feature@h → ritorno 1 h): solo l'oscillatore live e distMA30 = 672 celle | le uniche due sopravvissute al giro 1; allargare le feature qui sarebbe pesca |
| Test C — multi-giorno | Spearman su D1: 8 feature × 14 simboli × orizzonti 2/5/10 giorni = 336 celle | la reversione multi-day era la più forte nei test sui trigger |
| finestre | una per giorno per cella (A/B), passo = k (C); scartate se attraversano buchi (>1,5× nominale) | mai finestre sovrapposte |
| molteplicità | K = 1.680 totale → train z ≥ 4,19 (Bonferroni 5%, calcolata nello script) | il massimo di 1.680 tentativi di rumore vale ~3,6 |
| promozione | train sopra soglia E test (≥2019) con z ≥ 2 e stesso segno | replica o niente |
| ora | l'orologio del broker, com'è scritto nelle righe — lo stesso delle Sessioni e degli EA | coerenza col Tester; niente conversioni che spostano il confine |
| costo | movimento medio della cella promossa (sul TEST) vs spread mediano di quel simbolo A QUELL'ORA | lo spread cambia con l'ora: la fossa 0–2 non si giudica con lo spread di mezzogiorno |
| controllo positivo | (EURJPY, 18) e (EURUSD, 11 verso SELL) devono comparire nel Test A con |z| ≥ 2 in train e test, segno concorde, tolleranza ±1 ora dichiarata ora (ora legale) | se la macchina non vede l'edge validato, è rotta lei |
| controllo negativo | ore rimescolate per giorno (rotazione casuale, seme 7) su 3 simboli → ~0 promozioni | testa il test |
| stabilità | quota di anni col segno pieno (diagnostica) | sempre scomporre per sotto-periodo |
| esiti dichiarati | promozione → prossimo passo è il Tester real-tick, mai il live; nulla → porta chiusa, scritto qui | il giudice vero resta il Tester |
| stop | giro unico, niente ritocchi | regola di casa |
Strumento: strumenti/direzione/scandaglio_ore.py.
Risultati (giro unico + controprova del mid)
37 promozioni su 1.680 (33 nel Test A, 4 nel B, 0 nel C: il multi-giorno è vuoto e la porta 6 si chiude qui). Controllo negativo: 0 promozioni col rimescolo ✓. Controllo positivo: EURJPY visto a h17/6h (dentro il ±1h dichiarato); EURUSD h11 SELL col segno giusto nel train ma sotto potenza nel test. Avviso: EURJPY h18/6h ha il segno GIRATO nel test (+3,6 train, −3,3 test) — l'edge delle Sessioni, in questi dati, dopo il 2019 si vede a h17 e non più a h18. Da tenere presente prima di farne un prodotto.
Il grosso era quotazione, non mercato. Le promozioni si ammassavano su h23/h00/h01 con segni SIMMETRICI su tutte le coppie (giù entrando nella mezzanotte, su uscendone) — anche su coppie anti-correlate fra loro, il che esclude un movimento di mercato. Meccanismo: price è il BID e a mezzanotte (= le 17 di New York, il rollover) lo spread esplode da 2–9 a 80–97 punti. Controprova sul MID ricostruito (bid + spread/2, lo spread è riga per riga):
- 24 celle su 33 muoiono sul mid. La pendenza ritorno/variazione-di-spread misura −0,2…−0,96 attorno al −0,50 meccanico atteso (GBPUSD h00: −0,49 esatto). Era il respiro dello spread.
- 9 sopravvivono, ma 7 sono ancora h23/h00 e lì vale il punto più profondo: con uno spread di 80 punti su un effetto di 5–10, il mid quotato non è un prezzo misurabile — nessuno scambia lì. Reale forse (la classe «dislocazione del fix delle 17 NY» è documentata), inutilizzabile per costruzione: la stessa ritirata di liquidità che lo crea distrugge il trade.
- Restano briciole EURCHF diurne (h11/6h, h16/1h: −6/−10 pt, deriva strutturale del franco su una coppia che il portafoglio già pota) e 4 celle B della famiglia reversione, deboli (|rho| 0,05–0,09), di cui NZDUSD h23 è sospetta di quotazione anch'essa.
Difetto di progetto ammesso: il controllo di operabilità confrontava il movimento con lo spread all'ora di ENTRATA. Per le finestre che finiscono a mezzanotte il costo vero è lo spread all'USCITA (esploso). Regola per i prossimi protocolli: il costo si valuta a entrambi i capi della finestra.
Verdetto
Nessun edge direzionale nuovo, nemmeno nell'ora, nemmeno oltre le 24 ore. La macchina ha però catturato e DIMOSTRATO due classi di artefatto in due giorni (rimbalzo denaro-lettera; quotazione da rollover) e ha rivisto l'unico edge orario validato (Sessioni) con un avviso concreto su h18→h17. Chiuso per regola di stop: giro unico, niente ritocchi.
Schede: direzione-ora-rollover · ea-sessioni-intraday
Nota di redazione (2026-08-04)
Due precisazioni. La soglia che lo strumento calcola davvero è z* = Φ-1(1-0,025/1680) = 4,175: si scrive «4,18», non «4,19». E la «porta 6»: è la sesta delle piste aperte sul motore in quel ciclo di ricerca — una numerazione del quaderno di lavoro, non qualcosa che il lettore possa dedurre da qui.