Discussione sull’articolo "Guida Step-By-Step alla scrittura di un Expert Advisor in MQL5 per Principianti" - pagina 31
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Innanzitutto vorrei dire che ho letto questo articolo e ho copiato il codice perché volevo imparare la codifica MQL5. In secondo luogo sento di aver imparato molto, e ho scritto 7 EA ora e alcuni indicatori. Quindi sento di essere sulla buona strada per imparare a tal punto da poter codificare le mie idee.
Inoltre. Mi ha incuriosito molto il tester di strategia. All'inizio ho pensato che fosse troppo elementare e che non avrebbe mai potuto funzionare. Non è vero. Può funzionare. Tuttavia. Per quanto mi riguarda, funziona solo per le persone con un'enorme pazienza. L'ho quindi testato su USDCAD, con timeframe giornaliero, ottimizzando il take profit, lo stop loss e il periodo ADX. La storia è breve. Basta mettere l'ADX nel mezzo. Sopra 29 e sotto 60. Andrà tutto bene. Prendete il profitto. Il più alto possibile. Tra 300 e 500. Stop loss. Sicuramente molto meno. Un numero ricorrente era 155 o 30. Poi arriva il grande problema. L'ho testato dal 2019 fino all'inizio del 2025. Ha dato da 75 operazioni a circa 45 per le impostazioni ADX più alte. Ho esaminato il grafico di 5 di questi test. Si aggira intorno allo 0 fino al 2024. Poi tutto il guadagno arriva nell'ultimo anno. Il fattore di profitto che ho esaminato va da 1,77 a 2,61. Ci sono molti problemi dappertutto. Tutti gli short sono stati in perdita. L'86% dei long è stato redditizio. Molte operazioni hanno avuto una lunga durata. In generale, molto più di 10 giorni. Credo di aver visto 3440 ore come tempo di detenzione più lungo. La media è stata di 846 ore. Il payoff potrebbe anche essere molto alto, ma chi vuole essere limitato a meno di 20 operazioni dopo 6 anni?
Ho passato giorni a esaminare tutte le 33000 combinazioni. Ora farò ulteriori test e ridurrò di molto i compiti. Non ho bisogno di valori ADX superiori a 55. Lo stop loss a 30 è troppo basso, anche se ho visto molta redditività anche con quello. Come ultimo punto. Ho letto che si possono collegare diversi PC/laptop in una LAN per aumentare la velocità. Lo consiglio.
Concordo sul fatto che la validazione debba andare oltre la semplice selezione del miglior risultato di ottimizzazione. Un’ulteriore preoccupazione che nutro è che la procedura di validazione stessa possa diventare soggetta a sovradattamento.
Ad esempio, se modifichiamo ripetutamente la finestra walk-forward, le ipotesi relative al metodo Monte Carlo, l’intervallo di perturbazione dei parametri o le ipotesi sui costi di negoziazione dopo aver esaminato i risultati, potremmo finire per ottimizzare il processo di validazione stesso.
Ritengo che un approccio più solido consista nel definire il protocollo di validazione prima di esaminare i risultati OOS finali, per poi mantenere un periodo finale completamente inalterato da utilizzare una sola volta.
Per gli EA adattivi, mi chiedo inoltre se i parametri di rilevamento del regime debbano essere convalidati separatamente dai parametri di trading. Qualcuno ha testato questo approccio?
È una sintesi ben dettagliata della tua esperienza iniziale con lo Strategy Tester.
Se posso permettermi di dare qualche suggerimento:
Il passaggio n. 1 dovrebbe essere proprio quello di verificare la qualità dei dati tick del tuo broker-dealer. Esiste uno script molto valido che automatizza questo processo all’indirizzo:
Code Base
Tick Audit - verifica la cronologia reale dei tick e la qualità del backtest mese per mese
Ayaz, 05/09/2026 06:13
Fornisce report mensili per verificare se il simbolo in esame presenta effettivamente tick o solo barre, consentendo di individuare quale parte del backtest sia stata eseguita su tick generati prima di considerare attendibile la curva. Il Strategy Tester fornisce un unico valore relativo alla qualità della cronologia al termine del test, senza mai specificare quali mesi abbiano presentato problemi. Questo script lo verifica preventivamente.Il passaggio n. 2 dovrebbe consistere nell’effettuare il test su “Ogni tick basato su tick reali” dei dati storici del tuo specifico broker-dealer (nel caso in cui non lo stia già facendo). A seconda delle specifiche del tuo PC, potrebbe essere necessario eseguire l’operazione in blocchi, specialmente su macchine meno recenti.
Il passaggio n. 3 dovrebbe consistere nella valutazione del rapporto del Tester che hai già avviato. Presta particolare attenzione al numero medio di perdite consecutive e al numero massimo di perdite consecutive. Potresti voler ridurre la dimensione della tua posizione dopo che il numero di perdite consecutive in tempo reale supera il numero medio di perdite consecutive (una spiegazione completa è pubblicata sulla bacheca del mio profilo). Presta attenzione anche ai periodi (ore, giorni e mesi) in cui il tuo EA è redditizio. Gli orari di ingresso nelle operazioni non sono supportati nativamente, quindi ho creato un’utilità che genera un report ausiliario (https://www.mql5.com/en/blogs/post/774010). Potresti voler implementare un filtro per l’orario di trading (https://www.mql5.com/en/blogs/post/770147).
Come nota a margine, esistono molti trader posizionali (a lungo termine) redditizi. Se i tuoi obiettivi personali sono in linea con questo stile di trading, non mi preoccuperei troppo della frequenza delle operazioni. A mio modesto parere, è molto più facile creare una strategia LFT redditizia rispetto a una strategia HFT o persino MFT.