PHAITRADING
← RicercaFalsificato2026-07-29 · 8 min

Tre porte sul motore base

Ritardo e inversione falliscono; la resistenza ai costi sopravvive, ma non basta a riaprire il motore.

Idea nostra, misurata e abbandonata


DOSSIER DI TRASPARENZAClasse BDue porte chiuse, una solo socchiusa

Ritardo d'ingresso, verso opposto o spread realistico potrebbero recuperare il motore base archiviato.

Target diretto95.8%
Target inverso2.3%
Quota risultato a costo reale86%

Geometria diretta e inversa

Invertire il verso distrugge il tasso di target.

Diretto95.8%
Inverso2.3%

Come e' stato misurato

Replay M5 di 783 trade EURUSD, test orari appaiati/bootstrap, geometria inversa e sensibilita' allo spread contro il Tester canonico.

Verdetto stretto

Ritardo e inversione falliscono; la resistenza ai costi sopravvive, ma concentrazione e skew impediscono di riaprire il motore.

Limiti dichiarati
  • Il replay coincide sulla classe per 766/779 ma non sui livelli pip assoluti.
  • Ambiente Tester e cache M5 non sono congelati.

Artefatti registrati: 2 presenti · 1 esterni · 1 mancanti

Il motore base linea-prezzo è in archivio dal 19 luglio. La domanda era se valesse la pena riaprirlo. Tre porte provate, tutte con lo stesso attrezzo.

L'attrezzo, e quanto vale

Prima-passata M5 sui 783 trade veri del backtest EURUSD (la cartella dei report del Tester (nel repo)), replicando la meccanica dell'EA: SL sul valore della linea di ieri che insegue la MA in entrambe le direzioni, guardia "SL dal lato giusto", distanza minima 5 pip, TP fisso 12-15 pip per pattern. Prezzi e spread barra per barra dalla cache M5 (1,22 milioni di barre), medie giornaliere dal nostro archivio.

Stabilita per misura la convenzione dei prezzi: nella cache px è il bid (gli acquisti del Tester riempiono a +1,00 spread, le vendite a +0,00).

Parità: 766 trade su 779 finiscono come nel Tester, il 98,3%.

Ma il livello in pip no: il simulatore dà +5,39 per operazione, il Tester +9,35. La causa è isolata — fa scattare 33 stop invece di 24, e nove stop lontani spiegano quasi tutto lo scarto. Con solo i close M5 (niente massimi/minimi) e le medie dal database invece che dai buffer dell'EA, gli stop scattano quando non dovrebbero.

Quindi: le differenze fra varianti valgono, i livelli assoluti no. Il difetto è identico in tutte le varianti e si cancella nel confronto.


Porta 1 — L'ora di esecuzione

La domanda

782 entrate su 783 sono alle 00:00, l'ora peggiore delle ventiquattro. Sui suoi stessi dati EURUSD costa 14 punti di spread contro i 2 delle ore 9-21: sette volte. Spostare l'esecuzione conviene?

Il numero che sembrava un sì

Misurando solo prezzo d'entrata e spread risparmiato, usciva un plateau h05-h08 di +2,5 / +3,2 pip per operazione, positivo in entrambe le metà. Su un edge di 9,4 pip sarebbe stato +25/+34%.

Era sbagliato. Misurava l'entrata, non l'operazione.

I numeri veri

Confronto appaiato contro h00, bootstrap 10.000 giri sui trade:

La barra dietro al numero confronta i valori della colonna; la cifra resta il dato esatto.

oraΔ pipIC 95%p(Δ>0)traintest
h01+1,28[−1,75 · +4,89]76%−0,16+3,80
h02+1,18[−2,10 · +5,00]72%−1,43+5,78
h05−2,29[−7,47 · +2,39]18%−3,30−0,50
h07+0,47[−3,06 · +4,43]58%−0,93+2,96
h08−4,54[−10,50 · +0,70]5%−7,86+1,34

Lo sweep completo zigzaga: h07 +5,94 → h08 +0,92 → h13 +6,04 → h14 −0,87. Ore adiacenti che differiscono di cinque pip.

Il verdetto

Falsificato, per tre motivi tutti dichiarati prima della misura: nessun plateau, train negativo su ogni ora candidata, e h08 — il picco della misura preliminare — significativamente negativo.

Perché: il segnale si degrada quanto il prezzo migliora


ora    h00   h02   h04   h06   h08   h10   h14   h18   h22
al TP  95,8  95,6  95,7  95,7  94,6  94,5  93,9  94,7  93,2

Aspettando il prezzo migliora davvero — verificato da tre ancoraggi diversi (h00, h01, h02) con lo stesso risultato, quindi non è la stampa di mezzanotte. Ma la deriva favorevole è il segnale che si sfalda: il prezzo che torna indietro è il movimento che non continua. Compri meglio un'operazione peggiore.

Stessa conclusione dell'entrata-su-ritracciamento falsificata sull'Orologio, per una strada indipendente e su un motore diverso. L'edge del base sta nel momento dell'incrocio, non nel livello di prezzo.

La porta che resta socchiusa

Dentro il verdetto c'è un'assunzione: ho pagato lo spread che il feed registra. E il feed mente.

mezzanotte più cara diΔ h01traintest
+0,0 (feed nudo)+1,28−0,16+3,80
+0,5+2,42+1,10+4,76
+2,0+3,33+1,44+6,65
+4,0+5,73+4,78+7,40

Bastano 0,5 pip di differenziale in più e il criterio passa in entrambe le metà, poi cresce monotòno. Il feed dice h00 = 1,4 pip contro 0,2 di giorno; il rapporto misurato dal vivo di giorno è 4-6 volte il feed. Se valesse anche a mezzanotte saremmo a +2/+3 pip = raddoppio dell'edge per operazione.

Non si può sapere con i dati che abbiamo. La misura che chiude la questione è lo spread EURUSD dal vivo ora per ora: l'EA scrive già phai_spread_tipico.csv, manca solo la scomposizione oraria. Due settimane di registrazione.


Porta 2 — Trattarlo al contrario

La domanda

Se il base è fragile, si guadagna rovesciandolo?

L'aritmetica, prima della misura

PnL_rovescio = −PnL_dritto − 2×costo. Lo spread si paga in entrambe le direzioni. Quindi rovesciare un vincente dà sempre un perdente più grosso, e rovesciare conviene solo dove il sistema perde più del doppio del costo.

Nota di geometria: il rovescio del base non è "vendi invece di comprare". Con lo stop sulla MA lontana e il TP a 12-15 pip, rovesciando i due livelli si scambiano — diventa sfuma l'incrocio, punta alla media lontana, stop stretto. Cioè una reversione su EURUSD.

I numeri

al bersagliopip/opsommatraintest
dritto95,8%+5,39+4.196+7,39+1,87
rovescio2,3%−9,88−7.663−11,30−7,35

Poi la caccia alla sotto-popolazione che perde abbastanza, per regime (accPct EURUSD del giorno-segnale):

accPctndrittotraintestrovesciotraintest
0,00–0,10102+11,67+12,86+9,30−11,70−12,94−9,14
0,10–0,1558+10,77+8,86+13,28−13,23−13,18−13,30
0,15–0,25109−6,04+6,42−29,31+1,14−13,61+28,70
0,25–0,50207+1,83+2,08+1,33−9,90−7,89−13,84
0,50–0,75173+11,01+9,50+13,65−13,03−12,47−14,03
0,75–1,01130+5,81+9,28+0,78−12,00−11,32−13,01

Il verdetto

Falsificato, e per un motivo strutturale: non c'è parametro che lo salvi, perché il costo si paga due volte e la sotto-popolazione perdente non perde abbastanza.

Una sola casella perde (0,15–0,25) e il suo rovescio è −13,61 nel train e +28,70 nel test — ribaltamento completo fra le due metà, su una casella scelta dopo averne guardate sei. Regime osservato dopo, non edge.

Il numero che dice qualcosa sul mercato

Il 2,3%. Rovesciato, il bersaglio è la MA365 lontana e lo stop 15 pip: su 776 tentativi il prezzo torna alla media lontana diciotto volte. Non è un payoff mal tarato — su EURUSD il prezzo non ci torna quasi mai prima di aver mangiato uno stop stretto. È una misura della struttura, non della strategia.

E la reversione su EURUSD cade per la terza strada indipendente, dopo il fade-distanza e il portafoglio majors.

⚠ Cosa questa tabella NON dice

La casella 0,00–0,10 mi risulta la migliore (+11,67, positiva in entrambe le metà), mentre filtro-accelerazione-eurusd dice che è lì che il base muore. Non è una smentita di quella scheda. Le perdite-mostro sono esattamente gli stop lontani, ed è esattamente lì che questo simulatore sbaglia (33 stop contro 24). Lo strumento è meno affidabile proprio dove quella domanda vive. Serviva a rispondere sul rovescio, non a riaprire il filtro accelerazione.


Porta 3 — Il costo vero

La domanda

Il backtest canonico dà +92.236 €. È girato nel Tester, che addebita 0,2 pip dal 2017 quando il conto ne paga 1,3. Quanto resta?

I numeri

spread applicatorisultato% del pubblicato
Tester (0,15-1,3 per epoca)+92.237100%
vero, mediana 1,3+79.42786%
stress mezzanotte 3,0+58.09263%
stress pesante 4,0+45.54249%

Il verdetto

Regge. E la ragione è strutturale: il base fa 49 operazioni all'anno con obiettivo 12-15 pip, quindi 1,1 pip di costo in più è l'8% del lordo.

motoreedge/operazionecosto veromargine
Orologio1,5 pip *1,3 pip *1,15×
motore base9,37 pip1,3 pip7,2×

\ le due cifre dell'Orologio non sono mie: vengono da Spread finto nel Tester («Il vantaggio dell'Orologio, tradotto in pip: 1,5 per operazione. Lo spread vero ne costa 1,3»*). Il 9,37 del base è ricalcolato qui dai 783 trade (mean(pnl_pt)/10). Su un flusso carry diverso, misurato il 29/07 su 18.970 operazioni, l'edge risulta +1,90 pip: stesso ordine di grandezza, corsa diversa.

Il base è il motore più resistente al costo del sistema, e quel criterio non era mai stato messo sulla bilancia. È anche la ragione per cui le quattro varianti dell'Orologio morte in due giorni sono morte: ognuna aggiungeva operazioni, e ogni operazione paga 1,3 per guadagnarne 1,5.

Questo non riabilita il base come prodotto: restano lo skew negativo (vincita +212 €, perdita −2.860 €), i 3-5 trade che fanno tutto il drawdown, e il fatto che il maxDD del backtest è un singolo trade (−10.955 €). Dice solo che, se un giorno si riapre, il costo non è il motivo per cui è chiuso.


Le trappole trovate per strada

  1. Misurare l'entrata invece dell'operazione. La misura preliminare della porta 1 dava +3,18 pip proprio all'ora che la prima-passata mostra come la peggiore. Prezzo d'entrata e costo non bastano: spostando l'entrata si sposta anche il TP, e cambia quali operazioni arrivano al bersaglio.
  1. Chiudere lo stop al prezzo oltrepassato invece che al livello. Primo giro della prima-passata: 4 pip di scarto in più contro il Tester. Uno stop broker-side riempie al livello, non dove il close M5 se ne accorge.
  1. Un criterio di plateau non basta. Il peso continuo sul regime (sezione 2 del documento sul regime) passa tre valori contigui e ha comunque tutti gli intervalli di confidenza a cavallo dello zero. Il plateau è necessario, non sufficiente: va guardato anche quanto vince.

Come rifare i conti

Gli script stanno in verifiche/strumenti/motore_base/: prima_passata.py (sweep dell'ora + parità), appaiato.py (bootstrap), sensibilita.py (soglia dello spread di mezzanotte), rovescio.py.

Nel registro

← più recenteLa notizia dà una direzione? — protocollo pre-registratopiù vecchio →Il regime separa i risultati? E dice da che parte stare?
Perché pubblichiamo anche i fallimenti. Un sistema che mostra solo ciò che ha funzionato non si può giudicare: non si sa quante volte ha provato. Qui si vede il conto intero — e quello che è sopravvissuto gira su due conti veri, in chiaro.
Guarda i conti veriLe altre verifiche