Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1315
![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
Il y a une telle chose dans MT4, je ne sais pas si lorsque OnInit est déclenché après le changement de compte, l'environnement n'a pas eu le temps de mettre à jour le numéro de compte ou un autre bug, j'ai décidé de minuterie
beaucoup de choses se passent mal si le terminal avec l'EA en cours d'exécution est rechargé.
imho, si le code n'est pas destiné au testeur, alors il est préférable de faire toute l'initialisation au moment du premier tick - alors 99,9% de tout sera initialisé correctement.
beaucoup de choses se passent mal si le terminal avec une EA en cours est surchargé.
imho, si le code n'est pas destiné à un testeur, alors il vaut mieux faire toute l'initialisation au moment du premier tick - alors 99,9% de tout sera initialisé correctement.
Je suis d'accord, mais il y en a probablement 0,1% ;))
beaucoup de choses se passent mal si le terminal avec une EA en cours est surchargé.
imho, si le code n'est pas destiné à un testeur, il est préférable de tout initialiser au moment du premier tick - alors 99,9% de tout sera initialisé correctement.
il vaut mieux faire toute l'initialisation au premier tic - alors 99,9% des choses seront initialisées correctement... Comment c'est?
toutes les initialisations sont mieux faites à l'arrivée du premier tick - alors 99.9% de tout sera initialisé correctement... Comment c'est?
Vous pouvez le faire directement, en évitant une entretoise de type "My".
Vous pouvez le faire directement en évitant le remplissage sous la forme de "Mon".
ce n'est pas du rembourrage, c'est du code structuré.
Votre exemple est un exemple de la façon dont paresseux d'écrire un couple de lettres supplémentaires et obtenir un code non systématique - ici au moins 2 fois sera appelé OnInit() lors de l'exécution de l'EA, pas le fait qu'il sera nécessaire, ou plutôt ne pas violer ce qui a été écrit avant - le niveau des questions que vous avez vu, non ? )))))
ce n'est pas un tampon, c'est un code structuré
Votre exemple est un exemple de la façon dont paresseux d'écrire un couple de lettres supplémentaires et obtenir le code non structuré - ici au moins 2 fois sera appelé OnInit() au démarrage EA, pas le fait qu'il sera nécessaire, ou plutôt ne sera pas briser ce qui a été écrit avant - le niveau des questions que vous avez vu, non ? )))))
first_run = true;
Vous devez également vérifier dans Init à la première initialisation et peut-être déjà là "zéro".
Sinon, oui, je suis d'accord.
P.S. Je ne suis pas d'accord, il ne sera pas appelé 2 fois si vous avez réussi à vous connecter au serveur et à obtenir des données réelles de celui-ci.
ne fonctionne pas, car il est écrit dans la documentation queOnTick() ne fonctionne pas dans les indicateurs !
ne fonctionne pas, car la documentation indique queOnTick() ne fonctionne pas dans les indicateurs !
Eh bien, c'est la limite :(
Remplacer OnTick() par
Et je vais aller à l'autre branche.Eh bien, c'est la limite :(
J'ai écrit plus haut, à propos du niveau des questions ;)
Et vous avez commencé à chercher l'optimalité de l'initialisation dans OnTick/OnInit - tout y est plus simple, il faut protéger le code trouvé pour le partager avec les mêmes amis )))).