Il 14 marzo 2023, EUR/USD è sceso di 180 pips in 4 ore dopo che le notizie sul crollo di SVB hanno iniziato a circolare.

Daniel Harrington
Analista di Trading Senior · MT5 specialist
☕ 10 min di lettura
Cosa imparerai:
- 1L'illusione del backtesting: perché il tuo test di qualità al 90% non significa nulla
- 2Overfitting: la vera ragione per cui gli EA muoiono 3 settimane dopo essere andati live
- 34 Fallimenti nell'Esecuzione di cui Nessuno Parla
- 4Il Problema del Broker (La Maggior Parte dei Trader lo Ignora Completamente)
- 5Come appare realmente un EA implementabile
Il 14 marzo 2023, EUR/USD è sceso di 180 pips in 4 ore dopo che le notizie sul crollo di SVB hanno iniziato a circolare. Ho visto tre diversi EA sul mio terminale andare completamente fuori controllo: uno ha fatto un averaging down nel movimento, uno ha invertito troppo presto e uno si è semplicemente... bloccato. Tutti e tre avevano superato backtest di 2 anni con rapporti di Sharpe superiori a 1.8. Quel giorno mi è costato denaro reale e mi ha costretto a ripensare a tutto ciò che credevo di sapere sul trading automatizzato. La verità è che la maggior parte degli EA MT5 non fallisce a causa di una logica errata. Falliscono a causa di come sono stati costruiti, testati e implementati.

Un tasso di vincita del 92% nel backtest non significa nulla quando slippage, allargamento dello spread e overfitting colpiscono il tuo EA nei mercati reali. Tre dei miei EA si sono rotti durante il crollo di SVB — tutti avevano backtest perfetti.
L'illusione del backtesting: perché il tuo test di qualità al 90% non significa nulla
Ogni settimana vedo qualcuno pubblicare un backtest su un forum di trading con una curva di equity fluida e dichiarare che il proprio EA è pronto per andare live. Il problema non è il risultato. Il problema è ciò che il risultato sta effettivamente misurando.
Lo Strategy Tester di MT5, anche in modalità 'Ogni Tick Basato su Tick Reali', non può replicare il comportamento degli spread reali. Gli spread su EUR/USD durante il panico di SVB che ho menzionato hanno raggiunto 8-12 pips su alcuni broker, mentre l'EA era stato costruito e testato assumendo uno spread fisso di 1.2 pip. Quella singola variabile ha trasformato un trade con obiettivo di 60 pips in una posizione perdente prima ancora che il prezzo si muovesse.
C'è un'impostazione specifica nello Strategy Tester che la maggior parte delle persone ignora: la casella di controllo 'Usa data' combinata con la percentuale di qualità di modellazione. Se stai testando con una qualità di modellazione del 99% ma con spread fissi, stai testando uno strumento di fantasia. I mercati reali hanno spread variabili, requote (meno comuni su ECN ma comunque presenti) e picchi di latenza che il tuo backtest locale non vede mai.
Ho eseguito lo stesso EA sullo stesso set di dati di 3 anni con queste due configurazioni:
- Spread fisso: 1.5 pips, nessun modello di slippage
- Spread variabile utilizzando i dati tick del broker + slippage casuale di 1-3 pip
La versione con spread fisso ha mostrato un rendimento annuale del 34%. La versione con spread variabile? 11%. Stesso EA. Stesso periodo. La differenza è ciò che sperimenterai effettivamente quando il trade andrà live. Usa sempre, sempre il modello di esecuzione 'Ritardi casuali' nello Strategy Tester. È nascosto nelle impostazioni ma è la cosa più vicina al realismo che la piattaforma offre. Puoi trovarlo sotto Esecuzione nelle proprietà del tester, impostalo a 50-200ms per simulare la latenza reale degli ordini.
Questo è anche il punto in cui il tuo calcolatore della dimensione della posizione diventa fondamentale durante i test: se non stai considerando lo spread reale nel calcolo del tuo rischio per trade, le dimensioni delle tue posizioni saranno sbagliate fin dall'inizio.
Overfitting: la vera ragione per cui gli EA muoiono 3 settimane dopo essere andati live
Ecco un'affermazione che farò senza riserve: la maggior parte degli EA retail sono overfit. Non leggermente. Massicciamente.
L'overfitting si verifica quando si ottimizzano i parametri di un EA in modo così preciso rispetto ai dati storici che l'EA ha memorizzato il passato invece di imparare da esso. Il motore di ottimizzazione genetica di MT5 è incredibilmente potente e incredibilmente pericoloso nelle mani sbagliate. Ho visto trader eseguire 50.000 ottimizzazioni su un set di dati di 12 mesi, scegliere il set di parametri con il fattore di profitto più alto e considerarlo concluso. Questo non è sviluppo di strategie. Questo è curve fitting con passaggi extra.
Un vero test per l'overfitting è il walk-forward test. Si dividono i dati: si ottimizza sul primo 70%, quindi si esegue un test forward cieco sul restante 30%. Se il fattore di profitto scende da 2.4 a 0.8 nel periodo out-of-sample, l'EA è overfit. Punto. Non usarlo per il trading.
La matematica qui è importante. La popolazione di ottimizzazione dovrebbe essere significativamente più piccola dei gradi di libertà del set di dati. Una regola approssimativa che uso: se hai più di un parametro ottimizzabile per ogni 1.000 barre di dati, sei già in territorio pericoloso. Un EA con 8 parametri liberi testato su 2.000 barre di dati 1H non è una strategia. È un modello memorizzato.
Ho commesso questo errore io stesso nel 2019 con un EA di mean-reversion su GBP/USD. Ottimizzato splendidamente sui dati 2016-2018. Il set di parametri includeva 11 variabili. È andato live a gennaio 2019 e ha subito un drawdown del 22% in 6 settimane prima che lo disattivassi. La lezione mi è rimasta impressa. Ora considero qualsiasi degrado del forward test superiore al 40% come un deciso no-go. Se l'EA ha guadagnato $10.000 sul campione di ottimizzazione ma solo $5.000 su un campione forward di dimensioni comparabili, è accettabile al limite. Se ha guadagnato $10.000 e ha perso $3.000 in forward, è spazzatura.
Per uno sguardo più approfondito su come lo spread e la qualità dell'esecuzione variano per strumento, la guida EUR/USD merita di essere letta prima di impegnarsi con qualsiasi coppia principale come mercato primario del tuo EA.

💡 Consiglio di Winston
La logica del codice riceve tutta l'attenzione.

Il tuo EA ha funzionato perfettamente su 10 anni di backtest — poi ha incontrato spread reali, slippage e requote. Benvenuto nel trading reale.
4 Fallimenti nell'Esecuzione di cui Nessuno Parla
La logica del codice riceve tutta l'attenzione. L'esecuzione nessuna. Questo è un errore.
Ecco i quattro fallimenti più comuni a livello di esecuzione che ho diagnosticato negli EA dei clienti:
-
Condizioni di gara nella modifica degli ordini: L'EA tenta di modificare uno stop loss sullo stesso tick in cui il prezzo lo attiva. In MQL5, se chiami
OrderModify()senza prima controllare i valori di ritorno diOrderSelect(), otterrai fallimenti silenziosi, l'ordine non si modifica, nessun errore viene registrato nel tuo log e il tuo rischio è ora incontrollato. -
Non considerare le cifre decimali del broker: Alcuni broker quotano EUR/USD a 5 cifre decimali, altri a 4. Se il calcolo del tuo stop loss utilizza un valore pip fisso senza controllare
_Digits, il tuo SL verrà posizionato 10 volte troppo vicino o troppo lontano. Ho visto questo azzerare conti. -
Ignorare
IsTradeAllowed(): Questa funzione restituisce false durante gli eventi di notizie su alcuni broker, durante la chiusura del mercato e quando il conto ha problemi di margine in sospeso. Se il tuo EA non controlla questo prima di ogni tentativo di ordine, avrai voci che falliscono silenziosamente mentre l'EA pensa di essere in un trade. -
Logica di ingresso basata su tick su connessioni lente: Gli EA che si attivano ad ogni nuovo tick funzionano bene su un VPS con latenza di 5ms. Su una connessione internet domestica con latenza di 80-150ms, il tick che ha attivato la tua logica di ingresso potrebbe essere vecchio di 3-4 tick quando il tuo ordine raggiunge il broker. Stai comprando a un prezzo che non esiste più.
La soluzione per il punto 4 è spostare la logica di ingresso da OnTick() a OnTradeTransaction() quando possibile, o aggiungere un parametro di slippage massimo accettabile e rifiutare le esecuzioni al di fuori di tale intervallo. Non è un codice affascinante. Ma è la differenza tra un EA live e una passività.
Per piazzare ordini in modo pulito senza dover gestire finestre di dialogo che introducono la propria latenza, utilizzo il Drag Trader di Pulsar Terminal quando gestisco semi-manualmente le posizioni degli EA; trascini direttamente sul grafico e SL/TP si aggiornano in tempo reale, il che è sinceramente più veloce di qualsiasi finestra di dialogo quando sei in una posizione live.

Il tuo backtest assume esecuzioni perfette a prezzi esatti con spread fissi. I mercati reali hanno slippage, allargamento dello spread durante le notizie, requote e esecuzioni parziali. Nessun EA è immune.
Il Problema del Broker (La Maggior Parte dei Trader lo Ignora Completamente)
Il tuo EA non negozia il mercato. Negoza il feed del mercato del tuo broker. Questa distinzione è enormemente importante.
Ho eseguito lo stesso identico EA, stesso VPS, stesse impostazioni su tre diversi broker contemporaneamente per un periodo di test di 6 settimane nel Q3 2022. I risultati non sono stati simili:
- Broker A (ECN, spread medio EUR/USD 0.8 pips): +4.2% netto
- Broker B (STP, spread medio 1.8 pips): +1.1% netto
- Broker C (market maker, fisso 2.0 pips): -2.3% netto
Stesso EA. Stesso mercato. Risultati completamente diversi, puramente a causa del modello di esecuzione e dei costi di spread.
Gli EA di scalping sono i più sensibili a questo. Un EA che mira a 10 pips con uno stop di 5 pips opera con un rapporto R:R di 2:1. Aggiungi 2 pips di spread e questo diventa un obiettivo di 10 pips con un rischio effettivo di 7 pips, che è più vicino a 1.4:1. La matematica erode completamente il vantaggio. Questo è il motivo per cui gli EA di scalping che generano denaro nei backtest falliscono così costantemente nel trading reale; il backtest ha utilizzato un'assunzione di spread che nessun broker reale applica durante le sessioni volatili.
Prima di implementare qualsiasi EA live, eseguilo per un minimo di 3 settimane su un conto demo con il broker effettivo che intendi utilizzare. Non la demo di un altro broker. Non una simulazione di una prop firm con esecuzione diversa. Il tuo broker specifico, il tuo tipo di conto specifico. Controlla i log di esecuzione nella scheda Journal di MT5 dopo ogni trade. Se stai riscontrando uno slippage costante di 1+ pips sulle esecuzioni, il vantaggio del tuo EA è probabilmente già svanito.
Recensioni sulla selezione dei broker come la recensione di IC Markets possono darti una base per capire come appare l'esecuzione ECN nella pratica.

💡 Consiglio di Winston
Lasciatemi descrivere cosa cerco prima di considerare qualsiasi EA pronto per denaro reale.

Broker diversi, dati tick diversi, spread diversi. Un EA ottimizzato per un broker può fallire completamente su un altro.
Come appare realmente un EA implementabile
Lasciatemi descrivere cosa cerco prima di considerare qualsiasi EA pronto per denaro reale. Questa non è una checklist che stampi e dimentichi. È uno standard che la maggior parte degli EA non raggiunge.
Innanzitutto, il backtest deve utilizzare spread variabili, ritardi di esecuzione casuali e validazione walk-forward out-of-sample. Il degrado del forward test dovrebbe essere inferiore al 40% su lunghezze di dati comparabili. Se hai backtestato 3 anni, esegui un walk-forward test di 1 anno. Non 3 mesi.
In secondo luogo, l'EA necessita di un interruttore di circuito per il drawdown nel codice. Qualcosa di simile a questo in MQL5:
double maxDrawdown = 0.10; // 10% max
double startBalance = AccountInfoDouble(ACCOUNT_BALANCE);
if((startBalance - AccountInfoDouble(ACCOUNT_EQUITY)) / startBalance >= maxDrawdown) {
// Close all positions and disable EA
ExpertRemove();
}
Questo è basilare. Sono costantemente scioccato da quanti EA in produzione non lo abbiano.
In terzo luogo, l'indicatore ATR dovrebbe far parte del dimensionamento della posizione dell'EA, non solo della sua logica di ingresso. Un dimensionamento del lotto fisso in un mercato con volatilità variabile è una ricetta per un rischio inconsistente. ATR(14) sul grafico H1 ti fornisce una misura in tempo reale di quanto si sta muovendo il mercato. Il tuo stop loss e la dimensione della posizione dovrebbero scalare con esso.
In quarto luogo, l'EA deve essere testato su più regimi di mercato, non solo uno. Un EA ottimizzato sul mercato in trend del 2020-2021 verrà distrutto nel regime di ranging e alta volatilità del 2022-2023. Utilizza almeno un anno in trend e un anno volatile nel tuo set di dati.
In quinto luogo, voglio vedere una simulazione Monte Carlo eseguita sui risultati del backtest. MT5 non lo fa nativamente, ma strumenti come StrategyQuant o anche una simulazione Excel di base utilizzando i tuoi risultati trade-by-trade possono randomizzare l'ordine delle tue vincite e perdite per mostrarti il drawdown peggiore realistico. Se il tuo caso peggiore simulato è del 35% ma ti senti a tuo agio solo con il 15%, l'EA è sbagliato per il tuo conto indipendentemente da quanto sia buona la media.
La maggior parte degli EA fallisce non perché l'idea alla base fosse sbagliata. Falliscono perché il processo di validazione è stato pigro, il codice di esecuzione non è stato testato in condizioni reali e l'ambiente del broker è stato assunto piuttosto che misurato. Correggi queste tre cose e i tuoi risultati live saranno molto più vicini a ciò che i tuoi backtest promettevano.
Dichiarazione di non responsabilità: Questo articolo è solo a scopo educativo e non costituisce consulenza di investimento. Il trading di forex e CFD comporta un rischio significativo di perdita. Le performance passate non sono indicative di risultati futuri. Fai sempre le tue ricerche e considera la tua situazione finanziaria prima di fare trading. Non rischiare mai denaro che non puoi permetterti di perdere.
Lezione del Prof. Winston
Punti chiave:
- ✓Un backtest perfetto non significa nulla se l'EA è overfit sui dati storici
- ✓Slippage, allargamento dello spread e requote distruggono gli EA che non li hanno mai sperimentati nel backtesting
- ✓I dati tick e la velocità di esecuzione del tuo broker influenzano direttamente le performance dell'EA — testa sul broker reale
- ✓Un EA implementabile gestisce i fallimenti con grazia: gestisce lo slippage, ha limiti massimi di drawdown e registra tutto

❓ Domande frequenti
Q1Quanti dati dovrei usare per il backtest di un EA MT5 prima di considerarlo valido?
Al minimo, 3 anni di dati tick che coprano diverse condizioni di mercato, almeno un periodo di forte trend e un periodo volatile/ranging. Per gli EA con più di 5 parametri ottimizzabili, spingerei a 5 anni. Il numero chiave non sono gli anni, però, ma il rapporto tra il numero di parametri e le barre testate. Più di un parametro libero per ogni 1.000 barre è già un segnale di allarme per l'overfitting. Per gli EA di scalping sui grafici M5, 3 anni potrebbero darti abbastanza barre, ma devi verificare che la qualità dei tuoi dati tick dalla cronologia del tuo broker sia effettivamente completa; le lacune nei dati tick renderanno i tuoi risultati più puliti della realtà.
Q2Perché il mio EA funziona bene in demo ma fallisce nel trading reale con lo stesso broker?
Questo è più comune di quanto la gente ammetta. I conti demo presso la maggior parte dei broker utilizzano un modello di esecuzione leggermente diverso rispetto ai conti live; in particolare, le esecuzioni demo sono spesso più pulite e veloci con spread più stretti durante i periodi di bassa liquidità. Alcuni broker instradano anche gli ordini demo e live attraverso infrastrutture diverse. Il modo per testare questo è eseguire entrambi i conti contemporaneamente per 2-4 settimane e confrontare i prezzi di esecuzione trade per trade. Se le tue esecuzioni live sono costantemente 0.5-1 pip peggiori rispetto alla demo, questa è una differenza nel modello di esecuzione ed è reale. Si accumulerà contro di te nel corso di centinaia di trade. Controlla anche se il tuo conto live è STP mentre la tua demo è ECN; questo accade più spesso di quanto i broker amino pubblicizzare.
Q3Un EA che ha fallito su una coppia di valute può funzionare su un'altra?
A volte sì, ma devi ri-validarlo completamente sul nuovo strumento, non dare per scontato che i parametri si trasferiscano. Coppie diverse hanno profili di volatilità, comportamenti di spread e schemi di liquidità basati sulle sessioni diversi. Un EA costruito attorno al comportamento di EUR/USD durante la sessione di Londra potrebbe essere completamente sbagliato per GBP/JPY, che ha i suoi picchi di volatilità durante la sovrapposizione Asia/Londra. Dovresti ri-ottimizzare (attentamente, senza overfitting) sui dati della nuova coppia, eseguire un nuovo walk-forward test e, idealmente, testarlo in demo per 4-6 settimane sul broker effettivo. La logica sottostante potrebbe essere trasferibile. I valori specifici dei parametri quasi certamente no.
Q4Qual è il periodo minimo di forward test prima di mettere un EA su un conto live?
Uso 100 trade completati come mio minimo, non un periodo di tempo. I periodi di tempo sono fuorvianti perché un mercato lento potrebbe darti 40 trade in 3 mesi mentre un mercato veloce te ne dà 200. Hai bisogno di un campione statisticamente significativo del processo decisionale effettivo del tuo EA. Se il tuo EA fa in media 5 trade a settimana, sono 20 settimane di trading demo prima di considerare di andare live, circa 5 mesi. So che sembra molto tempo. Ma è più breve che recuperare da un conto bruciato. L'altra cosa che controllo è se i risultati del forward test rientrano nell'intervallo di confidenza Monte Carlo del backtest. Se il drawdown del forward test supera il 95° percentile della tua simulazione Monte Carlo, qualcosa è cambiato nel mercato e l'EA necessita di una rivalutazione prima di andare live.
Quanto è stato utile questo articolo?
Clicca su una stella
Commenti
Resta un passo avanti ai mercati
Ricevi analisi di mercato settimanali, strategie di trading e consigli MT5 nella tua casella. Nessuno spam, cancella quando vuoi.

Sull'autore
Daniel Harrington
Analista di Trading Senior
Daniel Harrington è un analista di trading senior con un MScF (Master of Science in Finance) specializzato in gestione quantitativa degli asset e del rischio. Con oltre 12 anni di esperienza nei mercati forex e derivati, si occupa di ottimizzazione della piattaforma MT5, strategie di trading algoritmico e consigli pratici per i trader retail.
Scarica Pulsar Terminal
Tutti questi calcolatori sono integrati in Pulsar Terminal con dati in tempo reale dal tuo conto MT5.
Scarica Pulsar TerminalPotrebbe interessarti anche

Avviso di rischio
Il trading di strumenti finanziari comporta rischi significativi e potrebbe non essere adatto a tutti gli investitori. Le performance passate non garantiscono risultati futuri. Questo contenuto è fornito solo a scopo educativo e non deve essere considerato un consiglio di investimento. Conduci sempre le tue ricerche prima di fare trading.

