![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
Remplacez OnBookEvent dans votre code par OnTick, et comparez le résultat.
On ne peut pas comparer les résultats :)
Vous devez exécuter les deux EA en même temps pour comparer les résultats.
Mais je sais déjà que ce sera la même chose, MAIS...
mais si je lance OnTick(), il y aura parfois un retard dans les résultats,
c'est-à-dire pas en temps réel.
On ne peut pas comparer les résultats :)
Vous devez exécuter les deux EA pour comparer les résultats.
Mais je sais déjà que ce sera la même chose, MAIS...
seulement si c'est OnTick(), il y aura un retard dans les résultats,
c'est-à-dire pas en temps réel.
Il n'y aura pas de retard. Au contraire, si vous vous abonnez à de nombreux instruments pour mettre à jour la pile, OnTick peut fonctionner plus rapidement. N'ayez pas la flemme de comparer.
Il n'y aura pas de retard. Au contraire, si vous vous abonnez aux mises à jour des actions sur de nombreux instruments, OnTick peut fonctionner plus rapidement. Ne soyez pas trop paresseux pour comparer.
Et pourquoi ne pas souscrire à tous les enjeux possibles ?
Vous pourriez trouver autre chose.
Sur un seul outil avec un abonnement à un seul tick, OnBookEvent() est déclenché plus souvent que OnTick().
Un nouveau paquet de ticks arrive - OnBookEvent() est déclenché.
Si vous n'aimez pas ma version, écrivez la vôtre.
D'ailleurs, le résultat est supérieur, avec 84 tumblers signés sur le réel!
Ajouté
En voici plus
Ajouté
Et c'est parti !
Vous n'avez que des fantasmes et des suppositions, et
J'ai 7 ans d'expérience dans l'écriture de robots et le trading réussi sur FORTS +.
J'ai un code concret qui fonctionne.
Il y avait une erreur dans le code.
Publié avec des corrections à la page 5
https://www.mql5.com/ru/forum/331060/page5#comment_14783678
Pourquoi ne pas s'inscrire pour toutes les culbutes possibles ?
Tu pourrais penser à autre chose.
Sur un outil avec un seul abonnement au verre, OnBookEvent() est déclenché plus souvent que OnTick().
Quelle différence cela fait-il de savoir combien d'événements OnBookEvent arrivent ? Vous avez déclaré que lorsqu'il reçoit des ticks, cela se produit avant OnTick. Et j'ai proposé de vérifier cela, de sortir le temps de réception d'un tick ici et là (mais pas dans le même EA).
Et finissons-en là !
Vous n'avez que des fantasmes et des suppositions, et
Et j'ai 7 ans d'expérience dans l'écriture de robots et le trading réussi sur FORTS +.
J'ai un code spécifique qui fonctionne.
Vous avez l'aplomb qui se répercute dans tous vos messages. Pourquoi avez-vous décidé que les FORTS ne peuvent fonctionner qu'à partir de OnBookEvent - vous seul le savez.
Mais respect du code. Quand je trouverai le temps, je posterai le mien. Il ne s'agit pas d'une tâche prioritaire.
Quelle différence cela fait-il de savoir combien d'événements OnBookEvent arrivent ? Vous avez déclaré que lorsqu'un tick est reçu dans ce système, il se produit plus tôt que dans OnTick. Et je vous ai suggéré de le vérifier, de sortir le timing de réception d'un tick ici et là (mais pas dans la même EA).
Vous avez un aplomb qui se répercute dans chaque message. Pourquoi avez-vous décidé que FORTS ne peut fonctionner qu'à partir de OnBookEvent - vous seul le savez.
Mais respect du code. Quand je trouverai le temps, je posterai le mien. Il ne s'agit pas d'une tâche prioritaire.
Vous pouvez travailler sur ce que vous voulez !
J'ai posté ma solution, basée sur mon expérience de travail sur FORTS.
Je serais d'accord avec vous si je disais que j'étais tropconfiant dans mon comportement, dans mon discours.
Je serais d'accord avec vous si je n'avais pas d'expérience.
Heure du premier OnTick()2020.01.30 19:31:11.112
Heure de la seconde OnTick()2020.01.30 19:31:11.802
C'est-à-dire que 690 ms se sont écoulées, pendant ce temps, entre le OnTick() de ces 690 ms
OnBookEvent() a été déclenché 15 fois
Pensez-vous que ces déclencheurs n'ont rien à voir avec les tiques?
Eh bien, lisez l'aide pour OnBookEvent()
Un nouveau lot de ticks arrive - le déclenchement de OnBookEvent() est garanti - cela permet d'obtenir les ticks en temps réel avec CopyTicks().
Alors qu'avec OnTick() vous pouvez obtenir seulement les ticks de l'historique.
Vous les recevez tous et rien ne manque, mais pas en temps réel.
Il est très étrange que je doive expliquer tout cela de manière aussi détaillée à quelqu'un qui a beaucoup d'expérience.
Encore une fois, chacun est libre de choisir la programmation et les méthodes de trading qui lui conviennent !
Ajouté
Il y a un autre point important que beaucoup de gens oublient.
Il s'agit de la vitesse à laquelle l'EA prend une décision en analysant les données d'entrée.
En utilisant OnBookEvent() au lieu de OnTick(), mon EA sera plus rapide que le vôtre.
Heure du premier OnTick()2020.01.30 19:31:11.112
Heure de la seconde OnTick()2020.01.30 19:31:11.802
C'est à dire que 690 ms se sont écoulées, pendant ce temps, entre le OnTick() de ces 690 ms
OnBookEvent() a été déclenché 15 fois
Pensez-vous que ces déclencheurs n'ont rien à voir avec les tiques?
Veuillez également imprimer les valeurs des ticks. Le journal ci-dessus ne montre pas que OnBookEvent a détecté un changement dans la structure MqlTick.
Le fait de placer SellLimit à l'extérieur du spread créera un événement OnBookEvent, mais ne générera pas de transaction ni de modification de BestBid/BestAsk/BestVolume. C'est-à-dire que les bandes INFO et LAST tick (historique CopyTicks) ne seront pas mises à jour.
Imprimez également les valeurs de coche, s'il vous plaît. Le journal ci-dessus ne montre pas que OnBookEvent a détecté le changement de structure de MqlTick.
Si SellLimit est défini en dehors du spread, cela créera l'événement OnBookEvent, mais ne générera pas de transaction ou de changement de BestBid/BestAsk/BestVolume. C'est-à-dire que les bandes INFO et LAST tick (historique CopyTicks) ne seront pas mises à jour.
Pourquoi l'imprimer ?
La première ligne de la description de la fonction OnBookEvent() dit ceci
Pourquoi l'imprimer ?
La première ligne de la description de OnBookEvent() indique que
Si vous mesurez le nombre d'événements BookEvent par heure et le nombre d'enregistrements dans CopyTicks, vous pouvez tirer une conclusion.
Si vous mesurez combien d'événements BookEvent se produisent par heure et combien d'entrées dans CopyTicks, vous pouvez en déduire.
Il y a le code ci-dessus, vérifiez-le par vous-même.
Il y a un code qui fonctionne.
Je crois qu'il fonctionne en temps réel et certainement plus rapidement,
que OnTick().
Quel est le problème ? Fais ceci, fais cela...
Vous devez poster votre code de travail pour prouver ou réfuter quelque chose !