Tiki en temps réel - page 23

 
Roman:

Au contraire, chaque tick(événement) qui arrive au handler OnTick, doit aller à OnBook.
Regardez, il y a trois événements dans le gestionnaire OnTick, le changement de prix de la meilleure offre, le changement de prix de la meilleure demande, et trade(last).
Si le prix d'achat ou de vente change sans qu'il y ait de transaction, ce sera l'événement, et ces événements seront envoyés à OnTick.
Et OnBook doit aussi attraper ces événements, mais ses propres événements, son gestionnaire, sinon il y aura un décalage des prix d'achat et de vente entre les gestionnaires.

Et si OnTick reçoit un dernier événement, cela signifie qu'une transaction est passée.
La transaction génère l'événement OnTick, car après la transaction, le prix ou le volume des offres et des demandes change sur le marché.
C'est un cercle vicieux.
Dans OnTick comme dans OnBook, il existe un événement Best Bid et Best Ask. Ils devraient toujours être les mêmes.
Et l'événement est dernier par lui-même, et il génère un événement dans OnBook après la transaction.
Par conséquent, tout événement qui arrive au gestionnaire OnTick doit être reflété de manière synchrone dans OnBook.

Oui, il y avait une erreur dans mon code. Une méthode alternative a montré que tout allait bien. Les tiques sont très rarement 3 à la suite, un peu plus souvent 2. Mais il n'y a certainement pas de tels groupes.

 
Roman:


Et si OnTick reçoit un dernier événement, cela signifie qu'une transaction a eu lieu.
La transaction génère un événement dans OnBook, car après la transaction, le prix ou le volume de la bande change dans la coupe.
C'est un cercle vicieux.


Question.
Que se passe-t-il si deux contre-ordres sont exécutés au prix du marché et que les volumes et les prix de ces ordres sont identiques ?
Lorsqu'un tel ordre est exécuté, quelles informations doivent figurer dans le carnet d'ordres de la bourse, le carnet d'ordres et la bande des transactions ?

 
Vladimir Mikhailov:


Question.
Que se passe-t-il s'il y a deux contre-offres exécutées au prix du marché et que les volumes et les prix de ces offres sont les mêmes ?
Lorsqu'un tel ordre est exécuté, quelles informations doivent figurer dans le carnet d'ordres de la bourse, le carnet d'ordres et la bande de transactions ?

Au fait, oui, j'ai aussi pensé qu'il pouvait y avoir une série de deux tics ou plus qui ne provoquent qu'un seul OnBook. Mais cela n'arrive probablement pas très souvent ?

 
Aleksey Mavrin:

Au fait, oui, j'ai aussi pensé qu'il pouvait y avoir une série de tics qui causent un seul OnBook. Mais cela n'arrive probablement pas très souvent, n'est-ce pas ?

Tout changement de volume dans le tick sans changement de prix n'est pas traité par OnTick.
En répondant à ma question, vous comprendrez pourquoitoutes les tiques ne doivent pas passer par OnBook.

 
Vladimir Mikhailov:

Tout changement de volume dans le DOM sans changement de prix n'est pas traité par OnTick.
Si vous répondez à ma question, vous comprendrez pourquoi chaque tique ne doit pas nécessairement passer par OnBook.

Oui, je vois ce que vous voulez dire. Je suis en train d'apprendre le commerce des actions. Mais la conclusion est claire : OnBook ne sert qu'à surveiller la situation sur le marché. Je dois utiliser OnTick pour effectuer une analyse correcte de ce qui se passe sur le marché. Merci à tous.

 
Vladimir Mikhailov:


Question.
Que se passe-t-il si deux contre-ordres sont exécutés au prix du marché et que les volumes et les prix de ces ordres sont identiques ?
Lorsqu'un tel ordre est exécuté, quelles informations doivent figurer dans le carnet d'ordres de la bourse, le carnet d'ordres et la bande des transactions ?

Les ordres contre-exécutés iront dans le flux des transactions.
Et il me semble que OnTick va également générer un dernier événement.

 
Roman:

Les offres contre-exécutées iront dans le flux des transactions.
Et il me semble que OnTick va également générer un dernier événement.

C'est exact.
Dans ce cas, les demandes iront d'abord dans le journal des commandes,
Il y aura ensuite une tentative d'exécution, et si les ordres sont exécutés, ils iront dans le flux des transactions. C'est là que le tick de transaction intervient dans MT5.
Si les ordres ne sont pas exécutés, ils sont rejetés ou vont dans le carnet d'ordres et attendent leur exécution. C'est ici que le ticker est mis à jour dans MT5.

 
Dans MT5, il doit y avoir eu une tentative d'ajouter un journal des ordres impersonnels (il est diffusé par la bourse comme un flux séparé).
Très probablement, c'est ce que l'ENUM_BOOK_TYPE

BOOK_TYPE_SELL_MARKET

Ordre de vente au prix du marché

BOOK_TYPE_BUY_MARKET

Ordre d'achat

au prix du marché

Mais aucun de ces événements ne provient de l'échange. Pas fini...

 
Vladimir Mikhailov:


Question.
Que se passe-t-il si deux offres opposées sont exécutées aux prix du marché, et que les volumes et les prix de ces offres sont les mêmes ?
Lorsqu'une telle exécution a lieu, quelles informations doivent figurer dans le carnet d'ordres de la bourse, le carnet d'ordres et la bande de transactions ?

Si l'offre est une offre de marché, elle n'a pas de prix.

S'il n'y a pas de prix, mais seulement deux offres de marché, la première correspondra à ce qui se trouve dans le gobelet, puis la seconde correspondra à ce qui reste dans le gobelet. Ils ne peuvent pas être assortis l'un à l'autre.

 
Ilya Baranov:

Si l'offre est une offre de marché, elle n'a pas de prix.

S'il n'y a pas de prix, mais seulement deux offres de marché, la première correspondra à ce qui se trouve dans le gobelet, puis la seconde correspondra à ce qui reste dans le gobelet. Ils ne peuvent pas être assortis l'un à l'autre.

Oui, ces applications n'ont pas de prix.
Mais pour affirmer que ces applications convergeront vers le carnet d'ordres, il faut voir le carnet d'ordres, à savoir la file d'attente des ordres.
Et s'il y a des contre-applications dans le journal, elles seront exécutées, mais si ce n'est pas le cas, alors seulement il y aura une référence au carnet d'ordres.

Un ordre au marché est prioritaire sur un ordre à cours limité.