MetaTrader 5 Strategy Tester: bug, errori, suggerimenti per il miglioramento - pagina 16
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
Se queste sono le formule corrette
Il Tester calcola queste cifre in modo molto diverso. Ho delle differenze sorprendenti nei risultati tra queste formule e quello che mostra il Tester (a parte il profitto).
Suggerisco di andare a fondo della questione. L'intoppo è esattamente quello che MT5 considera un trade redditizio.
Rimuoverne uno, o entrambi in una volta sola, e confrontare.
Oppure qui (se il precedente non aiuta) rimuovete "="
Di cosa stiamo discutendo ora? Disabilitare gli agenti o permettere ai personaggi di essere usati in test/ottimizzazione?
Se ci sono due problemi, probabilmente dovremmo discutere e risolverli entrambi. O è impossibile?
1. Perché c'è una disabilitazione degli agenti dopo l'ottimizzazione.
2. Qual è la ragione per cui l'aggiunta automatica di caratteri al tester è interrotta?
Rimuoverne uno, o entrambi in una volta sola, e confrontare.
O qui (se sopra non aiuta) rimuovete "="
Ecco come funziona MT5
Cioè in MT5 si può chiudere una posizione e ottenere una perdita (il saldo prima dell'apertura è inferiore al saldo dopo la chiusura). Ma in questo caso il MT5-Tester (il terminale non ha controllato) considererà questo trade come redditizio.
Per esempio, MT5_PF = 1,89 e MT4_PF = 2,01.
Se queste sono le formule giuste
Il Tester calcola queste cifre in modo molto diverso. Ho delle differenze sorprendenti nei risultati tra queste formule e quello che mostra il Tester (a parte il profitto).
Propongo di fare chiarezza. L'intoppo è quello che MT5 considera un trade redditizio.
Perché c'è un modificatore const qui?
Quando questa variabile lascia lo scope, sarà probabilmente reinizializzata... imho, const non è necessario
Se rimuoviamo OrderCommission() + OrderSwap() ? - stiamo parlando di profitti sulle transazioni, non di commissioni?
SZZ: come opzione, il tester può lavorare con il saldo, se l'ordine è chiuso, il saldo è cambiato, confrontarlo con il vecchio saldo, in generale, non posso indovinare.... , non ho trovato la fonte, ma c'è un articolohttps://www.mql5.com/ru/articles/4226 con lo stesso calcolo del profitto, ma non l'ho letto.
Perché c'è un modificatore const qui?
È necessario calcolare la variabile Profit in tutte le iterazioni del ciclo , anche se è possibile che quando questa variabile lascia l'ambito, venga reinizializzata... imho, non avete bisogno di const.
Sarà ricreato. Tutto è corretto lì.
Cosa succede se rimuovo OrderCommission() + OrderSwap()? - stiamo parlando di profitto da scambi, non da commissioni?
Formula MT5 di cui sopra. Questo crea gravi distorsioni quando si calcola il PF dei TS di scalping. E come può essere che PF dipenda dalla piattaforma? Deve essere inequivocabile.
Questo problema è già stato sollevato da me nei rami delle build precedenti. Non è mai stato riparato. Ho trovato la mia stampella. Disabilito alcuni degli agenti (3 su 10 nel mio caso) e li abilito dopo 0 iterazioni, e tutto va bene. A volte, però, alcuni agenti si fermano nel processo, ma raramente l'algoritmo di soluzione è lo stesso.
È un peccato, ma lo sterzo manuale non è un'opzione. Ho l'ottimizzazione automatica.
Se ci sono due problemi, forse entrambi dovrebbero essere discussi e risolti. O è impossibile?
1. Perché gli agenti si disconnettono dopo l'ottimizzazione.
2. Qual è la ragione per cui l'aggiunta automatica di caratteri al tester è interrotta?
1. Guardate i log dei tester, è tutto lì.
2. è già fissato. Ma fino a quando non avrete una build con le correzioni, potete usare il drag-drop (non abbiamo discusso del perché l'aggiunta dei caratteri si sia fermata, abbiamo discusso di come potete ancora testare in queste condizioni)
Eseguo corse singole alternativamente su ogni simbolo personalizzato. Da un certo punto è impossibile vedere il loro percorso nel Tester, ma sono ancora selezionabili via drag and drop dal Market Watch. Poi dopo un po' non funziona neanche questo: si può selezionare o un simbolo normale, o solo un simbolo personalizzato. Gli altri non sono possibili. L'animazione qui sotto mostra questa situazione.
1. Guardate i log dei tester, è tutto lì.
2. è già fissato. Ma fino a quando non avrete una build con le correzioni, potete usare il drag-drop (non abbiamo discusso del perché l'aggiunta dei caratteri si sia fermata, abbiamo discusso di come potete ancora testare in queste condizioni)
Durante l'ottimizzazione genetica uso molti parametri. Non appena il numero di varianti diventa così grande da apparire in notazione scientifica (6,8768769e+21), l'ottimizzazione continua con la metà degli agenti (4 su 8) dopo la generazione 0. Nessuna menzione di questo nei registri. L'ottimizzazione stessa funziona bene, ma con metà carico, il doppio del tempo.
Il comportamento non viene sempre riprodotto, il che può essere il motivo per cui non viene corretto. Ieri ce l'avevo, oggi no. Forse dipende anche dall'EA. Ce l'ho con le cornici. La dimensione di ex5 è di circa 0,5 Mb. Ho 8 Gb di memoria. Intel i7, 4 core, 8 threads. Divorziato. Senza supervisione.