Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 566
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
Essayez la fonction :
Ce n'est pas si simple si vous utilisez la fonction à la fois sur les devises et les contrats à terme. Il y a un pourcentage de marge à prendre en compte.
Ce n'est pas si simple si vous utilisez la fonction à la fois sur les devises et les contrats à terme. Il faut tenir compte du pourcentage de la marge.
Si nous parlons du pourcentage de perte, nous ne sommes pas intéressés par la marge, elle sera restituée lorsque la position sera fermée.
Si nous parlons de pourcentage de perte, nous ne sommes pas intéressés par la marge, elle reviendra lorsque la position sera fermée.
Peut-être
Je suis désolé que ce soit tout ce que vous ayez remarqué.)
Et je ne suis pas le seul, le Terminal ne voit pas la différence, en soi. La sortie à l'extérieur du tableau est toujours là.
Essayez la fonction :
Merci pour votre aide ! Malheureusement, il n'était pas possible de mettre en œuvre une solution universelle, j'ai dû procéder de cette manière :
Pouvez-vous me dire si mon courtier a un effet de levier flottant, comment puis-je le prendre en compte dans le calcul des lots ? Ou cela n'aura-t-il pas d'incidence si vous optez pour l'option ci-dessus ?
Un autre indicateur, également en dehors de la plage.
Il s'affiche sur le graphique sans problème, mais lorsque je l'appelle depuis l'EA, le message suivant s'affiche : ...array out of range in 'HiLo.mq4' (121,15).
Quel est le problème ?
Un autre indicateur, également en dehors de la plage.
Il s'affiche sur le graphique sans problème, mais lorsque je l'appelle depuis l'EA, le message suivant s'affiche : ...array out of range in 'HiLo.mq4' (121,15).
Quel est le problème ?
Il ne vérifie pas s'il y a 1000 barres sur le graphique. Par exemple, au moment de l'ouverture du terminal, il y a 0 barre dans tous les graphiques, mais le terminal a déjà lancé les indicateurs (je ne sais pas pourquoi il fait cela, mais c'est un fait). Par conséquent, tout accès aux tampons des indicateurs entraîne un dépassement des tableaux de séries chronologiques.
Il n'est pas vérifié qu'il y a 1000 barres sur le graphique. Par exemple, au moment de l'ouverture du terminal, il n'y a pas de barres dans tous les graphiques, mais le terminal a déjà commencé les indicateurs (on ne sait pas pourquoi il fait cela, mais c'est un fait). Par conséquent, tout accès aux tampons des indicateurs entraîne la sortie des tableaux de séries chronologiques.
Il se plante toujours.
Il se plante toujours.
Parce que le chèque est fondamentalement faux. Disons que Bars rapporte 1000 et que cb rapporte également 1000. Puis dans la boucle, à la première itération, j'obtiens la valeur 1000. Dans la première condition du corps de la boucle :
Deux sorties hors du tableau à la fois : accès à une barre d'indice 1000 et à une barre d'indice 1001. Par exemple, si le graphique comporte 1000 barres, la première barre a l'indice 0 et la dernière l'indice 999.
Plus loin dans le corps de la boucle, on trouve une référence aux barres encore plus lointaines de l'histoire :
Tout cela doit être pris en compte lors de la vérification initiale.
Pour une vérification correcte, voir l'exemple de la fonction IndicatorCounted() dans la référence MQL4. Ce n'est que maintenant qu'il est préférable de remplacer IndicatorCounted() par l'utilisation conjointe des variables rates_total (c'est Bars) et prev_calculated (c'est IndicatorCounted()).