MetaTrader 5 Strategy Tester: bug, errori, suggerimenti per il miglioramento - pagina 34
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
Neanche io lo guardo mai. Ma occupa uno spazio utile...
Tuttavia, è stato utile.
Neanche io lo guardo mai. Ma occupa uno spazio utile...
Forum sul trading, sistemi di trading automatico e test di strategie di trading
MetaTrader 5 Strategy Tester: bug, errori, suggerimenti per il miglioramento
fxsaber, 2019.12.11 04:50
Anche nella seconda colonna mancano i millisecondi.
Nessuno sarà scioccato quando prima ci sono messaggi dal tester sulla sincronizzazione, il caricamento dell'Expert Advisor, ecc. con l'ora locale, e poi ci sono messaggi dall'Expert Advisor e dal Test Trading Server con l'ora di prova, a volte intervallati da messaggi dal tester con l'ora locale?
Slava, ho pensato al modo migliore per organizzarlo. Volevo suggerire che l'ora di inizio, la sincronizzazione, ecc. dovrebbero essere inviati prima, e poi il resto - dall'esperto e dal tester con messaggi importanti.
Mi sembra la stessa cosa che hai suggerito tu :)
Ho trovato uno dei posti dove Tester può essere accelerato. Si scopre che ogni volta che Tester confronta due prezzi (ad esempio BuyLimit e Tick.ask), lo fa attraverso una costosa normalizzazione. Non c'è bisogno di farlo!
I prezzi nella storia del Terminal non sono normalizzati!
Risultato (EURUSD, MQ-Beta)
Come è possibile? Un errore sul lato del server commerciale?
Di conseguenza, il Tester sta guidando gli EA a prezzi storti anche su simboli reali.
Sembra che il problema sia che gli sviluppatori hanno usato un algoritmo di normalizzazione diverso.
Riprodotto un bug con un valore vuoto nei parametri intu.
1. Assemblare l'EA:
2. ottimizzare su qualsiasi cosa entrambi i parametri:
3. Deselezionare enam e ottimizzare solo x:
4. Caricate la 1a cache di ottimizzazione, poi la 2a cache di ottimizzazione, eseguite una singola corsa dai risultati. Invece di -1 otteniamo INT_MAX:
Rilevante per tutti gli enum che iniziano con -1.
C'è il sospetto che quando si deseleziona t, l'input è completamente disabilitato
e la variabile t contiene un valoreINT_MAX non inizializzato invece di uno vuoto.
I prezzi nella storia del Terminal non sono normalizzati!
Risultato (EURUSD, MQ-Beta)
Come è possibile? Un errore sul lato del server commerciale?
Di conseguenza, il Tester sta guidando gli EA a prezzi storti anche su simboli reali.
Sembra che il problema sia che gli sviluppatori hanno usato un algoritmo di normalizzazione diverso.
Questi non sono prezzi truffaldini! Sono abbastanza normalizzati. Questo è molto chiaro dalla tua stampa
Il server di trading usa sempre un epsilon per confrontare il prezzo in entrata con il prezzo corrente quando si fa trading.
Siete consapevoli che il risultato di <qualche_numero_reale>*0,5 può essere diverso dal risultato di <lo stesso_numero_reale>/2,0?
Sei consapevole che alcuni compilatori possono sostituire un'operazione con un'altra quando ottimizzano il codice? Inoltre, in un caso viene sostituito e in un altro no, all'interno dello stesso progetto. Senza dichiarare una guerra.
C'è il sospetto che quando si deseleziona t, l'input è completamente disabilitato
e la variabile t contiene un valore INT_MAX non inizializzato invece di uno vuoto.
Quale sia la ragione all'interno non è importante.
L'importante è che lo riproducano e lo riparino. Il bug è vecchio.
Questi non sono prezzi truffaldini! Sono abbastanza normalizzati. Questo è molto chiaro dalla tua stampa
Il prezzo è normalizzato solo se supera questa condizione.
Forum sul trading, sistemi di trading automatico e tester di strategie
MetaTrader 5 strategy tester: bug, errori, suggerimenti per il miglioramento
fxsaber, 2019.12.11 07:47
Il server di trading usa sempre l'epsilon durante il trading per confrontare il prezzo in arrivo e il prezzo corrente.
È corretto che il server commerciale fa esattamente questo.
Siete consapevoli che il risultato <qualche_numero_reale>*0,5 può essere diverso dal risultato <lo stesso_numero_reale>/2,0?
Sei consapevole che alcuni compilatori possono sostituire un'operazione con un'altra quando ottimizzano il codice? E in un caso sostituire e in un altro no, all'interno dello stesso progetto. Senza dichiarare guerra.
La risposta a entrambe le domande è affermativa - sono consapevole.
Ancora una volta, i prezzi originali del terminale non sono normalizzati. Quindi questa situazione si verifica facilmente.
Forum sul trading, sistemi di trading automatico e test di strategia
Prezzi non normalizzati in MT4
fxsaber, 2019.02.20 23:03
Ma la situazione è molto peggiore, e allo stesso tempo su MQ-DemoIl prezzo di apertura della posizione corrente non è uguale al prezzo del loro ordine/commercio.