Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1754
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
La situation est la suivante : la variable X stocke l'indice de la barre dans l'historique, nous savons que lorsqu'une nouvelle barre apparaît, il y a un décalage, et donc X pointe déjà vers une barre différente. Comment le réparer ? L'idée : à chaque nouvelle barre, nous augmentons le compteur (count++) et l'ajoutons à X. Ainsi, X pointera toujours vers la même barre, quel que soit le décalage. Mais il y a un problème - lorsque l'EA est initialisé, la première barre actuelle ne devrait pas être prise en compte. Je pense que cela peut être facilement résolu si le compte est initialement juste égal à -1. C'est-à-dire que sur la barre actuelle après le compte d'incrémentation sera "0", et sur la nouvelle barre suivante (lorsque le premier décalage de 1 barre s'est produit après l'initialisation) il sera "1". Qu'en pensez-vous ? Peut-être que je ne pense pas du tout au bon endroit ?
Si c'est un indicateur, c'est suffisant
à tous les tableaux et tampons de l'indicateur utilisé.
Alors la barre de zéro deviendra rates_total-1
La situation est la suivante : la variable X stocke l'indice de la barre dans l'historique, nous savons que lorsqu'une nouvelle barre apparaît, il y a un décalage, et donc X pointe déjà vers une barre différente. Comment le réparer ? L'idée : à chaque nouvelle barre, nous augmentons le compteur (count++) et l'ajoutons à X. Ainsi, X pointera toujours vers la même barre, quel que soit le décalage. Mais il y a un problème - lorsque l'EA est initialisé, la première barre actuelle ne devrait pas être prise en compte. Je pense que cela peut être facilement résolu si le compte est initialement juste égal à -1. C'est-à-dire que sur la barre actuelle après le compte d'incrémentation sera "0", et sur la nouvelle barre suivante (lorsque le premier décalage de 1 barre s'est produit après l'initialisation) il sera "1". Qu'en pensez-vous ? Peut-être que je ne pense pas du tout au bon endroit ?
Pourquoi se donner tant de mal ?
C'est plus facile pour moi)
Mais le processeur est plus lourd...
Mais le processeur est plus lourd...
La situation est la suivante : la variable X stocke l'indice de la barre dans l'historique, et nous savons que lorsqu'une nouvelle barre apparaît, elle est décalée et donc X pointe déjà vers une autre barre. Comment le réparer ? L'idée : à chaque nouvelle barre, nous augmentons le compteur (count++) et l'ajoutons à X. Ainsi, X pointera toujours vers la même barre, quel que soit le décalage. Mais il y a un problème - lorsque l'EA est initialisé, la première barre actuelle ne devrait pas être prise en compte. Je pense que cela peut être facilement résolu si le compte est initialement juste égal à -1. C'est-à-dire que sur la barre actuelle après le compte d'incrémentation sera "0", et sur la nouvelle barre suivante (lorsque le premier décalage de 1 barre s'est produit après l'initialisation) il sera "1". Qu'en pensez-vous ? Peut-être que je ne pense pas du tout au bon endroit ?
Pas là. Il n'y a rien dans X lors du chargement de l'EA/indicateur s'il est à l'intérieur du terminal, à moins qu'il ne s'agisse d'une intuition ou d'une variable externe ou globale à l'extérieur du terminal, donc quelque chose doit être écrit là d'abord. Ensuite, nous lisons simplement les changements du nombre total de barres (en tenant compte de l'apparition d'une nouvelle barre).
datetime BarTime ;
Salutations. Pouvez-vous me donner un indice ? Comment dans mt5 à l'initialisation ou au tick définir le test ?
Jusqu'à présent, je n'ai trouvé que OnTester(), qui est appelé juste avant OnDeinit().
@Valeriy Yastremskiy L'index est placé en X toujours dans OnInit(). Mon code ressemble à ceci :
La condition avec FlagNewBar me semble redondante.