[Erreur dans la récupération de l'heure du senior TF dans le chronomètre ! - page 4
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Je ne dirais pas que c'est une béquille. J'attends un flux de citations du serveur, sinon l'historique ne sera pas mis à jour. Une autre option consiste à prendre l'heure locale de l'ordinateur et à la corriger en fonction du fuseau horaire, ce qui peut être calculé automatiquement et, en fin de compte, attendre la mise à jour des citations. C'est un peu tordu mais je ne pense pas que Metakvotov va changer quoi que ce soit dans MT4. En fin de compte, c'est un problème de connexion au serveur qui doit être traité d'une manière ou d'une autre.
Voilà. Et vous vous êtes rendu compte que c'est un problème ! Mais, je pense que cela devrait être corrigé et/ou que l'aide devrait être complétée par un algorithme pour tous les cas.
La fonction d'extraction des données ne doit pas fournir des données gauches sans erreurs ni avertissements !
Ce n'est pas mon premier sujet (le précédent concernait MT5, je n'ai pas eu de réponse claire à ce sujet) sur la synchronisation et les blocages/erreurs qui en découlent.
Oui, ça semble fonctionner. En option, il peut être utilisé. Merci ! Mais j'aimerais quand même que les fonctions fonctionnent correctement.
Cela ne fonctionnera que s'il n'y a pas de barres manquantes, ce qui ne peut être garanti. Supposons, par exemple, qu'il n'y ait pas de nouvelles cotations sur le serveur pour l'heure en cours (et peut-être aussi pour l'heure précédente). Par conséquent, la dernière barre est une barre précédente.
Il y a deux erreurs importantes dans votre approche de la vérification :
Igor, avez-vous revu le code ? Où puis-je obtenir quelque chose dans OnInit() ?
2. Quels contrôles ? Où est-il écrit que l'indicateur doit utiliser OnCalculate() au moins une fois pour fonctionner correctement ?
Cela ne fonctionnera que s'il n'y a pas de barres manquées, ce qui ne peut être garanti. Supposons qu'il n'y ait pas de nouvelles cotations sur le serveur pour l'heure en cours (et peut-être aussi pour l'heure précédente). Par conséquent, la dernière barre est une barre précédente.
Cette solution (comme je l'ai dit, une béquille) est de loin meilleure que rien. Comme je l'ai dit (et prouvé), il y a un bug. Le plus tôt les développeurs le répareront, le mieux ce sera.
Cela ne fonctionnera que s'il n'y a pas de barres manquées, ce qui ne peut être garanti. Supposons qu'il n'y ait pas de nouvelles cotations sur le serveur pour l'heure en cours (et peut-être aussi pour l'heure précédente). Par conséquent, la dernière barre est une barre précédente.
Il ne donne donc pas de données restantes, il donne les dernières données reçues et l'erreur ne se produira pas tant que le terminal ne commencera pas à recevoir un flux de citations. Dans votre cas, vous essayez de recevoir des données avant le début des cotations. Ainsi que les éventuels échecs de connexion. Quel est le problème avec MT5 ?
Oh, mec... Nous avons déjà dépassé cette étape du démantèlement. Voir votre propre journal :
Séquence. Tout d'abord, nous vérifions la connexion. Une fois la connexion établie, nous obtenons l'heure. Expliquez-moi, s'il vous plaît, pourquoi l'erreur 4066 est renvoyée en premier et ensuite elle n'est pas renvoyée ! Qu'est-ce qui a changé en 20ms depuis le dernier appel ?
Quel est le problème avec MT5 là très intéressant à lire ?
https://www.mql5.com/ru/forum/219829
Cette solution (comme je l'ai dit, une béquille) est de loin meilleure que rien. Comme je l'ai dit (et prouvé), il y a un bug. Le plus tôt les développeurs le répareront, le mieux ce sera.
Oh, mec... Nous avons déjà dépassé cette étape du démantèlement. Voir votre propre journal :
Séquence. Tout d'abord, nous vérifions la connexion. Une fois la connexion établie, nous obtenons l'heure. Expliquez-moi, s'il vous plaît, pourquoi l'erreur 4066 est renvoyée en premier et ensuite elle n'est pas renvoyée ! Qu'est-ce qui a changé en 20ms depuis le dernier appel ?