![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
En résumé, la conclusion est la suivante.
Nous comptons manuellement la différence entre les barres comptées et non comptées, et si c'est plus de 1...
nous réinitialisons tous les tampons en une fois ou élément par élément.
Ce n'est pas bien. Peut-être que les développeurs réinitialiseront tout de même s'il y a une condition ?
En résumé, la conclusion est la suivante.
Nous comptons manuellement la différence entre les barres comptées et non comptées, et si c'est plus de 1...
nous réinitialisons tous les tampons en une fois ou élément par élément.
Ce n'est pas bien. Peut-être que les développeurs réinitialiseront tout de même s'il y a une condition ?
En résumé, la conclusion est la suivante.
Nous comptons manuellement la différence entre les barres comptées et non comptées, et si c'est plus de 1...
nous réinitialisons tous les tampons en une fois ou élément par élément.
Ce n'est pas bien. Peut-être que les développeurs réinitialiseront eux-mêmes les tampons s'il y a une condition ?
Encore ? ! © :D Et ceci après toutes les explications avec des exemples comment écrire correctement les indicateurs ? )))
Quoi, encore ? !! © :D Et ceci après toutes les explications avec des exemples sur la façon d'écrire correctement les indicateurs ? )))
Donc, dans ma variante et dans la vôtre, il y a une mise à zéro, non ?
Dans ma version, chaque barre est calculée. Si la valeur du tampon sur une telle barre est égale à zéro, elle devient zéro, si elle est égale à 5, elle devient 5. Dans votre cas, vous pouvez simplement annuler les tampons par ArrayInitialize() et ensuite ne pas calculer les barres où la valeur des tampons doit rester nulle. Mais d'abord, c'est un mauvais style de programmation (très mauvais !), et ensuite, c'est un cas particulier.
Toutes les barres doivent être calculées explicitement. Ce n'est que de cette façon que vous pouvez être sûr qu'il n'y aura pas de "déchets", de données non calculées, etc. dans une cellule, et que vous n'aurez pas à corriger les bugs (ce que vous avez fait dans ce fil).
Et vous n'avez pas non plus besoin de suivre les mises à jour de l'historique, c'est inutile. Il suffit de commencer le calcul à partir de la barre [rates_total - MathMax(prev_calculated, 1)], et tout sera toujours garanti d'être calculé et recalculé, si nécessaire.
Dans ma version, chaque barre est calculée. Si la valeur du tampon sur une telle barre est égale à zéro, elle devient zéro, si elle est égale à 5, elle devient 5. Dans votre cas, vous pouvez simplement annuler les tampons par ArrayInitialize() et ensuite ne pas calculer les barres où la valeur des tampons doit rester nulle. Mais d'abord, c'est un mauvais style de programmation (très mauvais !), et ensuite, c'est un cas particulier.
Toutes les barres doivent être calculées explicitement. Ce n'est que de cette façon que vous pouvez être sûr qu'il n'y aura pas de "déchets", de données non calculées, etc. dans une cellule, et que vous n'aurez pas à corriger les bugs (ce que vous avez fait dans ce fil).
Et vous n'avez pas besoin de suivre les mises à jour de l'historique, c'est inutile. Il suffit de commencer le calcul avec la barre [rates_total - MathMax(prev_calculated, 1)], et tout sera toujours garanti d'être calculé et recalculé si nécessaire.
Aïe. Ok.
Les développeurs n'implémenteront rien de toute façon.
Merci à tous.