Si je comprends bien, l'exécution de OnTick() se produit lorsqu'un nouveau tick arrive et à condition que l'exécution (après le tick précédent) soit déjà terminée.
D'où la question : quel temps d'exécution deOnTick() est considéré comme normal et quel temps est déjà long ?
Et une autre question : le conseiller expert a un algorithme de trading et une conception graphique. Est-il possible d'organiser la priorité du trading algorithmique sur le design visuel ? Et si oui, comment ?
Si je comprends bien, l'exécution de OnTick() se produit lorsqu'un nouveau tick arrive et à condition que l'exécution (après le tick précédent) soit déjà terminée.
D'où la question : quel moment de l'exécution deOnTick() est considéré comme normal et quel moment est déjà long ?
Cela dépend de l'outil. S'il n'y a que 3 à 5 millisecondes entre les ticks, l'exécution de OnTick() ne devrait pas être plus longue. Et il existe des outils où le tick est retardé jusqu'à une seconde, voire plus.
Andrey Sokolov: Et une autre question : mon conseiller expert a un trading algorithmique et une visualisation graphique. Est-il possible d'organiser la priorité des algorithmes de trading sur le design visuel ? Et si oui, comment ?
Cette conception visuelle change-t-elle à chaque tic-tac? Est-il suffisant de l'insérer dans OnInit() ?
Si un nouveau tick se produit pendant l'exécution de OnTimer(), qu'est-ce qui est exécuté et dans quel ordre ?
pas dans l'ordre
si un nouvel événement se produit pendant des calculs complexes à l'intérieur de la fonction OnTimer() ou OnTick(), il sera ignoré.
Si vous cherchez dans le forum "tick skipping", vous devriez trouver une discussion et les administrateurs ont écrit à plusieurs reprises à ce sujet.
D'ailleurs, dans MT4, pour la synchronisation avec les nouvelles données de tick, il y avait RefreshRates() - peut-être même que dans l'aide sur cette fonction, il y a une mention du saut de tick.
Igor Makanu, MakarFX, lequel d'entre vous a raison ? Essayons de trouver la description et de le découvrir. Je l'ai vu une fois, mais je ne peux pas le trouver toute la journée.
Un autre conseil, s'il vous plaît : s'il y a plus d'un EA dans le terminal, dans quel ordre vont-ils traiter les ticks, si leur traitement prend plus de temps que la pause entre les ticks ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Salutations. Pouvez-vous me donner un indice ?
Si je comprends bien, l'exécution de OnTick() se produit lorsqu'un nouveau tick arrive et à condition que l'exécution (après le tick précédent) soit déjà terminée.
D'où la question : quel temps d'exécution deOnTick() est considéré comme normal et quel temps est déjà long ?
Salutations. Pouvez-vous me donner un indice ?
Si je comprends bien, l'exécution de OnTick() se produit lorsqu'un nouveau tick arrive et à condition que l'exécution (après le tick précédent) soit déjà terminée.
D'où la question : quel moment de l'exécution deOnTick() est considéré comme normal et quel moment est déjà long ?
Cela dépend de l'outil. S'il n'y a que 3 à 5 millisecondes entre les ticks, l'exécution de OnTick() ne devrait pas être plus longue. Et il existe des outils où le tick est retardé jusqu'à une seconde, voire plus.
Et une autre question : mon conseiller expert a un trading algorithmique et une visualisation graphique. Est-il possible d'organiser la priorité des algorithmes de trading sur le design visuel ? Et si oui, comment ?
Cette conception visuelle change-t-elle à chaque tic-tac? Est-il suffisant de l'insérer dans OnInit() ?
Cette conception visuelle change-t-elle à chaque tic-tac? Peut-être suffit-il de l'insérer dans OnInit() ?
Il y a différents comptes dans le panneau et des objets sur le graphique qui changent.
Si au moment de l'exécution de OnTimer() un nouveau tick se produit, qu'est-ce qui est exécuté et dans quel ordre ?
Il y a différents comptes dans le panneau et des objets sur le graphique qui changent.
Si un nouveau tick se produit pendant l'exécution de OnTimer(), que fait-on et dans quel ordre ?
Par ordre de priorité
Si ce n'est pas un secret, puis-je obtenir un lien vers la source de l'information ?
Il y a un doute queOnTick() soit exécuté dans ce cas.
Si un nouveau tick se produit pendant l'exécution de OnTimer(), qu'est-ce qui est exécuté et dans quel ordre ?
pas dans l'ordre
si un nouvel événement se produit pendant des calculs complexes à l'intérieur de la fonction OnTimer() ou OnTick(), il sera ignoré.
Si vous cherchez dans le forum "tick skipping", vous devriez trouver une discussion et les administrateurs ont écrit à plusieurs reprises à ce sujet.
D'ailleurs, dans MT4, pour la synchronisation avec les nouvelles données de tick, il y avait RefreshRates() - peut-être même que dans l'aide sur cette fonction, il y a une mention du saut de tick.
Si ce n'est pas un secret, puis-je obtenir un lien vers la source de l'information ?
Il y a un doute queOnTick() soit exécuté dans ce cas.
Il y a différents comptes dans le panneau et des objets sur le graphique qui changent.
Si un nouveau tick est exécuté pendant OnTimer(), qu'est-ce qui est exécuté et dans quel ordre ?
S'il y a un OnTimer(), tout le reste est mis en file d'attente sauf le nouveau OnTimer() - il est ignoré.
J'ai eu une situation similaire et j'ai placé OnTimer() avant OnTick() et j'ai exécuté EventSetMillisecondTimer(100).
J'ai finalement résolu mon problème.
Igor Makanu, MakarFX, lequel d'entre vous a raison ? Essayons de trouver la description et de le découvrir. Je l'ai vu une fois, mais je ne peux pas le trouver toute la journée.
Un autre conseil, s'il vous plaît : s'il y a plus d'un EA dans le terminal, dans quel ordre vont-ils traiter les ticks, si leur traitement prend plus de temps que la pause entre les ticks ?