Out of range indique sans ambiguïté une erreur dans le code - sortie du tableau. La chaîne de caractères et l'emplacement de l'erreur y sont indiqués, alors recherchez l'erreur.
La fonction iTime(NULL,PERIOD_M1,0) donne l'heure erronée du terminal de gauche.
Le terminal affiche 2013.11.11 22:53:08, iTime affiche 2013.11.11 22:38:00 et devrait afficher
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) devrait renvoyer un nombre entier, par exemple 1, 2, 3, 100, pas
comme dans cet exemple 133.02
iClose devrait sortir 133.02 dans le premier cas, et 133.03 dans le second.
Essayez d'utiliser RefreshRates(), OnTick a le même problème, le temps et les prix ne sont pas mis à jour dans le testeur, mais en utilisant RefreshRates() tout est ok ....
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Voici le code.
Voici le résultat de l'exécution dans le terminal Version 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
Comme vous pouvez le voir, ni iClose, ni iVolume, ni iTime ne changent.
Je suppose que oui, tout comme les autres fonctions qui commencent par i.
De même, la fonction iVolume dans cet exemple ne montre clairement pas de Volume.
Au même moment dans le testeur, tout fonctionne et change sauf iVolume. Ça ne marche pas là non plus.
Note.
Voici le code.
Voici le résultat de l'exécution dans le terminal Version 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
Comme vous pouvez le voir, ni iClose, ni iVolume, ni iTime ne changent.
Je suppose que les autres fonctions qui commencent par i ne changent pas non plus.
De même, la fonction iVolume dans cet exemple ne montre clairement pas de volume.
Au même moment dans le testeur, tout fonctionne et change sauf iVolume. Ça ne marche pas là non plus.
Note.
Eh bien, je l'ai fait. Qu'est-ce qu'il y a ?
Bien...
La fonction iTime(NULL,PERIOD_M1,0) donne l'heure erronée du terminal de gauche.
Le terminal donne 2013.11.11 22:53:08, iTime donne 2013.11.11 22:38:00, et devrait donner
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) devrait renvoyer un nombre entier, par exemple 1, 2, 3, 100, pas
comme dans cet exemple 133.02
iClose devrait donner 133,02 dans le premier cas, et 133,03 dans le second.
Toutes ces fonctions fonctionnent un peu différemment, à la minute près. Votre impression fonctionne en ticks. Le temps en MT est compté en secondes.
Et le deuxième terminal, en général, à gauche :)
Toutes ces fonctions fonctionnent un peu différemment, à la minute près. Votre impression fonctionne en ticks. Le temps en MT est compté en secondes.
Et le deuxième terminal, en général, à gauche :)
Ecoute, je comprends que tu n'aies personne à qui parler le soir.
Je sais que le procès-verbal, c'est pourquoi dans l'impression du résultat et a montré SPECIAL
deux résultats à des minutes différentes.
Et d'ailleurs, ce message n'était pas pour vous, mais pour les développeurs.
iVolume(NULL,PERIOD_M1,0) devrait retourner un entier, par exemple 1, 2, 3, 100, mais pas
comme dans cet exemple 133.02
Il semble que iVolume renvoie effectivement le dernier prix(prix de clôture) au lieu du volume.
Mais j'ai été très amusé par la description de l'aide (la première est tirée du fichier, et la seconde du site web).
1
2
Bien...
La fonction iTime(NULL,PERIOD_M1,0) donne l'heure erronée du terminal de gauche.
Le terminal affiche 2013.11.11 22:53:08, iTime affiche 2013.11.11 22:38:00 et devrait afficher
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0) devrait renvoyer un nombre entier, par exemple 1, 2, 3, 100, pas
comme dans cet exemple 133.02
iClose devrait sortir 133.02 dans le premier cas, et 133.03 dans le second.
Essayez d'utiliser RefreshRates(), OnTick a le même problème, le temps et les prix ne sont pas mis à jour dans le testeur, mais en utilisant RefreshRates() tout est ok ....
Comme vous pouvez le constater, ni iClose, ni iVolume, ni iTime ne changent.
Je suppose que les autres fonctions qui commencent par i ne le font pas non plus.
De même, la fonction iVolume dans cet exemple ne montre clairement pas de Volume.