Cosa Significa la Divergenza negli Expert Advisor di MT5
Risposta diretta
In MT5, la “divergenza” negli Expert Advisor (EA) indica che il comportamento o i risultati dell’EA non corrispondono più a quanto previsto da test precedenti o da un’altra esecuzione. Questa discrepanza può manifestarsi con decisioni di trading diverse, tempistiche differenti, esiti di ordini non allineati o l’EA che raggiunge stati interni diversi. La “divergenza” non è un singolo indicatore né un avviso certo; è una descrizione di disallineamento tra diverse esecuzioni o tra ipotesi e risultati effettivi.
Meccanismo e definizione (come si forma la divergenza)
Un EA è un programma che prende decisioni sulla base di input e regole interne. Anche se due EA hanno lo stesso codice, la divergenza può insorgere quando l’ambiente che alimenta il codice non è identico. Le cause più comuni includono:
- Input di mercato diversi: L’EA può calcolare valori a partire dalla serie dei prezzi come apertura, massimo, minimo, chiusura o tempistica dei tick. Se i dati acquisiti differiscono, l’EA può generare segnali diversi.
- Dettagli di esecuzione diversi: L’esecuzione degli ordini dipende da come vengono elaborati. Piccole differenze nei fill, nei tempi o nei costi possono alterare le posizioni, modificando così le decisioni successive.
- Stato interno diverso: Molti EA tengono traccia di variabili come posizioni aperte, posizionamento di stop/limit o flag del tipo “questa condizione è già stata soddisfatta?”. Una volta che lo stato differisce in un qualsiasi momento, il comportamento successivo può divergere ulteriormente.
- Ipotesi diverse nel testing rispetto al live trading: Il backtesting e l’operatività reale possono non utilizzare lo stesso modello per tempistiche, spread, slippage o sequenza degli eventi.
Un modello mentale utile è questo: la divergenza è spesso una reazione a catena. Una piccola differenza negli input o nell’esecuzione può spingere l’EA in uno stato nuovo, e la logica successiva si applicherà a quel nuovo stato, producendo differenze crescenti nel tempo.
Evidenza o esempio (cosa osservare)
Supponiamo di eseguire lo stesso EA due volte in una finestra temporale simile:
- Nell’esecuzione A, una condizione diventa vera in un determinato momento e l’EA apre una posizione.
- Nell’esecuzione B, la condizione diventa vera più tardi o non si verifica affatto, perché gli input calcolati differiscono (ad esempio, la cronologia dei prezzi utilizzata dall’EA non è identica).
Da quel punto in poi, le azioni successive dell’EA possono differire perché l’insieme delle posizioni aperte, i calcoli di rischio e la logica di gestione degli ordini sono ora diversi.
Un altro schema è il drift nella conferma delle regole: un EA può sembrare che “segua le sue regole” nei backtest, ma quando lo si riesegue con input leggermente diversi (diversi confini delle candele, diversa acquisizione dei tick, tempistiche diverse di esecuzione), la stessa regola potrebbe non attivarsi. Se poi si selezionano solo le parti che corrispondono, l’allineamento percepito può aumentare, anche se la discrepanza sottostante permane.
Limitazioni e rischi (cosa la divergenza non indica)
La divergenza è informativa, ma non significa automaticamente che l’EA sia “errato” o che fallirà. Importanti limitazioni includono:
- Nessuna garanzia di direzione: La divergenza può verificarsi sia quando i risultati migliorano che quando peggiorano.
- Hindsight bias: Dopo aver osservato i risultati, si tende a focalizzarsi sull’interpretazione che si adatta all’esito. Ad esempio, si può attribuire un allineamento alla “logica corretta”, ignorando come piccole differenze negli input potrebbero spiegare le discrepanze.
- Condizioni di mercato e del conto variabili: Gli EA dipendono da spread, commissioni, tempistiche di esecuzione e stato del conto. Anche controllando il codice, questi fattori possono differire.
- Metodologie di test diverse: Un backtest può usare assunzioni semplificate. Se tali assunzioni non corrispondono alla sequenza reale degli eventi, è prevedibile una divergenza tra risultati di test e comportamento reale.
I modi di fallimento più comuni coinvolgono mancati allineamenti di stato (l’EA crede di gestire una posizione che in realtà non esiste) e sensibilità all’ordine degli eventi (logica che dipende dalla tempistica esatta degli aggiornamenti). Entrambi possono produrre una divergenza che cresce nel tempo.
Verifica e prossima domanda (come verificare autonomamente)
Per verificare cosa significa “divergenza” nel tuo caso specifico, concentrati sul controllo delle variabili piuttosto che sul giudizio dei risultati a posteriori:
- Confronta gli input utilizzati dall’EA tra diverse esecuzioni (stesso simbolo, stesso timeframe, stessa fonte di dati storici, stessa tempistica della sessione).
- Verifica differenze nell’ambiente che influenzano la sequenza degli eventi (feed dati, frequenza dei tick, differenze nell’elaborazione degli ordini).
- Analizza i cambiamenti di stato interno nel primo punto in cui le esecuzioni smettono di coincidere (ad esempio, quando una condizione si attiva in modo diverso).
- Riesegui con un cambiamento alla volta per poter attribuire la divergenza a un fattore specifico.