Non farti ingannare dalla cache degli input del tester MT5
Contenuti
- In sintesi: considera che nel tester restino i valori "dell'ultima volta"
- Perché si finisce per testare un'impostazione diversa
- Il tester salva e riutilizza gli input
- Il guaio è che il risultato sembra "plausibile"
- La nostra procedura di controllo
- 1. Scrivere tutti i parametri in [TesterInputs]
- 2. Confrontare gli input del report
- 3. Dopo un aggiornamento, trattare l'EA come un "altro EA"
- Checklist
- Limiti e avvertenze
- Riepilogo
In sintesi: considera che nel tester restino i valori "dell'ultima volta"
Lo Strategy Tester di MT5 ricorda, per ogni EA, i valori di input usati l'ultima volta. È una funzione comoda, ma dopo l'aggiornamento di un EA o subito dopo un altro test può succedere che l'impostazione che credi di aver testato e quella effettivamente eseguita non coincidano.
La nostra contromisura è semplice: non fidarti dei valori mostrati nella schermata del tester. Scrivi tutti i parametri nella sezione [TesterInputs] del file di configurazione e verificali con gli input riportati nel report. In questo articolo spieghiamo il perché e la procedura.
📧 Corso email gratuito (8 email) + pacchetto di 13 indicatori MT5 riservato agli iscritti
Subito dopo l'iscrizione ricevi il link per scaricare un pacchetto riservato agli iscritti con i nostri 13 indicatori MT5: file compilati (.ex5), codice sorgente e una guida all'installazione. Poi 8 email sui fondamenti del trading algoritmico, sulla corretta lettura dei backtest e sulla scelta del broker (una al giorno per i primi 5 giorni, poi a 7, 14 e 30 giorni dall'iscrizione). Ricevi anche un avviso prima di ogni aumento di prezzo delle versioni vendute su MQL5 Market (prezzo di lancio che sale a scaglioni con le vendite). Su questo sito i nostri EA sono gratuiti con un conto reale presso un broker partner.
* Privacy rigorosamente protetta. Potete cancellarvi in qualsiasi momento.
Perché si finisce per testare un'impostazione diversa
Il tester salva e riutilizza gli input
Il tester di MT5 salva per ogni EA gli ultimi parametri usati e li ricarica la volta successiva che selezioni lo stesso EA. Eviti di reinserire i valori a mano, ma proprio così nascono gli incidenti, ad esempio in questi casi:
- Hai modificato l'EA cambiando i valori predefiniti, ma nel tester sono rimasti quelli vecchi
- Dopo aver provato valori estremi in un'ottimizzazione, hai lanciato un backtest normale con quegli stessi valori
- Lotti o filtri cambiati per un'altra coppia di valute si sono trascinati nel test successivo
In teoria basterebbe guardare bene la schermata. Ma con un EA che ha decine di parametri, anche una sola differenza passa inosservata.
Il guaio è che il risultato sembra "plausibile"
Anche con impostazioni sbagliate il tester non dà errori. Se il risultato fosse completamente fuori scala ce ne accorgeremmo; il problema sorge quando i numeri sembrano credibili.
Come esempio mettiamo a confronto due EA di tipo Donchian che operano su USDJPY H1 (entrambi con valori misurati in backtest MT5 su dati reali):
| EA | PF | Operazioni | DD effettivo |
|---|---|---|---|
| DONCHIAN ENGINE | 1.5 | 631 | 10.8% |
| MEGAMAX DONCHIAN | 1.55 | 629 | 58.6% |
PF e numero di operazioni sono quasi identici, ma il drawdown effettivo è molto diverso. Le differenze di progettazione sono descritte nella pagina di ciascun EA; qui il punto è un altro: guardando solo PF e numero di operazioni non si capisce con quale impostazione sia girato il test. Un solo input fuori posto può cambiare completamente la valutazione del rischio.
La nostra procedura di controllo
1. Scrivere tutti i parametri in [TesterInputs]
MT5 permette di avviare il tester passando un file di configurazione (ini). Nella sezione [TesterInputs] scriviamo tutti i valori di input, non solo quelli che cambiamo.
[Tester]
Expert=MyEA
Symbol=USDJPY
Period=H1
Model=4
[TesterInputs]
InpLots=0.10||0.10||0.01||1.00||N
InpPeriod=20||10||5||50||N
Il formato è "valore||inizio||passo||fine||ottimizzare (Y/N)". Per un backtest normale, l'ultimo campo è N.
Non facciamo affidamento su come si comportino i parametri non scritti qui: a seconda dell'ambiente potrebbero assumere valori diversi. L'idea che "dovrebbe essere rimasto il valore predefinito" è proprio la causa dell'incidente di cui parliamo.
2. Confrontare gli input del report
Il report del tester conserva gli input effettivamente usati. Al termine del test confrontiamo quelli dell'ini con quelli del report. Più che a occhio, conviene trasformarli in testo e fare un diff: è molto più affidabile.
3. Dopo un aggiornamento, trattare l'EA come un "altro EA"
Un EA modificato nei valori predefiniti lo salviamo con un nuovo nome, aggiungendo la versione nel nome del file. Così si elimina alla radice la possibilità che vecchi valori salvati vengano caricati automaticamente.
Checklist
- Ho scritto tutti i parametri in
[TesterInputs] - Dopo un'ottimizzazione, tutti i campi finali sono tornati a
N - Gli input del report coincidono con l'ini
- Dopo la modifica dell'EA ho cambiato il nome del file
- Ho indicato esplicitamente simbolo, timeframe e modello in
[Tester]
Limiti e avvertenze
Nemmeno questa procedura previene tutti gli incidenti.
- Le costanti interne dell'EA non esposte come input non si gestiscono con l'ini. Per sapere se il sorgente è lo stesso serve un altro metodo.
- Anche con input corretti, se cambiano le condizioni dei dati storici o dello spread il risultato cambia. Il confronto degli input è solo uno degli elementi che garantiscono la riproducibilità.
- Neppure noi possiamo affermare che tutti i test eseguiti prima di adottare rigorosamente questa procedura fossero corretti. Quelli di cui ci siamo accorti li abbiamo rifatti, ma non possiamo escludere del tutto sviste.
Il metodo di configurazione degli EA che distribuiamo è nella guida alla configurazione dell'EA, mentre altri accorgimenti per la verifica sono raccolti nella sezione Knowledge.
Riepilogo
- Il tester di MT5 ricorda gli input precedenti e può riportarli senza che te ne accorga
- Anche con impostazioni sbagliate non compare alcun errore e i numeri sembrano plausibili, quindi è difficile accorgersene
- La contromisura è scrivere tutti i parametri in
[TesterInputs]e confrontarli con gli input del report - Dopo aver modificato un EA, salvalo con un altro nome per evitare che vengano caricati vecchi valori salvati
- Restano comunque fuori controllo costanti interne e condizioni dei dati: la gestione degli input è solo una parte della verifica
Correlati
2026-10-16
Backtest con simboli personalizzati MT5: trappole da evitare
2026-10-15
Qualità dello storico MT5: tick reali e limiti
2026-10-13
Oltre IS/OOS: come progettare le finestre walk-forward
2026-10-12
Analisi per anno: riconoscere gli EA legati a un anno
📧 Corso email gratuito (8 email) + pacchetto di 13 indicatori MT5 riservato agli iscritti
Subito dopo l'iscrizione ricevi il link per scaricare un pacchetto riservato agli iscritti con i nostri 13 indicatori MT5: file compilati (.ex5), codice sorgente e una guida all'installazione. Poi 8 email sui fondamenti del trading algoritmico, sulla corretta lettura dei backtest e sulla scelta del broker (una al giorno per i primi 5 giorni, poi a 7, 14 e 30 giorni dall'iscrizione). Ricevi anche un avviso prima di ogni aumento di prezzo delle versioni vendute su MQL5 Market (prezzo di lancio che sale a scaglioni con le vendite). Su questo sito i nostri EA sono gratuiti con un conto reale presso un broker partner.
* 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 ↗