Le problème est que toutes les preuves ne peuvent provenir que du courtier ou de la bourse, ce qui signifie que je ne pourrai pas les obtenir. Je vais donc continuer à gérer la situation pour l'instant.
J'ai reçu une réponse du courtier
"
Bonjour Alexey Vyacheslavovich ! La réponse des développeurs -
On dirait des retards de réseau du côté client, voici comment s'est déroulée l'exécution du côté serveur de négociation :
"
D'après ce que je comprends du journal :
1. Le temps d'exécution est approximativement le même
2. l'information d'exécution provenait du serveur et était traitée par le programme avec un délai de 3 secondes
Parler d'un retard de 3 secondes de ma part semble assez étrange, car mon internet est assez bon jusqu'au routeur sur le fil, le canal n'était pas surchargé. Les cœurs de l'ordinateur n'étaient pas chargés à 100%, mais peut-être que certains d'entre eux l'étaient.
Puis il s'avère que :
1. Les développeurs n'ont pas prévu une gestion appropriée des priorités des tâches (threads) qui doivent être traitées en premier par le CPU et le noyau MT5 aurait pu être forcé à toujours occuper le noyau CPU le moins chargé. Et à une charge de 100 %, réduisez la priorité d'exécution du calcul pour les indicateurs et autres codes utilisateurs.
2) Les journaux de MT5 ne sont pas fiables.
Oui, maintenant vous ne pouvez plus faire confiance à personne.
La punition pour ce qui a été fait, en Russie, n'a jamais été à la hauteur.
Vous pouvez voler une boîte d'allumettes et aller en prison pour 3 ans, mais si vous volez des allumettes par wagon entier,
vous n'aurez rien !
Selon les journaux de votre MT5 :
2018.04.25 16:49:28.972 Trades '***': exchange buy 10.00 Si-6.18 at market - терминал отдал приказ серверу МТ5 на покупку
2018.04.25 16:49:29.186 Trades '***': accepted exchange buy 10.00 Si-6.18 at market - сервер МТ5 проверил ордер и утвердил его правильность
2018.04.25 16:49:29.387 Trades '***': exchange buy 10.00 Si-6.18 at market placed for execution - сервер МТ5 отправмл ордер на Биржу
2018.04.25 16:49:30.002 Trades '***': order #87849076 buy 10.00 / 10.00 Si-6.18 at market done in 1030.179 ms - сервер МТ5 рапортовал, что ордер исполнился
et ceux-ci sont
2018.04.25 16:49:30.405 Trades '***': deal #48508923 buy 1.00 Si-6.18 at 62788 done (based on order #87849076)
2018.04.25 16:49:30.819 Trades '***': deal #48508924 buy 1.00 Si-6.18 at 62788 done (based on order #87849076)
2018.04.25 16:49:31.032 Trades '***': deal #48508925 buy 5.00 Si-6.18 at 62788 done (based on order #87849076)
2018.04.25 16:49:31.635 Trades '***': deal #48508926 buy 1.00 Si-6.18 at 62789 done (based on order #87849076)
2018.04.25 16:49:32.058 Trades '***': deal #48508927 buy 1.00 Si-6.18 at 62789 done (based on order #87849076)
2018.04.25 16:49:32.264 Trades '***': deal #48508928 buy 1.00 Si-6.18 at 62789 done (based on order #87849076)
est juste une transcription des échanges.
Ajouté par
A partir des journaux du SERVEUR montre que le noyau de l'échange, tous exécutés instantanément, des retards de 3-4 ms, ce retard du courtier au noyau de l'échange, parce que les transactions dans Plaza 2 sont un flux distinct,
qui est obtenu par le serveur n'est pas en temps réel, mais en "tranches".
En bref, vous devez secouer le courtier et les développeurs.
La "latence du réseau" ne dépend pas de vous ou de moi, mais d'eux !
Ajouté
Chaque matin (et parfois l'après-midi), pendant quelques secondes, la commande n'est pas exécutée.
2018.04.2610:02:35.202 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:36.208 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:37.222 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:38.236 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:39.250 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:40.263 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:41.277 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:42.291 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:43.305 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:44.319 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:45.333 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:46.348 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:47.362 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:48.376 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 878709812018.04.2610:02:49.390 trader (Eu-6.19,M1) ProcessOrders: Buy ордер в процессе удаления. Билет = 87870981
Les "retards de réseau" ne sont pas avec vous et moi, ils le sont !
Ajouté
Chaque matin (et parfois l'après-midi), pendant quelques secondes, la commande n'est pas exécutée.
Ce que je veux savoir, c'est où est réglée l'heure, dans le journal de mon terminal, c'est l'heure de mon ordinateur et dans le journal, c'est l'heure du serveur MT5 ?
J'ai la synchronisation du temps - toutes les 10 minutes par le serveur approprié (ntp2.stratum2.ru), j'ai changé la batterie de ma carte mère, cela signifie que l'heure devrait être exacte. Mais sur l'écran, je vois souvent que le temps sur mon horloge est déjà passé, mais que la barre continue à s'agiter - c'est ça ? Le temps à l'échange est une sorte de gaucher ?
Je suis également intéressé par l'heure indiquée - dans mon terminal, dans le journal, c'est l'heure de mon ordinateur, et ils ont l'heure du serveur MT5 ?
Je synchronise simplement mon heure toutes les 10 minutes avec le serveur approprié (ntp2.stratum2.ru), j'ai changé la batterie de ma carte mère, c'est-à-dire que l'heure devrait être exacte. Mais sur l'écran, je vois souvent que le temps sur mon horloge est déjà passé, mais que la barre continue à s'agiter - c'est ça ? L'échange a une sorte de temps mort ?
Je ne sais pas comment MQ a mis en œuvre la synchronisation de l'heure du serveur MT5 avec l'heure d'Exchange.
Mais comme nous tradons sur le bmrz, donc peu importe l'heure de votre ordinateur ou du serveur MT5, ce qui est important c'est l'heure de la bourse !
La synchronisation doit être effectuée en utilisant l'heure de la bourse.
Je suis également intéressé de savoir quelle heure il est - dans le journal de mon terminal, c'est l'heure de mon ordinateur, et ils ont l'heure du serveur MT5 ?
Le problème est que toutes les preuves ne peuvent provenir que du courtier ou de la bourse, ce qui signifie que je ne pourrai pas les obtenir. Je vais donc continuer à gérer la situation pour l'instant.
J'ai reçu une réponse du courtier
"
Bonjour Alexey Vyacheslavovich ! La réponse des développeurs -
On dirait des retards de réseau du côté client, voici comment s'est déroulée l'exécution du côté serveur de négociation :
"
D'après ce que je comprends du journal :
1. Le temps d'exécution est approximativement le même
2. l'information d'exécution provenait du serveur et était traitée par le programme avec un délai de 3 secondes
Parler d'un retard de 3 secondes de ma part semble assez étrange, car mon internet est assez bon jusqu'au routeur sur le fil, le canal n'était pas surchargé. Les cœurs de l'ordinateur n'étaient pas chargés à 100%, mais peut-être que certains d'entre eux l'étaient.
Puis il s'avère que :
1. Les développeurs n'ont pas prévu une gestion appropriée des priorités des tâches (threads) qui doivent être traitées en premier par le CPU et le noyau MT5 aurait pu être forcé à toujours occuper le noyau CPU le moins chargé. Et à une charge de 100 %, réduisez la priorité d'exécution du calcul pour les indicateurs et autres codes utilisateurs.
2) Les journaux de MT5 ne sont pas fiables.
Oui, maintenant vous ne pouvez plus faire confiance à personne.
La punition pour ce qui a été fait, en Russie, n'a jamais été à la hauteur.
Vous pouvez voler une boîte d'allumettes et aller en prison pour 3 ans, mais si vous volez des allumettes par wagon entier,
vous n'aurez rien !
Selon les journaux de votre MT5 :
et ceux-ci sont
est juste une transcription des échanges.
Ajouté par
A partir des journaux du SERVEUR montre que le noyau de l'échange, tous exécutés instantanément, des retards de 3-4 ms, ce retard du courtier au noyau de l'échange, parce que les transactions dans Plaza 2 sont un flux distinct,
qui est obtenu par le serveur n'est pas en temps réel, mais en "tranches".
En bref, vous devez secouer le courtier et les développeurs.
La "latence du réseau" ne dépend pas de vous ou de moi, mais d'eux !
Ajouté
Chaque matin (et parfois l'après-midi), pendant quelques secondes, la commande n'est pas exécutée.
J'ai reçu une réponse du courtier
Les "retards de réseau" ne sont pas avec vous et moi, ils le sont !
Ajouté
Chaque matin (et parfois l'après-midi), pendant quelques secondes, la commande n'est pas exécutée.
Ce que je veux savoir, c'est où est réglée l'heure, dans le journal de mon terminal, c'est l'heure de mon ordinateur et dans le journal, c'est l'heure du serveur MT5 ?
J'ai la synchronisation du temps - toutes les 10 minutes par le serveur approprié (ntp2.stratum2.ru), j'ai changé la batterie de ma carte mère, cela signifie que l'heure devrait être exacte. Mais sur l'écran, je vois souvent que le temps sur mon horloge est déjà passé, mais que la barre continue à s'agiter - c'est ça ? Le temps à l'échange est une sorte de gaucher ?
Je suis également intéressé par l'heure indiquée - dans mon terminal, dans le journal, c'est l'heure de mon ordinateur, et ils ont l'heure du serveur MT5 ?
Je synchronise simplement mon heure toutes les 10 minutes avec le serveur approprié (ntp2.stratum2.ru), j'ai changé la batterie de ma carte mère, c'est-à-dire que l'heure devrait être exacte. Mais sur l'écran, je vois souvent que le temps sur mon horloge est déjà passé, mais que la barre continue à s'agiter - c'est ça ? L'échange a une sorte de temps mort ?
Je ne sais pas comment MQ a mis en œuvre la synchronisation de l'heure du serveur MT5 avec l'heure d'Exchange.
Mais comme nous tradons sur le bmrz, donc peu importe l'heure de votre ordinateur ou du serveur MT5, ce qui est important c'est l'heure de la bourse !
La synchronisation doit être effectuée en utilisant l'heure de la bourse.
C'est-à-dire queTimeCurrent() n'est PAS l'heure exacte.
TimeTradeServer(cur_time) ; //renvoie l'heure actuelle estimée du serveur de commerce.
Le TimeTradeServer n'est pas l'heure exacte
Le fait est que depuis l'année dernière, la Bourse diffuse TOUTES les informations nécessaires aux opérations de change,
jusqu'à certains calculs.
Dans la spécification du protocole Plaza 2, il est dit que
horloge de serveur table de service
Et voici à quoi sert cette table
A l'origine, mt5 "s'asseyait" sur p2gate de plaza 2, qui est "mort" et MQ a eu besoin d'une aide.
pour réécrire rapidement le serveur en CGate, mais tant qu'il est déjà écrit et fonctionne, pourquoi s'embêter ?
Ajouter-corriger quelque chose.
Ajouté
Le problème de latence est le résultat d'un grave bug.
Le terminal ne peut pas envoyer plus de 60 transactions en une seconde (c'est-à-dire 2 plaza, 2 logins).
Par de simples calculs, vous pouvez déterminer quelle "vitesse" devrait être le courtier qui
qui connecte le serveur МТ5 et la passerelle.
Je ne sais pas comment MQ a mis en œuvre la synchronisation de l'heure du serveur MT5 avec l'heure d'Exchange.
Mais comme nous tradons sur bmrz, l'heure de votre ordinateur ou de votre serveur MT5 importe peu, ce qui est important c'est l'heure de la bourse !
La synchronisation doit être effectuée au moment de l'échange.
Et que se passe-t-il réellement ? Peut-être que l'Exchange dispose d'un serveur pour synchroniser l'heure des utilisateurs de PC ?
Que se passe-t-il réellement ? Peut-être que l'échange dispose d'un serveur pour synchroniser l'heure des PC des utilisateurs ?
J'ai ajouté l'information à mon message précédent.
Je suis également intéressé de savoir quelle heure il est - dans le journal de mon terminal, c'est l'heure de mon ordinateur, et ils ont l'heure du serveur MT5 ?
Quel est le résultat de ce script ?
Que donne ce script ?
2018.04.26 16:59:58.686 Test_sr (Si Splice,M15) arrK=0.2021591274299704
Qu'est-ce que c'est ?2018.04.26 16:59:58.686 Test_sr (Si Splice,M15) arrK=0.2021591274299704
Qu'est-ce que c'est ?Je ne sais pas, ça n'a rien à voir avec le script ci-dessus. Montrez-moi ce que cela donne sur le compte de trading où le problème s'est produit.