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
La stessa funzione restituisce zero. Ho provato ancheSERIES_TERMINAL_FIRSTDATE . La conclusione è che la funzione SeriesInfoInteger non funziona nel tester. Funziona solo per lo strumento su cui il test è in esecuzione. Forse avete qualche idea su come eseguire il test per strumenti con diverse date di inizio della storia quando si seleziona l'intervallo "Tutta la storia".
Ho deciso di verificare le sue conclusioni. Ho eseguito il test Expert Advisor su Alpari-Demo e lo stesso nel tester in modalità visualizzazione dal 2000. I risultati dell'esecuzione di init sono nell'allegato.
Se la storia del periodo testato è sul server, SeriesInfoInteger() restituisce nel tester gli stessi dati che erano sul demo. Se non c'è storia (come su EURAUD, dal 2004.06.16) alla data del test, il tester restituisce errore: 2011.09.05 09:40:53 EURAUD: contiene 0 record M1.
Quindi, SeriesInfoInteger() funziona ancora nel tester, se il server ha la storia corrispondente e il tester può caricarla. Se colpisce la cronologia "vuota", il test si blocca semplicemente, anche se la barra di progresso si muove.
Ho deciso di verificare le sue conclusioni. Ho eseguito il test Expert Advisor su Alpari-Demo e lo stesso nel tester in modalità visualizzazione dal 2000. I risultati dell'esecuzione di init sono nell'allegato.
Se la storia del periodo testato è sul server, SeriesInfoInteger() restituisce nel tester gli stessi dati che erano sul demo. Se non c'è storia (come su EURAUD, dal 2004.06.16) al momento della data di inizio del test, il tester restituisce errore: 2011.09.05 09:40:53 EURAUD: contiene 0 record M1.
Quindi, SeriesInfoInteger() funziona ancora in tester, se il server ha una storia appropriata e il tester può caricarla. Se colpisce la cronologia "vuota", il test si blocca semplicemente, anche se la barra di avanzamento si muove.
Stranamente ho restituito degli zeri nel tester, cosa faccio di sbagliato?
E si imposta l'intervallo di prova non su 'Tutta la storia' ma in modo che la storia sia garantita per tutti i caratteri, ad esempio 'L'anno scorso'. Allora non ci dovrebbero essere zeri, ma l'inizio della storia caricata dal tester. Lo ricevo dal 4.01.2010.
P.S. Ma in realtà è strano, se il tester ha scaricato la storia esistente con 2004g. , dovrebbe dare fuori e data di inizio della storia 2004 per questo simbolo, e non zeri, anche se la data di inizio del test prima della storia esistente. Credo che questo sia un bug.
Oltre al fatto che il tempo nel terminale MT5 è improvvisamente saltato da GMT+1 a GMT+0, ho anche trovato un errore - dopo la fine della candela di un'ora appena passata i valori del volume nelle candele precedenti sono cambiati, e significativamente. Posso solo dire con certezza delle candele di oggi - le ho salvate tutte in successione dall'inizio della sessione: 0:00 1841 - 2269, 1:00 2556 - 3235, 2:00 2436 - 2975, 3:00 1700 - 3096, 4:00 1391 - 1690, il tempo del terminale è "sbagliato". Questo è un errore con MT5.
E impostate l'intervallo di prova non su 'Tutta la storia' ma in modo che la storia sia garantita per tutti i caratteri, ad esempio 'L'anno scorso'. Allora non ci dovrebbero essere zeri, ma l'inizio della storia caricata dal tester. L'ho avuto dal 4.01.2010.
P.S. Ma in realtà è strano, se il tester ha scaricato la storia esistente dal 2004. , allora dovrebbe dare la data di inizio e la storia 2004 per questo simbolo, e non gli zeri, anche se la data di inizio prima della storia esistente. Credo che questo sia un bug.
Scoperto durante la normalizzazione del lotto. Controlla il tuo:
Print(NormalizeDouble(0.07,2);
Contrariamente alle aspettative, stampe: 0,0700000000000000000000001
Scoperto durante la normalizzazione del lotto. Controlla il tuo:
Print(NormalizeDouble(0.07,2);
Contrariamente alle aspettative, stampa: 0.07000000000000001
https://www.mql5.com/ru/forum/4033
Proverò a fare la domanda una terza volta). MetaDriver ha mostrato un esempio qui. È qui che ho dato il mio esempio.
Il grafico si restringe quando il numero di scambi inizia a superare i 3000. Questo problema è considerato dagli sviluppatori?
Questo problema non ci permette di analizzare i risultati delle transazioni nel terminale in una sola volta quando si testa il sistema su una grande striscia di dati storici quando la quantità di operazioni può essere di circa 10000 e più.
Ricordo che avevo qualcosa di simile in Excel. Ma il programma era sovraccarico di formule complesse e semplicemente si bloccava se il numero di linee superava le 5000. Quale potrebbe essere il problema qui?