[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 721
![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 ne s'agit pas de multiplier les variables, les conditions et les compteurs.
il s'agit alors d'écrire correctement, et non d'utiliser des abréviations linguistiques :
Le but n'est pas de créer des variables, beaucoup de conditions et de compteurs.
Eh bien, s'il vous plaît, le compilateur vous permet de faire de telles choses...
Le flag par défaut est False, donc la première boucle for dans laquelle la variable a est déclarée ne sera pas exécutée, ce qui n'empêche pas la même variable "non déclarée" d'être utilisée dans la branche else : )La condition si
ici nous faisons quelque chose
sinon si une autre condition
faire autre chose
Le but n'est pas de créer des variables, beaucoup de conditions et de compteurs.
ainsi la première boucle for dans laquelle la variable a est déclarée ne sera pas exécutée
l'intérêt d'écrire correctement alors, plutôt que d'utiliser des abréviations de langage :
Cela ne vous oblige pas à réinitialiser la variable. Faites tout selon ce que vous avez écrit et votre variable a sera utilisée aux bons endroits dans vos branches logiques sans réinitialisation. Déclarez-le une fois et utilisez-le pour votre bénéfice et celui de l'humanité... :) L'essentiel est de ne pas se perdre dans l'endroit et l'usage que l'on en fait...
L'"effet" montré ci-dessus prouve que la machine MQL cherche d'abord dans le fichier EX4 les variables déclarées, et les crée indépendamment des branches logiques en entier. D'une part, il s'avère que cela ne permet pas d'économiser de la RAM, et d'autre part, vous pouvez créer des constructions similaires, bien qu'à mon avis ce style ne soit pas la meilleure option.
Tout le problème résidait dans l'absence de {}, n'est-ce pas ? Merci beaucoup !
Le problème se situait au niveau de la déclaration de la variable :
int a;
Je la déclare et l'utilise ensuite quand et où cela est nécessaire, alors que vous avez une déclaration répétée d'une variable - il est probable que le compilateur ne l'a pas ignorée.
Si vous n'avez qu'une seule déclaration dans la boucle, alors vous n'avez pas besoin de {}, mais si vous en avez plusieurs, vous devez mettre {}, sinon vous chercherez pourquoi la boucle n'est pas calculée correctement
SZZY : Si vous venez de commencer, mettez des parenthèses après for, vous aurez le coup de main plus tard.
La boucle doit toujours être exécutée.
Qu'est-ce que la boucle a à voir avec ça ? C'est juste un exemple qui montre qu'une variable créée dans un bloc qui n'est pas utilisé est toujours en "jeu" et sera visible et utilisable tout au long de la méthode start(), sans qu'il soit nécessaire de la réinitialiser, et encore moins de la désinitialiser avant de la réutiliser.