- Come si esegue un'analisi walk-forward in MetaTrader 5?
- MT5 ti dà i pezzi, non il ciclo. Imposta Forward nella scheda Settings dello Strategy Tester su 1/2, 1/3 o 1/4: il tester ottimizza sulla parte iniziale del tuo intervallo di date e valuta le passate sopravvissute sulla coda, elencandole in una scheda Forward Results dedicata. Questo è un passo. Per ottenere una serie, sposta in avanti l'intero intervallo di date della lunghezza del passo ed esegui di nuovo l'ottimizzazione, una volta per segmento, registrando ogni volta la riga forward e i parametri vincenti. Venti segmenti significano venti esecuzioni.
- Quali lunghezze devono avere le finestre in-sample e out-of-sample?
- Abbastanza lunghe perché la finestra di addestramento contenga più di un regime e quella di test contenga abbastanza operazioni da voler dire qualcosa. I rapporti predefiniti del tester di 1/2, 1/3 e 1/4 sono punti di partenza sensati, e una data forward personalizzata dà una fetta di test più corta quando il passo è piccolo. Conta più la regola dei numeri: scegli il rapporto prima della prima esecuzione, perché provarne diversi e pubblicare il migliore ripete esattamente l'errore che il walk-forward esiste per intercettare.
- L'analisi walk-forward elimina l'overfitting?
- No. Lo sposta e lo rende visibile. La riottimizzazione avviene comunque dentro ogni finestra di addestramento, quindi il metodo misura quanta parte di quell'adattamento sopravvive al contatto con la finestra successiva, invece di impedirlo. Le nostre otto ricerche registrate hanno percorso 116 combinazioni di parametri e non ne hanno adottata nessuna: due di esse hanno superato la finestra successiva alla ricerca e sono poi fallite su quella che la precedeva, che è esattamente lo schema che un singolo hold-out nasconde.
- Che cosa conta come una buona efficienza out-of-sample?
- All'incirca fra il 40 % e il 60 % è ordinario, una volta che una manciata di parametri si muove, e valori sopra il 60 % mantenuti sulla maggior parte dei passi con parametri stabili contano come forti. Tratta con sospetto qualsiasi passo singolo: la nostra ricerca dall'adattamento migliore ha segnato 65 % su un passo e l'impostazione scelta ha comunque perso denaro su entrambe le finestre che non aveva visto. Una cifra vicina o superiore al 100 % segnala molto più spesso una fuga di informazione fra la finestra di addestramento e quella di test che una strategia insolitamente robusta.
- Quale criterio di ottimizzazione deve classificare le passate?
- Decidilo prima che compaia la griglia, perché il criterio — la funzione obiettivo, nella letteratura più ampia — sceglie la passata vincente a ogni passo. Una classifica basata sul saldo premia la passata che ha rischiato di più, una basata sul drawdown premia quella che ha operato di meno, e Custom max consegna la decisione al tuo OnTester() quando nessuna delle due va bene. Nelle nostre ricerche registrate la classifica del tester non ha mai deciso nulla da sola: ogni passata sopravvissuta doveva poi tenere un fattore di profitto sopra 1,0 su tre finestre, e nessuna delle otto ci è riuscita.
- In che cosa il walk-forward differisce da un singolo test out-of-sample?
- Un test singolo mette da parte un blocco di dati e verifica i parametri finali contro di esso una volta sola. Il walk-forward ripete il ciclo tara-poi-testa lungo tutto lo storico, quindi restituisce una serie di risultati out-of-sample e mette alla prova la procedura di riottimizzazione stessa — la cosa che chi impiega una strategia esegue davvero, mese dopo mese.