Strategia intermediate 9 min di lettura

Ottimizzazione dei parametri EA — come affinare senza sovra-adattamento

Una guida pratica all'ottimizzazione dei parametri EA nello Strategy Tester di MT5. Copre l'analisi walk-forward, come evitare il curve-fitting, i test di stabilità e quando smettere di ottimizzare e iniziare a operare.

Pubblicato · Revisionato

L’ottimizzazione degli EA è il processo di trovare valori di parametri che migliorano la performance storica di una strategia. Fatta correttamente, affina un edge genuino. Fatta in modo scorretto, produce parametri che sembrano eccellenti sui dati storici e falliscono immediatamente nel trading reale. La differenza è la disciplina dell’analisi walk-forward.

Il problema centrale dell’ottimizzazione

L’ottimizzazione è una ricerca su uno spazio di parametri della combinazione che massimizza una metrica scelta (rendimento totale, Sharpe ratio, profit factor) su un dataset storico. Il problema: con abbastanza combinazioni di parametri, puoi sempre trovare impostazioni che sembrano eccezionali su qualsiasi dato storico — incluso il rumore casuale.

Questo è il curve-fitting (chiamato anche overfitting). Un EA in curve-fitting ha memorizzato i movimenti di prezzo specifici del periodo di backtest invece di aver scoperto un edge reale. Avrà performance inferiori o fallirà nel forward test.

La soluzione walk-forward

L’antidoto al curve-fitting è il test out-of-sample. Riserva una porzione dei tuoi dati storici — tipicamente il 20-30 % più recente — come “set di validazione” che non includi mai nell’ottimizzazione. Poi:

  1. Ottimizza i parametri sui dati in-sample più vecchi (es. 2020-2024)
  2. Testa i parametri migliori sui dati out-of-sample (es. solo 2025) senza alcun ulteriore aggiustamento
  3. Se la performance regge nel periodo out-of-sample, i parametri hanno un certo valore predittivo genuino

Lo Strategy Tester di MT5 ha una modalità integrata “Walk Forward Optimisation” che automatizza questo processo su finestre mobili.

Test di stabilità — la scorciatoia pratica

Se l’ottimizzazione walk-forward sembra complessa, un segnale più semplice di sovra-ottimizzazione è la sensibilità dei parametri. Dopo aver trovato i parametri migliori, testa le variazioni: se il moltiplicatore ATR predefinito è 2,0, testa anche 1,8 e 2,2.

  • Parametri stabili: la performance a 1,8 e 2,2 è simile a 2,0. Il risultato non è altamente sensibile a questo parametro — l’edge è reale.
  • Parametri in curve-fitting: la performance crolla bruscamente a 1,9 o 2,1. Il valore 2,0 è stato ottimizzato specificamente sui dati storici; un piccolo cambiamento fa collassare il risultato.

Preferisci sempre parametri che si trovano in un vicinato a performance piatta, anche se la loro performance di picco assoluta è leggermente inferiore a un ottimo più sensibile.

Cosa ottimizzare (e cosa no)

Ottimizza:

  • I moltiplicatori dello stop-loss (gli stop basati su ATR hanno intervalli di parametri naturali)
  • Le soglie del filtro di trend (livelli ADX, periodi EMA)
  • I filtri di sessione (finestre di entrata per ora del giorno)

Non ottimizzare:

  • La percentuale di rischio per operazione — questa è una decisione di dimensionamento delle posizioni, non un parametro di edge
  • Gli obiettivi di uscita impostati per massimizzare il profitto del backtest — il mercato in avanti non è il mercato all’indietro

Quando smettere di ottimizzare

Una regola pratica di arresto: una volta che la tua Sharpe ratio nel periodo out-of-sample supera 1,5 e la tua efficienza walk-forward (profitto out-of-sample / profitto in-sample) è sopra 0,5, smetti di ottimizzare. Un ulteriore affinamento a questo punto aggiunge rischio di curve-fitting senza un miglioramento proporzionale dell’edge.

Il controllo finale prima di andare in reale: fai girare l’EA ottimizzato su un conto demo per un mese e confronta i risultati operazione per operazione con il backtest. Se la performance demo è entro il 20 % della Sharpe del backtest, i parametri sono validi. Se la demo è gravemente sottoperformante, riesamina le ipotesi sul modello di esecuzione (spread, slippage) nelle impostazioni del backtest.

Termini correlati

Riferimenti al glossario