Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 893
![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 question comme celle-ci. Donc, il y a une boucle
La 1èrerupture est située non pas dans les premières parenthèses de la boucle mais dans des parenthèses imbriquées à l'intérieur de celles-ci. La 2èmerupture est encore plus profondément imbriquée dans des parenthèses intérieures. Comme je l'ai compris dans ce cas,break ne fonctionne tout simplement pas, pour dire la vérité, je n'ai pas compris si cela a fonctionné ou non, mais le programme s'est arrêté et a fait des itérations inutiles. Afin de sortir d'une boucle avec beaucoup de conditions, j'ai ajouté un drapeau de sortie à la boucle. Il m'a peut-être semblé que ça ne marche pas, qui pense sur cette question ?
Si le code est stylé normalement, on voit tout de suite que vous en avez fait un déchet :
Exactement la même chose :
Impossible de mettre à jour les chandeliers et d'ajouter des ticks.
Voici le code pour les indicateurs :
L'indicateur est ensuite appliqué aux paris de contrôle :
Sortie :
Si les chandeliers sont entièrement mis à jour, pourquoi rate_total ne montre-t-il que 50 % des chandeliers ?
Veuillez me conseiller.
Avec un style de code normal, il est immédiatement évident que c'est une connerie :
Donc, dans mon cas, il se peut que cela ne fonctionne pas correctement et qu'il ne sorte pas vraiment de la boucle ou qu'il sorte de toute façon de la boucle la plus proche dans le corps de laquelle se trouve la condition ?
Donc, dans mon cas, il se peut que cela ne fonctionne pas correctement et qu'il ne sorte pas réellement de la boucle, ou bien il sortira de toute façon de la boucle la plus proche dont le corps contient la condition ?
Je ne vois pas les conditions de la boucle - vous avez un tiret là :
for(...........)
Je ne vois pas de condition de boucle - vous avez une ligne pointillée ici :
Il ne s'agit pas de la condition de la boucle, mais du fait qu'il peut y avoir d'autres ifs à l'intérieur du if et que l'un de ces ifs devra générer une sortie. La question est donc de savoir si la profondeur de la condition affecte la sortie de la boucle ou non.
La question est donc la suivante : la profondeur de la condition affecte-t-elle la sortie de la boucle ou non ?
si ce n'est pas le cas, break cassera le corps de boucle le plus proche, c'est-à-dire celui dans lequel il est actuellement exécuté, et le nombre de fois où vous utilisez if() n'a pas d'importance, ni le nombre d'iF() ni leur profondeur
enfin, une partie de la phrase, si vous voulez interrompre le corps de la boucle par différentes conditions, il est parfois beaucoup plus facile d'utiliser while() et le drapeau d'interruption de boucle, comme ceci :
n'a pas d'incidence, break cassera le corps de boucle le plus proche, c'est-à-dire celui dans lequel il est actuellement exécuté, et le nombre de fois où vous utilisez if() n'a pas d'incidence, ni le nombre d'iF() ni leur profondeur
enfin, une partie de la phrase, si vous voulez interrompre le corps d'une boucle par différentes conditions, il est parfois beaucoup plus facile d'utiliser while() et un drapeau d'interruption de boucle, quelque chose comme ceci :
Je vois où je veux en venir. Eh bien oui, cela peut être compliqué et parfois il est vraiment préférable d'utiliser un drapeau. Je suis juste en train d'expérimenter, à la recherche d'une accroche, je pensais que peut-être il tourne à l'infini, merci pour les réponses.
Il y a une question comme celle-ci. Donc, il y a une boucle
La 1èrerupture est située non pas dans les premières parenthèses de la boucle mais dans des parenthèses imbriquées à l'intérieur de celles-ci. La 2èmerupture est encore plus profondément imbriquée dans des parenthèses intérieures. Comme je l'ai compris dans ce cas,break ne fonctionne tout simplement pas, pour dire la vérité, je n'ai pas compris si cela a fonctionné ou non, mais le programme s'est arrêté et a fait des itérations inutiles. Afin de sortir d'une boucle avec beaucoup de conditions, j'ai ajouté un drapeau de sortie à la boucle. Il m'a peut-être semblé que cela ne fonctionne pas, qui pense sur cette question ?
Bien que je n'aie peut-être pas bien saisi le sens de votre idée.
Je le ferais comme ceci
Bien que, peut-être, je ne saisis pas bien le sens de votre idée.
L'essentiel est de ne pas s'embrouiller. Il y a des cas où vous ouvrez une autre boucle à l'intérieur d'une boucle et où vous avez besoin de sortir des deux boucles en même temps, mais mql4 ne fournit pas cela seulement à travers un drapeau, C++ a l'opérateur goto, je me demande comment cela fonctionne.
L'essentiel est de ne pas s'embrouiller. Il y a des cas où vous ouvrez une autre boucle à l'intérieur d'une boucle et où vous avez besoin de sortir des deux boucles en même temps, mais mql4 ne fournit pas cela seulement à travers un drapeau, C++ a l'opérateur goto, je me demande comment cela fonctionne.
Vous effectuez toutes les boucles dans une fonction, et si vous devez sortir d'une boucle imbriquée - même la trois centième - vous retournez ;