Ottimizzare EA MetaTrader 5: Backtest Robusti ed Evitare il Curve Fitting | MTInvestments

Ottimizzare EA su MetaTrader 5:
Backtest Robusti
ed Evitare il Curve Fitting.

Il 74-89% dei conti retail perde denaro (dati ESMA). Non perché il mercato sia truccato. Non perché le banche rubino. Ma perché tradano senza edge statistico — senza un vantaggio matematico verificabile e misurabile. Questa guida spiega esattamente cos’è l’edge, come si misura con precisione, come si distingue dal rumore statistico, come decade e come proteggerlo. Con i dati reali di Oracle v78: 65.587 trade, +0,684R per trade.

1. Perché il Backtest Ottimizzato Mente

Ottimizzare un EA su MetaTrader 5 è la cosa più semplice e più pericolosa del trading sistematico. Il Strategy Tester di MT5 ha un ottimizzatore integrato che testa automaticamente migliaia di combinazioni di parametri in pochi minuti. Il problema: se usi tutti i dati storici per l’ottimizzazione e selezioni la combinazione con il miglior backtest, hai quasi certamente trovato un pattern casuale nei dati, non un edge reale. Questo fenomeno si chiama data-snooping bias o curve fitting.

Un sistema con PF 3.5 in backtest ottimizzato su 5 anni di dati che poi perde denaro nel primo mese di live trading non è una storia insolita — è la norma nel trading retail. Questo articolo spiega come ottimizzare correttamente, come testare la robustezza dei risultati e come Oracle v78 ha gestito il processo di ottimizzazione sui 65.587 trade reali.

2. Il Strategy Tester di MT5: le Impostazioni Fondamentali

Apri lo Strategy Tester con Ctrl+R in MT5. Le impostazioni più importanti:

ParametroOpzione consigliataNote
ModalitàOpen prices onlyVelocissimo per EA su candele chiuse
Modalità validazione finaleEvery tick based on real ticksPiù accurato per test finale
SpreadCurrent spread (XAUUSD: ~0,35pt)Mai usare spread zero
Deposito$10.000+Per position sizing realistico 1%
PeriodoTraining set soltantoMai tutto lo storico in ottimizzazione

3. La Divisione Train/Test: il Principio Fondamentale

Prima di ottimizzare qualsiasi parametro, dividi il campione storico in due parti separate. La regola di base: 70% per il training (ottimizzazione dei parametri), 30% per il test (validazione out-of-sample). Per Oracle v78 su dati 2007–2024: training 2007–2018, test 2019–2024.

Regola d’oro: il test set va usato una sola volta, dopo aver già scelto i parametri ottimali sul training set. Se dopo il primo test su dati out-of-sample regoli i parametri e riesegui, il test set diventa implicitamente training set e la validazione perde significato.

⛔ Il pericolo invisibile: il Data Leakage

Il data leakage avviene quando informazioni dal test set influenzano il processo di ottimizzazione. Può essere esplicito (usi i dati futuri nell’ottimizzazione) o implicito (regoli i parametri più volte in base ai risultati sul test set). Entrambi i casi invalidano completamente la validazione. L’unica protezione è la disciplina: ottimizzi una volta, testi una volta, poi decidi.

4. Walk-Forward Analysis: la Verifica più Robusta

La walk-forward analysis (WFA) è l’approccio di validazione più usato nei sistemi di trading sistematici professionali. Invece di un singolo split train/test, la WFA ottimizza su una finestra mobile di dati e verifica immediatamente sui dati successivi, poi avanza la finestra e ripete. Il risultato è decine di mini-test train/test sovrapposti, che danno una stima molto più robusta della performance futura.

Walk-Forward Efficiency (WFE)
WFE = PF_out_of_sample / PF_in_sample × 100%
WFE > 70%: sistema robusto. I parametri generalizzano a dati non visti.
WFE 50–70%: accettabile ma con degradazione.
WFE < 50%: sistema in overfitting. Non usare in produzione.

Il Strategy Tester di MT5 ha la WFA integrata nella tab “Ottimizzazione”: imposta la finestra di ottimizzazione (es. 12 mesi), la finestra forward (es. 3 mesi) e il passo di avanzamento (es. 3 mesi). MT5 esegue automaticamente tutti i cicli e mostra i risultati complessivi.

5. Quanti Parametri Ottimizzare: il Problema della Dimensionalità

Ogni parametro aggiuntivo aumenta esponenzialmente il rischio di overfitting. La regola pratica: il numero di trade in sample dovrebbe essere almeno 100 volte il numero totale di combinazioni testate. Con 10.000 trade nel training set, puoi testare circa 100 combinazioni con affidabilità accettabile. Non ottimizzare mai più di 2–3 parametri contemporaneamente.

ParametriValori per paramCombinazioni totaliTrade minimi in sample
120202.000
22040040.000
3208.000800.000
420160.000Impraticabile

6. Ottimizzare il Periodo Ulcer Index su XAUUSD H4

grid_ottimizzazione.txtMT5 Strategy Tester
// Parametri da ottimizzare (2 parametri = 55 combinazioni totali)
ULCER_PERIOD: Start=8, Step=2, Stop=28  // 11 valori
PERCENTILE:   Start=70, Step=5, Stop=90 // 5 valori
// Totale: 11 x 5 = 55 combinazioni

// Con "Open prices only" su 12 anni XAUUSD H4:
// Tempo: ~3-5 minuti in modalita' multi-thread
// Trade per combinazione: ~2.000-3.000 (ottimale per affidabilita')

// Dopo ottimizzazione: scegli la combinazione con
// - PF piu' stabile nell'intero range (non il picco isolato)
// - WFE > 70%
// - Trade >500 nel periodo di validazione
💡 Non scegliere mai la combinazione con il PF più alto in assoluto. Cerca quella con PF stabile in un’ampia zona intorno al punto ottimale — significa che il sistema non è “agganciato” a uno specifico valore di parametro.

7. Metriche di Valutazione: Oltre il Profit Factor

Il Profit Factor da solo non è sufficiente. Le metriche di robustezza più utili per la validazione di un EA ottimizzato:

  • PF in-sample vs out-of-sample: la differenza non deve superare il 30–40%.
  • Recovery Factor = Profitto netto / Max DD: misura quanto il sistema guadagna rispetto al suo peggior drawdown. Oracle v78: 14,3%/13,1% = 1,09.
  • Sharpe Ratio mensile: rendimento aggiustato per la volatilità dei rendimenti mensili. Sopra 1 è buono per trading retail.
  • Stabilità dei parametri: testa la “curva dei parametri” — il PF in funzione del valore di ogni parametro. Una curva piatta è più robusta di un picco isolato.
  • Performance su sottocampioni: dividi il training set in 3 parti e testa se il sistema è profittevole in tutte e tre.

8. I 5 Errori Classici nell’Ottimizzazione di EA

Errore 1: Ottimizzare sul campione completo. Il più comune e il più pericoloso. Selezioni i parametri migliori sull’intero storico disponibile. Il test diventa inutile perché i parametri sono già stati scelti per massimizzare quella stessa equity curve.

Errore 2: Scegliere il PF massimo. Spesso i parametri con il PF più alto in-sample sono i meno robusti out-of-sample. Preferisci i parametri con PF stabile in un ampio range intorno al valore ottimale.

Errore 3: Non includere lo spread nel backtest. Su XAUUSD, lo spread è tipicamente 0,30–0,50 punti. Imposta sempre lo spread reale del broker nelle impostazioni del Tester.

Errore 4: Testare su pochi trade. Con meno di 500 trade nel periodo di test, qualsiasi differenza di performance può essere dovuta alla fortuna. Cerca campioni con almeno 500–1.000 trade per il test out-of-sample.

Errore 5: Ottimizzare lo stesso EA più volte su periodi diversi. Ogni volta che regoli parametri in base a risultati su nuovi dati, quei dati diventano implicitamente parte del training. Il vero test out-of-sample esiste solo se non lo hai mai visto prima.

9. Come Oracle v78 Ha Gestito l’Ottimizzazione

Oracle v78 ha due parametri principali: il periodo dell’Ulcer Index (default 14) e la soglia percentile del gate (default 80° percentile). Il processo di selezione: (1) analisi statistica esplorativa in Python per identificare i range con edge, (2) ottimizzazione sul training set 2007–2019 con Walk-Forward Analysis (WFE risultante > 70%), (3) validazione finale sul test set 2020–2024 senza modifiche ulteriori. Il fatto che PF e WR siano rimasti coerenti nel periodo di test è la prova principale che il sistema non è in overfitting.

Il principio chiave: in 19 anni di sviluppo, Oracle v78 ha attraversato decine di iterazioni. Ma ogni nuova versione è stata rivalidata su dati out-of-sample prima di essere considerata “ufficiale”. I 65.587 trade attuali includono operazioni eseguite sia durante le fasi di sviluppo che nel deployment in produzione — tutti con gli stessi parametri documentati.

10. Backtest vs Live: Come Interpretare le Discrepanze

Una degradazione moderata dal backtest al live trading è normale e attesa. Il modello di simulazione non può catturare perfettamente: lo slippage su ordini al mercato, il requoting nei momenti di alta volatilità, le interruzioni di connessione, i cali di liquidità durante i gap settimanali. Una regola pratica: un sistema con PF 1,44 in backtest e PF 1,35–1,40 in live è un risultato eccellente. Una caduta da PF 1,44 a PF 0,90 in live suggerisce overfitting o problemi di esecuzione sistemici.

Domande Frequenti

Come si usa il Strategy Tester di MT5 per ottimizzare un EA? ▼
Apri lo Strategy Tester (Ctrl+R). Seleziona l’EA, il simbolo (XAUUSD) e il timeframe (H4). Nella sezione parametri, clicca il checkbox su ogni parametro da ottimizzare e imposta Start, Step e Stop. Scegli “Open prices only” per velocità. Lancia l’ottimizzazione. I risultati appaiono nella tab “Risultati ottimizzazione” ordinati per qualsiasi metrica tu scelga.
Cos’è la walk-forward analysis? ▼
La walk-forward analysis ottimizza i parametri su una finestra mobile di dati storici e verifica i risultati sui dati immediatamente successivi. Ripete il processo spostando la finestra nel tempo. È la verifica di robustezza più affidabile perché simula come il sistema avrebbe performato se fosse stato ri-ottimizzato periodicamente nel passato. MT5 ha la WFA integrata nel Strategy Tester.
Quante combinazioni di parametri è sicuro testare? ▼
Il numero di trade in sample dovrebbe essere almeno 100 volte il numero di combinazioni testate. Con 10.000 trade nel training set, puoi testare ~100 combinazioni con affidabilità accettabile. Non ottimizzare mai più di 2–3 parametri simultaneamente — il rischio di curve fitting cresce esponenzialmente.

11. Il Principio della Robustezza vs la Ricerca dell’Ottimo

Un sistema di trading robusto non è quello con i migliori parametri in assoluto — è quello che funziona bene in un ampio range di parametri intorno al valore ottimale. Immagina di ottimizzare il periodo dell’Ulcer Index su valori da 8 a 28: se il PF massimo è 1,65 con periodo=14 ma crolla a 1,10 con periodo=12 o 16, significa che il sistema è “agganciato” a un valore specifico. Se invece il PF è stabile tra 1,40 e 1,55 per periodi da 10 a 20, il sistema è robusto a variazioni dei parametri.

Questa è la differenza tra un sistema robusto e un sistema ottimizzato: il robusto funziona “comunque” in un range plausibile di parametri, l’ottimizzato funziona solo con la combinazione esatta trovata sui dati storici. Nel trading live, le condizioni di mercato cambiano continuamente: un sistema robusto degrada gradualmente con il cambio di regime, un sistema ottimizzato può rompersi improvvisamente.

12. Robustezza Temporale: Test su Sottocampioni

Un ultimo test di robustezza pratico e potente: dividi il training set in 3 parti temporali (es. 4 anni ciascuna per un training set di 12 anni) e testa se il sistema è profittevole in tutte e tre le parti separate. Un sistema robusto deve mostrare edge positivo anche in sottocampioni che non ha “visto” durante l’ottimizzazione globale.

Oracle v78 ha superato questo test: il sistema è profittevole in ogni sottocampione temporale di 4+ anni dal 2007. La performance non è concentrata in un solo periodo favorevole — è distribuita su tutto l’orizzonte temporale. Questo è il segnale più chiaro di un edge statistico genuino piuttosto che di un adattamento ai dati.

La checklist completa prima di dichiarare un EA “pronto per il live”: (1) PF in-sample stabile in un ampio range di parametri, non un picco isolato; (2) PF out-of-sample entro il 30–40% di quello in-sample; (3) WFE > 70%; (4) PF positivo in tutti i sottocampioni temporali; (5) trade sufficienti in ogni periodo di validazione (>200 trade); (6) spread reale incluso nella simulazione.

Conclusioni: la Statistica Come Bussola nel Mercato

I mercati finanziari sono uno dei pochi ambienti in cui intuizioni, esperienze passate e capacità analitiche individuali sono costantemente sfidate dall’incertezza fondamentale dei prezzi futuri. Nessun trader — sistemático o discrezionale — può eliminare questa incertezza. Ma è possibile costruire un processo decisionale che la gestisca in modo statisticamente coerente, che riduca i bias comportamentali e che crei un edge misurabile nel lungo periodo.

Oracle v78 con 65.587 trade reali non è la prova che il futuro sarà identico al passato. È la prova che un sistema con fondamento statistico solido, implementato correttamente e rispettato meccanicamente, può generare rendimenti positivi aggiustati per il rischio su un orizzonte temporale sufficientemente lungo. Il CAGR 14,3% con MDD 13,1% su 19 anni di dati reali è un risultato che si ottiene non per fortuna, ma per la combinazione di edge statistico genuino e disciplina esecutiva assoluta.

Il passo successivo è verificare questi dati in prima persona. La live gratuita su oracle.mtinvestments.it è aperta: nessun costo, nessun deposito richiesto, solo il sistema in azione su MT5 in tempo reale. Scrivi “ORACLE” su WhatsApp a Rossella (+39 380 635 8296) per ricevere la guida completa e iniziare il percorso di verifica.

Conclusioni: la Statistica Come Bussola nel Mercato

I mercati finanziari sono uno dei pochi ambienti in cui intuizioni, esperienze passate e capacità analitiche individuali sono costantemente sfidate dall’incertezza fondamentale dei prezzi futuri. Nessun trader — sistemático o discrezionale — può eliminare questa incertezza. Ma è possibile costruire un processo decisionale che la gestisca in modo statisticamente coerente, che riduca i bias comportamentali e che crei un edge misurabile nel lungo periodo.

Oracle v78 con 65.587 trade reali non è la prova che il futuro sarà identico al passato. È la prova che un sistema con fondamento statistico solido, implementato correttamente e rispettato meccanicamente, può generare rendimenti positivi aggiustati per il rischio su un orizzonte temporale sufficientemente lungo. Il CAGR 14,3% con MDD 13,1% su 19 anni di dati reali è un risultato che si ottiene non per fortuna, ma per la combinazione di edge statistico genuino e disciplina esecutiva assoluta.

Il passo successivo è verificare questi dati in prima persona. La live gratuita su oracle.mtinvestments.it è aperta: nessun costo, nessun deposito richiesto, solo il sistema in azione su MT5 in tempo reale. Scrivi “ORACLE” su WhatsApp a Rossella (+39 380 635 8296) per ricevere la guida completa e iniziare il percorso di verifica.

⚡ Edge +0,684R per trade — 65.587 trade reali — 19 anni verificati

Stai Tradando con Edge
o con Speranza?

Oracle v78 ha un edge di +0,684R per trade su 65.587 operazioni reali MT5. WR 42,1%, PF 1,44, MDD 13,1%. Non è un backtest — sono 19 anni di mercato reale. Vedi il sistema in azione nella live gratuita settimanale.

EV +0,684R per trade PF 1,44 verificato 65.587 trade reali MT5 19 anni di edge stabile MDD 13,1% max
ENTRA NELLA LIVE GRATUITA →

Scrivi “SERIO” a Rossella su WhatsApp Nessun costo. Rossella risponde entro 2 ore.

Domande Frequenti sull’Edge Statistico

Quanti trade devo fare per sapere se ho un edge reale? ▼
Dipende da quanto è grande l’edge. Con un edge di 17 punti percentuali sopra il breakeven (come Oracle), bastano circa 200 trade per avere confidenza statistica al 95%. Con un edge di 5 punti percentuali sopra il breakeven, ne servono circa 3.000. Con 2 punti percentuali, quasi 20.000. La formula è: n_min = (1,96)² × WR × (1-WR) / (edge)². Questo spiega perché la maggior parte dei trader non può mai sapere se hanno un edge reale con il numero di trade che fanno in un anno.
Qual è la differenza tra edge e profit factor? ▼
L’aspettativa matematica (E) è la misura dell’edge per singolo trade in termini di R: quanto guadagni in media per ogni unità rischiata. Il Profit Factor (PF) è il rapporto tra profitti totali e perdite totali. I due sono correlati ma non identici: E = (PF - 1) / (PF × 1/RR + 1). Con RR 1:3 e PF 1,44: E = (1,44-1)/(1,44×1/3+1) = 0,44/1,48 = 0,297R — poi corretto per il RR effettivo. In pratica, usa l’aspettativa matematica per la valutazione teorica dell’edge e il Profit Factor come misura di robustezza complessiva. Oracle: PF 1,44 e E +0,684R.
Un sistema con WR 38% può avere edge positivo? ▼
Assolutamente sì. Con RR 1:3 il breakeven è al 25%. Un sistema con WR 38% e RR 1:3 ha E = (0,38×3) - (0,62×1) = 1,14 - 0,62 = +0,52R per trade — edge positivo e solido. Con RR 1:4, il breakeven scende al 20%: anche un WR del 25% produce edge positivo. L’errore comune è pensare che bisogna vincere più spesso di quanto si perde. Non è così: bisogna che il valore atteso ponderato sia positivo, che dipende da entrambi WR e RR.
Come so se il mio edge sta degradando? ▼
Monitora il WR su finestre mobili di 100 trade. Se il WR rolling scende sotto WR_storico meno 2 deviazioni standard per 3 settimane consecutive, attiva il protocollo di allerta: riduci la dimensione delle posizioni al 50% e analizza se le condizioni di mercato sono cambiate. Non basarti su 10-20 trade — le fluttuazioni normali producono WR bassi per periodi brevi anche su sistemi con edge forte. Usa la statistica, non l’emozione.
Manuel Trotta — Trader quantitativo, fondatore MTInvestments, autore Hoepli
◆ Scritto da

Manuel Trotta

Trader quantitativo italiano dal novembre 2007 — 19 anni online. Fondatore MTInvestments, creatore UlcerZenith Oracle v78 con 65.587 trade reali verificati H4 XAUUSD. Autore di 18 libri sul trading e finanza personale: "Fare Trading con Excel" (Hoepli 2019), "Diventa Investitore Profittevole in 15 Minuti al Giorno", "Il Latte con la Mucca" (memoir 2026), più 2 volumi tecnici. Speaker IT Forum Rimini. Online dal 2007 — stesso nome, stessa P.IVA.

P.IVA 14349331000 Dal Novembre 2007 18 Libri su Amazon ↗ 150K+ Follower