Questions des débutants MQL5 MT5 MetaTrader 5 - page 496

 
Alexey Kozitsyn:

Cela fonctionnera comme je l'ai écrit ci-dessus.

Le compilateur avertit l'utilisateur de ne pas être paresseux et de mettre des parenthèses pour éviter d'éventuelles erreurs non évidentes.

C'est pourquoi je ne bourre pas ma puce mémoire de ces priorités - je mets des parenthèses et je suis sûr que cela fonctionnera comme je l'ai prévu.
 
Alexey Viktorov:
C'est pourquoi je ne bourre pas ma puce mémoire de ces priorités, je mets des parenthèses et je suis sûr que cela fonctionnera comme je le veux.
Je suis tout à fait d'accord avec vous sur ce point, je fais la même chose. Mais puisque vous avez posé la question...
 
pako:
Alors essayez.

Donc je n'en ai pas besoin - pourquoi ai-je besoin de 365 jours ?


Alexey Viktorov:

En fait, oui, l'avertissement n'est pas une erreur. Mais comment va fonctionner la variante initiale if( Low[X]>PriceBuy && High[X]>PriceBuy || Low[X]<PriceBuy && High[X]<PriceBuy )? Ou ne pouvez-vous pas mettre un couple de crochets ?

Il ne sera pas cassé, je ne pensais simplement pas que c'était nécessaire - ou peut-être que cela changera la logique des priorités du compilateur et que ce sera nécessaire pour que le code continue à fonctionner correctement ?


Artyom Trishkin:

À quoi sert le compilateur ici, car la valeur peut toujours être négative ?

En fait, le compilateur crie au "i" bien aimé par de nombreuses personnes ;)

 
-Aleks-:

Donc je n'en ai pas besoin - pourquoi ai-je besoin de 365 jours ?


Les mains ne seront pas cassées, je pensais juste que ce n'était pas nécessaire - ou peut-être que la logique de priorité du compilateur va changer et que c'est nécessaire pour que le code continue à fonctionner correctement ?


À quoi sert le compilateur ici, car la valeur peut toujours être négative ?

En fait, le compilateur crie sur le "i" aimé par beaucoup de gens autant ;)

SiLow[X] est toujours inférieur àHigh[X], il suffit d'écrire

si (Low[X]>PriceBuy || High[X]<PriceBuy), cela fonctionnerait plus rapidement !

 
Boris:

SiLow[X] est toujours inférieur àHigh[X], il suffit d'écrire

si (Low[X]>PriceBuy || High[X]<PriceBuy), cela fonctionnerait plus rapidement !

Je suis d'accord - il peut être plus court, c'est juste que je ne pense pas à l'optimisation quand je l'écris - je le remets à plus tard.... Merci.
 
-Aleks-:

Donc je n'en ai pas besoin - pourquoi ai-je besoin de 365 jours ?


Les mains ne seront pas cassées, je pensais juste que ce n'était pas nécessaire - ou peut-être que la logique de priorité du compilateur va changer et que c'est nécessaire pour que le code continue à fonctionner correctement ?


À quoi sert le compilateur ici, car la valeur peut toujours être négative ?

En fait, le compilateur crie sur le "i", qui est le préféré de beaucoup de gens ;)

Si elle est inférieure à zéro, il n'y aura pas de boucle. Faites-vous tout sans réfléchir ?
 
-Aleks-:

Donc je n'en ai pas besoin - pourquoi ai-je besoin de 365 jours ?

En fait, le compilateur du "i" préféré de beaucoup de gens crie tout autant ;)

Ecrivez-le bien, il n'y aura pas de cris.
 
Artyom Trishkin:
Si elle est inférieure à zéro, il n'y a pas de boucle. Faites-vous tout sans réfléchir ?

En quoi mon option diffère-t-elle de la vôtre dans un tel cas ?

Je ne pourrais pas tout faire sans réfléchir, mais parfois j'aimerais pouvoir...


pako:
Ecrivez-le correctement, il n'y aura pas de cris.

Quelle est la bonne chose à faire ? Je ne fais qu'apprendre les bases - c'est pourquoi je pose des questions ici, pourquoi devrais-je dire "faites-le bien" si je ne sais pas comment cela devrait être fait ? ;)

Alors comment éviter les avertissements d'erreur si les boucles initialisent habituellement la variable "i" ?

 
-Aleks-:

En quoi mon option diffère-t-elle de la vôtre dans un tel cas ?

Je ne pourrais pas tout faire sans réfléchir, mais parfois j'aimerais pouvoir...


Quelle est la bonne chose à faire ? Je ne fais qu'apprendre les bases - c'est pourquoi je pose des questions ici, pourquoi devrais-je dire "faites-le bien" si je ne sais pas comment cela devrait être fait ? ;)

Alors, comment éviter l'avertissement d'erreur lorsque les boucles initialisent habituellement la variable "i" ?

Lisez l'aide sur la visibilité des variables.
 
-Aleks-:

Quelle est la bonne chose à faire ? Je ne fais qu'apprendre les bases - c'est pourquoi je pose des questions ici, pourquoi devrais-je dire "faites-le bien" si je ne sais pas comment le faire ? ;)

Alors, comment éviter les messages d'erreur si les boucles initialisent habituellement la variable "i" ?

le voici écrit en blanchttps://docs.mql4.com/ru/basis/operators/for

Оператор цикла for - Документация на MQL4
  • docs.mql4.com
Оператор цикла for - Документация на MQL4