Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 20

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
...
Non, je voulais dire :
{
}
for( int i = 0; i < x; i++ )
{
}
...
Oui, et la conception que vous avez écrite ne fonctionnera pas du tout.
Chaque variable a sa propre portée. Même à l'intérieur des accolades, il existe une portée distincte pour la variable déclarée dans cette portée - à l'intérieur des accolades. Alors pourquoi devrais-je, par exemple, créer des variables d'index de boucle avec des noms différents à différents endroits d'un programme, si je sais qu'elles ne se chevauchent pas, et qu'il est suffisant, et habituel, d'utiliser un nom de variable tel que "i" ?
Je n'ai pas discuté avec vous.
...
Non, je voulais dire :
{
}
for( int i = 0; i < x; i++ )
{
}
...
quel est le but ? Veuillez partager votre expérience - quel pourrait être le problème dans ce cas, c'est-à-dire si votre code était comme ceci ?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Je ne discutais pas avec vous.
C'est mon fil conducteur. Et lorsque de mauvais conseils sous-optimaux sont donnés, j'ai le droit de corriger la personne. Vous, par rapport à la situation actuelle, vous donnez de mauvais conseils.
Votre fil de discussion, puis lisez-le attentivement et faites le lien entre le message et le pseudonyme auquel vous répondez.
En bref, vous êtes au mauvais endroit.
mais quel est l'intérêt ? Veuillez partager votre expérience - quel pourrait être le problème dans ce cas, c'est-à-dire si votre code était comme ceci ?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Lorsque vous initialisez un compteur en dehors d'une boucle, sa portée s'étend au-delà de la boucle, ce qui n'est généralement pas nécessaire. Ainsi, vous fournissez un terrain fertile pour d'éventuelles erreurs, par exemple, si plus loin dans le code vous aurez une variable j, et que vous l'appelez accidentellement i. Ou au lieu de l'indice [1], on écrit [i], etc.
Il faut donc initialiser les variables le plus près possible de l'endroit où elles sont utilisées pour la première fois et éviter un grand nombre de variables globales. Cela réduit la liste des erreurs possibles.
Lorsque vous initialisez un compteur en dehors d'une boucle, sa portée s'étend au-delà de la boucle, ce qui n'est généralement pas nécessaire. En faisant cela, vous créez un terrain fertile pour d'éventuelles erreurs, par exemple si, plus loin dans le code, vous avez une variable j et que vous l'appelez accidentellement i. Ou au lieu de l'indice [1], on écrit [i], etc.
Il faut donc initialiser les variables aussi près que possible de l'endroit où elles sont utilisées pour la première fois et essayer d'éviter un grand nombre de variables globales. Cela réduit la liste des erreurs possibles.
Qu'est-ce que cela a à voir avec (....) ?
Je suis indigné.
Si cela dit i=0 et i++ ?
Eh bien, changer i dans une autre boucle ?
Il ne fonctionnera pas
Qu'est-ce que ça a à voir avec ça ?
Je me retire.
Tu peux être n'importe où et dans n'importe quoi, c'est ton droit. Vous m'avez demandé d'expliquer - je l'ai fait.
La seule chose à considérer ici est qu'après le bloc de la boucle, i est déjà égal à x, à condition que dans la boucle i<x
Array[i] après for(...){} retournera l'erreur de dépassement de tableau et c'est tout.