Ottimizzazione con algoritmi genetici in MT5
Contenuti
- Cos'è l'Algoritmo Genetico
- Quando Usare la Ricerca Esaustiva e Quando l'Algoritmo Genetico
- Configurazione nel Strategy Tester
- Esecuzione dell'Ottimizzazione con Algoritmo Genetico
- Come Evitare il Sovraddattamento
- Sfruttare l'Ottimizzazione Parallela
- Limitare i Parametri da Ottimizzare
- Download Gratuito dell'EA
- Broker Consigliati
Introduzione all'Ottimizzazione con Algoritmo Genetico per gli EA su MT5
Quando si vogliono ottimizzare i parametri di un EA, il Strategy Tester di MT5 offre due modalità di ottimizzazione: la ricerca esaustiva (che testa ogni possibile combinazione di parametri) e l'algoritmo genetico (GA).
Per esplorare un numero vastissimo di combinazioni in tempi ragionevoli, l'algoritmo genetico è diventato lo standard di riferimento. In questo articolo spieghiamo i fondamenti dell'ottimizzazione con algoritmo genetico e i punti chiave per un utilizzo pratico ed efficace.
Cos'è l'Algoritmo Genetico
L'algoritmo genetico (Genetic Algorithm: GA) è un metodo di ottimizzazione ispirato all'evoluzione biologica. Il processo si svolge secondo i seguenti passi:
- Generazione casuale di un insieme di combinazioni di parametri (gli "individui")
- Esecuzione del backtest per ogni individuo e assegnazione di un punteggio tramite indicatori di valutazione (PF, fattore di recupero, ecc.)
- Selezione degli individui più performanti come "genitori" per creare la generazione successiva tramite incrocio e mutazione
- Ripetizione del processo: ad ogni generazione, i parametri convergono verso valori sempre più performanti
Mentre la ricerca esaustiva "scandaglia tutte le combinazioni possibili", il GA "concentra la ricerca nelle aree più promettenti", riducendo il tempo di calcolo di diversi ordini di grandezza.
Quando Usare la Ricerca Esaustiva e Quando l'Algoritmo Genetico
- Numero ridotto di parametri con meno di qualche migliaio di combinazioni → ricerca esaustiva per una copertura completa
- Numero elevato di parametri con decine di migliaia di combinazioni o più → algoritmo genetico
Ad esempio, con 3 parametri ciascuno su 10 step si ottengono 1.000 combinazioni: la ricerca esaustiva è più che sufficiente. Con 5 parametri su 20 step si arriva invece a 3,2 milioni di combinazioni, rendendo l'algoritmo genetico praticamente indispensabile.
Configurazione nel Strategy Tester
Per attivare l'ottimizzazione, nella finestra del Strategy Tester è necessario impostare:

- Ottimizzazione: selezionare "Veloce basata su algoritmo genetico"
- Risultato: scegliere l'indicatore di valutazione, come "Massima rendita composta", "Massimo personalizzato" o "Massimo fattore di recupero"
- Scheda Parametri di input: spuntare i parametri da ottimizzare e impostare valore iniziale, valore finale e step
Scelta dell'Indicatore di Valutazione
Il criterio scelto per definire "buono" un risultato influenza direttamente l'esito dell'ottimizzazione. Ecco i principali indicatori con le loro caratteristiche:
- Massima rendita composta (profitto): massimizza solo il profitto, ignorando il rischio; tende a generare sovraddattamento
- Fattore di recupero: profitto netto ÷ drawdown massimo; offre un buon equilibrio tra rendimento e rischio
- Sharpe Ratio: tiene conto della stabilità del rendimento nel tempo
- Massimo personalizzato: definibile liberamente nel codice dell'EA (ad esempio: PF × numero di operazioni)
Usare il fattore di recupero oppure lo Sharpe Ratio è il metodo più efficace per trovare parametri praticamente utilizzabili minimizzando il rischio di sovraddattamento.
Esecuzione dell'Ottimizzazione con Algoritmo Genetico
Una volta avviata l'ottimizzazione, i parametri con i valori di valutazione più alti vengono elencati generazione dopo generazione nella scheda "Risultati ottimizzazione". L'algoritmo genetico di MT5 esegue automaticamente centinaia di generazioni, convergendo verso le soluzioni migliori.

Errori Comuni
- Convergenza troppo rapida: probabile che il range di esplorazione dei parametri sia troppo ristretto
- Mancata convergenza: indicatore di valutazione inadeguato oppure troppo rumore nei dati
- Convergenza verso valori palesemente anomali: le soluzioni con un numero insufficiente di operazioni non vengono escluse
Incorporando nella funzione di valutazione un filtro come "escludere i risultati con meno di 50 operazioni" è possibile eliminare le soluzioni rumorose con campioni statisticamente insufficienti.
Come Evitare il Sovraddattamento
Più si ottimizza, più ci si avvicina a parametri "perfetti per il passato ma inutili per il futuro". Ecco le regole pratiche per evitarlo:
1. Dividere il Periodo di Test
Con 10 anni di dati storici, ottimizzare sui primi 7 anni e validare fuori campione (out-of-sample) sugli ultimi 3. Se i risultati peggiorano nel periodo di validazione, significa che c'è sovraddattamento al periodo di ottimizzazione.
2. Confrontare i 10-20 Risultati Migliori
Adottare esclusivamente la soluzione con il punteggio più alto è rischioso. Verificare che le soluzioni migliori siano raggruppate in un'area simile e, in quel caso, adottare i parametri vicini al valore centrale del gruppo.
3. Verificare la Sensibilità ai Parametri
Variare i parametri candidati del ±10-20% e controllare che i risultati non peggiorino drasticamente. Se peggiorano, la soluzione è sovraddattata a un "picco isolato" dell'ottimizzazione.
4. Mantenere Parametri Non Ottimizzati
Conservare sempre almeno alcuni "valori fissi naturali non ottimizzati, coerenti con la logica della strategia" riduce il rischio di sovraddattamento. Ad esempio, si può ottimizzare il periodo dell'EMA lasciando fisso il moltiplicatore ATR.
Sfruttare l'Ottimizzazione Parallela
MT5 supporta l'ottimizzazione parallela su più core della CPU. Aumentando il numero di agenti utilizzati in "Tester" → "Impostazioni" si riduce sensibilmente il tempo di calcolo.
In alternativa, la rete cloud MQL5 permette di eseguire ottimizzazioni su larga scala utilizzando agenti remoti distribuiti in tutto il mondo, ma ha un costo. La strategia più efficiente è quindi restringere prima il range dei parametri in locale, per poi eventualmente ricorrere al cloud.
Limitare i Parametri da Ottimizzare
Di norma, i parametri da ottimizzare vanno limitati a pochi elementi centrali della logica, come il periodo del segnale di ingresso o la distanza dello stop loss.
Fissare tutti gli altri parametri a "valori naturali" aiuta a prevenire il sovraddattamento. Il PF del backtest può crescere a piacere ottimizzando sempre di più, ma di pari passo aumenta la probabilità che la strategia smetta di funzionare sui mercati futuri. "Scegliere numeri nella norma e operare a lungo" è la soluzione realistica per un trading algoritmico sostenibile.
Download Gratuito dell'EA
L'EA gratuito del nostro sito, DONCHIAN ENGINE (USDJPY H1), nel backtest su USDJPY H1 di 9,4 anni (2017-2026, tick reali Dukascopy) ha ottenuto PF 1,50, win rate 34,5%, DD massimo 10,8% e 631 trade.
Vedi l'EA gratuito DONCHIAN ENGINE
Broker Consigliati
Per garantire che i risultati di backtest e ottimizzazione si riproducano il più fedelmente possibile nel trading reale, questo sito raccomanda broker selezionati per la qualità di esecuzione degli ordini.
Correlati
📧 Avvisi prima degli aumenti di prezzo + corso email gratuito di 5 giorni
Tutti gli EA sono a prezzo di lancio e salgono a scatti con le vendite. Ricevi un avviso prima di ogni aumento, più un'email al giorno su trading algoritmico, lettura dei backtest e scelta del broker.
* Privacy rigorosamente protetta. Potete cancellarvi in qualsiasi momento.
Hai domande su EA o Forex?
Puoi pubblicarle sul forum di trading di Nattzy (registrazione gratuita). Sono benvenute anche domande che vanno oltre questo articolo: impostazioni degli EA, scelta del broker e altro.
Chiedi su Nattzy ↗