Out of range indica inequivocabilmente un errore nel codice - andare fuori dall'array. La stringa e la posizione dell'errore sono indicate lì, quindi cercate l'errore.
La funzione iTime(NULL,PERIOD_M1,0) dà il tempo sbagliato dal terminale a sinistra.
Il terminale mostra 2013.11.11 22:53:08, iTime mostra 2013.11.11 22:38:00 e dovrebbe mostrare
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) dovrebbe restituire qualche intero, per esempio 1, 2, 3, 100, non
come in questo esempio 133.02
iClose dovrebbe produrre 133,02 nel primo caso, e 133,03 nel secondo.
Provate a usare RefreshRates(), OnTick ha lo stesso problema, il tempo e i prezzi non vengono aggiornati nel tester, ma quando si usa RefreshRates() tutto è ok ...
Ecco il codice.
Ecco il risultato dell'esecuzione nel terminale Versione 4.0 Build 536
2013.11.11 22:53:08 Test EURJPY,M1: prevClose0!!!!! = 133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevVolume0!!!!! = 133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevtime0!!!!! = 2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 Test EURJPY,M1:
2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!! = 133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevVolume0!!!!! = 133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevtime0!!!!! =2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
Come potete vedere né iClose, né iVolume, né iTime cambiano.
Presumo di sì, e lo stesso vale per le altre funzioni che iniziano per i.
Inoltre, la funzione iVolume in questo esempio mostra chiaramente non Volume.
Allo stesso tempo nel tester, tutto funziona e cambia tranne iVolume. Anche lì non funziona.
Nota.
Ecco il codice.
Ecco il risultato dell'esecuzione nel terminale Versione 4.0 Build 536
2013.11.11 22:53:08 Test EURJPY,M1: prevClose0!!!!! =133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevVolume0!!!!! =133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 Test EURJPY,M1: prevtime0!!!!! =2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 Test EURJPY,M1:
2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!! =133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevVolume0!!!!! =133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 Test EURJPY,M1: prevtime0!!!!! =2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
Come potete vedere né iClose, né iVolume, né iTime cambiano.
Presumo che anche le altre funzioni che iniziano con i non cambino.
Inoltre, la funzione iVolume in questo esempio mostra chiaramente non Volume.
Allo stesso tempo nel tester, tutto funziona e cambia tranne iVolume. Anche lì non funziona.
Nota.
Beh, l'ho fatto. Cosa c'è che non va?
Giusto...
La funzione iTime(NULL,PERIOD_M1,0) dà il tempo sbagliato dal terminale a sinistra.
Terminal dà 2013.11.11 22:53:08, iTime dà 2013.11.11 22:38:00, e dovrebbe dare
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) dovrebbe restituire qualche intero, per esempio 1, 2, 3, 100, non
come in questo esempio 133.02
iClose dovrebbe dare 133,02 nel primo caso, e 133,03 nel secondo.
Tutte queste funzioni lavorano un po' diversamente, minuto per minuto. La vostra stampa funziona in ticchettii. Il tempo in MT è contato in secondi.
E il secondo terminale, in generale, a sinistra :)
Tutte queste funzioni lavorano un po' diversamente, minuto per minuto. La vostra stampa funziona in ticchettii. Il tempo in MT è contato in secondi.
E il secondo terminale, in generale, a sinistra :)
Senti, capisco che non hai nessuno con cui parlare la sera.
So che il verbale, ecco perché nella stampa del risultato e mostrato SPECIALE
due risultati a minuti diversi.
E poi, questo messaggio non era per voi, ma per gli sviluppatori.
iVolume(NULL,PERIOD_M1,0) dovrebbe restituire un intero, per esempio 1, 2, 3, 100, ma non
come in questo esempio 133.02
Sembra che iVolume restituisca davvero l'ultimo prezzo(prezzo di chiusura) invece del volume.
Ma sono stato abbastanza divertito dalla descrizione della guida (la prima è dal file, e la seconda è presa dal sito web)
1
2
Giusto...
La funzione iTime(NULL,PERIOD_M1,0) dà il tempo sbagliato dal terminale a sinistra.
Il terminale mostra 2013.11.11 22:53:08, iTime mostra 2013.11.11 22:38:00 e dovrebbe mostrare
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) dovrebbe restituire qualche intero, per esempio 1, 2, 3, 100, non
come in questo esempio 133.02
iClose dovrebbe produrre 133,02 nel primo caso, e 133,03 nel secondo.
Provate a usare RefreshRates(), OnTick ha lo stesso problema, il tempo e i prezzi non vengono aggiornati nel tester, ma quando si usa RefreshRates() tutto è ok ...
Come potete vedere, né iClose, né iVolume, né iTime cambiano.
Suppongo che neanche le altre funzioni che iniziano per i lo facciano.
Inoltre, la funzione iVolume in questo esempio mostra chiaramente non Volume.