[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 492
![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
Regardez où le total est utilisé ensuite. Le plus probable est que la boucle passe par les commandes pour (i=0 ; i<=total ; i++).
Au fait, oui... J'ai déjà ajouté le code complet de cette fonction ci-dessus :
Je me suis dit qu'il serait plus logique de ne pas l'écrire de cette façon :
et ensuite mettre la boucle comme ceci :
N'est-ce pas ? D'une certaine manière, on ne perçoit pas très bien quand le compteur du nombre de positions part de zéro... ce n'est pas logique et, par conséquent, pourquoi s'embrouiller...
Au fait, oui... J'ai déjà ajouté le code complet de cette fonction ci-dessus :
Je me suis dit qu'il serait plus logique de ne pas l'écrire de cette façon :
et ensuite mettre la boucle comme ceci :
N'est-ce pas ? C'est juste que le compteur du nombre de positions à partir de zéro n'est pas perçu comme tel... Ce n'est pas logique et, par conséquent, il n'y a aucune raison de se tromper...
Il faut aller à zéro, pas à un, pour chercher des ordres.
Un pro m'a expliqué un jour que nous recherchons un tableau d'ordres, et qu'il est préférable de commencer la recherche par un nombre plus élevé. Dans le tableau, le premier élément a l'index 0 (zéro), donc nous ne devrions pas atteindre 1 et c'est aussi la raison pour laquelle nous devrions aller à OrdersTotal() - 1, au lieu de simples OrdersTotal().
J'ai fait la recherche de commandes de cette façon :
Il faut aller à zéro, pas à un, pour chercher des ordres.
Un pro m'a expliqué un jour qu'il s'agit d'un tableau d'ordres et que, oui, il vaut mieux commencer par un chiffre plus grand. Dans le tableau, le premier élément a un index de 0 (zéro), donc pas à 1 et c'est aussi pour cette raison que nous avons besoin de OrdersTotal() - 1, et pas seulement de OrdersTotal().
C'est très intéressant. La première chose que j'ai faite a été d'ouvrir le manuel et d'essayer d'y trouver la réponse. Et puishttps://book.mql4.com/ru/trading/ordermodify a vu comment le tutoriel a fait déborder les choses :
C'est le facteur qui m'a induit en erreur...
Très intéressant. La première chose que j'ai faite a été d'ouvrir le manuel et d'essayer d'y trouver la réponse. Et puishttps://book.mql4.com/ru/trading/ordermodify j'ai vu que le manuel était exagéré :
C'est le facteur qui m'a induit en erreur...
Tu n'as pas remarqué la ligne suivante ?
Tu n'as pas remarqué la ligne suivante ?
Non. Mais d'une certaine manière, c'est tordu de l'écrire. Je ne veux pas critiquer le manuel, mais... il est beaucoup plus adéquat de compter à partir de 0 plutôt que de -1. Sinon, vous auriez déjà pu commencer à partir de -30...
Commepaladin80 l'a souligné plus haut, à partir de 0 la valeur des tableaux serait plus adéquate qu'à partir de -N.
Non. Mais d'une certaine manière, c'est tordu de l'écrire. Je ne veux pas critiquer le manuel, mais... il est beaucoup plus adéquat de compter à partir de 0 plutôt que de -1. Sinon, vous auriez déjà pu commencer à partir de -30...
Commepaladin80 l'a souligné plus haut, à partir de 0 la valeur des tableaux serait la plus adéquate, si à partir de -N.
Maintenant, pensez logiquement !
Ces variantes sont identiques, car si i = 0, nous devons chercher de 1 à OrderTotal(), c'est-à-dire de 0+1 à OrderTotal() - 1+1 (+1, car i++ est à la fin de l'instruction for) Et la même chose dans le tutoriel, seulement écrit de 1 à OrderTotal() et, pour ne pas compter de 2 à OrderTotal()+1, dans lafonction OrderSelect a ajouté -1 à i. Compris ?
D'ailleurs, il y a autant de programmeurs que de variantes. Chacun a sa propre vision, sa propre écriture !
Non. Mais d'une certaine manière, c'est tordu de l'écrire. Je ne veux pas critiquer le manuel, mais... il est beaucoup plus adéquat de compter à partir de 0 plutôt que de -1. Sinon, vous auriez déjà pu commencer à partir de -30...
Commepaladin80 l'a souligné ci-dessus, 0 serait plus approprié pour les tableaux que -N.
Si vous êtes intéressé par la recherche de commandes, je peux vous suggérer le schéma suivant :
Non. Mais d'une certaine manière, c'est tordu de l'écrire. Je ne veux pas critiquer le manuel, mais... il est beaucoup plus adéquat de compter à partir de 0 plutôt que de -1. Sinon, vous auriez déjà pu commencer à partir de -30...
Commepaladin80 l'a souligné ci-dessus, 0 serait la manière la plus appropriée de lire les tableaux, par opposition à -N.
Et maintenant, pensez, y compris la logique !
Ces variantes sont identiques, car si i = 0, on essaie d'aller de 1 à OrderTotal(), c'est-à-dire de 0+1 à OrderTotal() - 1+1 (+1, car i++ est à la fin de l'instruction for) Et de même dans le tutoriel, seul de 1 à OrderTotal() est écrit et, pour ne pas compter de 2 à OrderTotal()+1, l'auteur du manuel a ajouté -1 à i dans la fonction OrderSelect. Compris ?
Bien sûr, je comprends. Mais je n'ai jamais vu de commandes analysées de cette façon auparavant :
habituellement juste sans ==true... J'ai même aimé ce point. Bien que ce soit intéressant, je n'avais jamais rencontré une telle méthode dans d'autres EA. Je comprends la logique, mais quand même.