FORTS. Questions relatives à l'application de la loi - page 108

 

Le problème de la synchronisation avec l'heure de la bourse peut être résolu très simplement

struct MqlBookInfo 
  { 
   ENUM_BOOK_TYPE   type;       // тип заявки из перечисления ENUM_BOOK_TYPE 
   double           price;      // цена 
   long             volume;     // объем 
  };

De la spécification Plaza 2

Il suffit d'ajouter du temps à la structure MqlBookInfo :)

struct MqlBookInfo 
  { 
   ENUM_BOOK_TYPE   type;       // тип заявки из перечисления ENUM_BOOK_TYPE 
   double           price;      // цена 
   long             volume;     // объем 
   ulong            moment;     // время (добавить)    
  };
 
fxsaber:

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.

Le script n'était pas le bon :)

2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508923,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508924,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508925,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508926,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508927,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508928,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryOrderGetInteger(87849076,ORDER_TIME_DONE_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryOrderGetInteger(87849076,ORDER_TIME_SETUP_MSC)) = 2018.04.25 16:49:23.000
 
Dennis Kirichenko:

Hilarant !

 
prostotrader:

Le problème de la synchronisation avec l'heure de la bourse peut être résolu très simplement

De la spécification Plaza 2

C'est-à-dire qu'il suffit d'ajouter du temps à la structure de MqlBookInfo :)

Mais comment cela résoudra-t-il le problème de la lecture des journaux, c'est-à-dire lorsque j'ai une heure, et que l'échange/serveur en a une autre ?

En tout cas, nous n'en disposons pas.

 
Aleksey Vyazmikin:
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508923,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508924,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508925,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508926,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508927,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryDealGetInteger(48508928,DEAL_TIME_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryOrderGetInteger(87849076,ORDER_TIME_DONE_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryOrderGetInteger(87849076,ORDER_TIME_SETUP_MSC)) = 2018.04.25 16:49:23.000

Je dois utiliser l'heure, ce qui est encore plus embrouillé car l'heure ne coïncide pas avec les journaux du serveur.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

FORTS. Questions sur l'exécution

Aleksey Vyazmikin, 2018.04.26 12:56

On dirait des retards de réseau du côté client, voici comment l'exécution s'est déroulée du côté du serveur de négociation :

0       6       2018.04.25 16:49:24.024 85.***.***.***    '***': exchange buy 10.00 Si-6.18 at market (62785 / 62788 / 62787)
0       6       2018.04.25 16:49:24.024 85.***.***.***    '***': request transfered to dealers, rule 'FORTS Gateway #real' (exchange buy 10.00 Si-6.18 at market)
0       6       2018.04.25 16:49:24.028 127.0.0.1       '2': request from '***' (exchange buy 10.00 Si-6.18 at market)
0       6       2018.04.25 16:49:24.029 127.0.0.1       '2': placed for execution for '***' (exchange buy 10.00 Si-6.18 at market)(62785 / 62788 / 62787) 
0       6       2018.04.25 16:49:24.029 85.***.***.***    '***': order placed for execution [#87849076 buy 10.00 Si-6.18 at market], time 5.98 ms
0       6       2018.04.25 16:49:24.030 FORTS Gateway #real     '***': order #87849076 buy 10.00 Si-6.18 at market request new due execution [request new order #87849076], time: 0.05 ms
0       6       2018.04.25 16:49:24.036 FORTS Gateway #real     '***': order #87849076 buy 10.00 Si-6.18 at market placed due execution [added order #87849076, buy limit 10.00 Si-6.18 at 65426 [based on order '30444116819']], time: 0.18 ms
0       6       2018.04.25 16:49:24.041 FORTS Gateway #real     '***': deal performed [#48508923 buy 1.00 Si-6.18 at 62788]
0       6       2018.04.25 16:49:24.041 '***': order performed partially buy 1.00 at 62788 [#87849076 buy 10.00 Si-6.18 at market]
0       6       2018.04.25 16:49:24.041 FORTS Gateway #real     '***': order #87849076 buy 10.00 Si-6.18 at market filled due execution [filled order #87849076, buy 1.00 Si-6.18 at 62788 [based on deal '2026006054']], time: 2.06 ms
0       6       2018.04.25 16:49:24.043 FORTS Gateway #real     '***': deal performed [#48508924 buy 1.00 Si-6.18 at 62788]
0       6       2018.04.25 16:49:24.043 '***': order performed partially buy 1.00 at 62788 [#87849076 buy 10.00 / 1.00 Si-6.18 at market]
0       6       2018.04.25 16:49:24.043 FORTS Gateway #real     '***': order #87849076 buy 10.00 / 1.00 Si-6.18 at market filled due execution [filled order #87849076, buy 1.00 Si-6.18 at 62788 [based on deal '2026006055']], time: 3.02 ms
0       6       2018.04.25 16:49:24.048 FORTS Gateway #real     '***': deal performed [#48508925 buy 5.00 Si-6.18 at 62788]
0       6       2018.04.25 16:49:24.048 '***': order performed partially buy 5.00 at 62788 [#87849076 buy 10.00 / 2.00 Si-6.18 at market]
0       6       2018.04.25 16:49:24.048 FORTS Gateway #real     '***': order #87849076 buy 10.00 / 2.00 Si-6.18 at market filled due execution [filled order #87849076, buy 5.00 Si-6.18 at 62788 [based on deal '2026006056']], time: 1.73 ms
0       6       2018.04.25 16:49:24.050 FORTS Gateway #real     '***': deal performed [#48508926 buy 1.00 Si-6.18 at 62789]
0       6       2018.04.25 16:49:24.050 '***': order performed partially buy 1.00 at 62789 [#87849076 buy 10.00 / 7.00 Si-6.18 at market]
0       6       2018.04.25 16:49:24.050 FORTS Gateway #real     '***': order #87849076 buy 10.00 / 7.00 Si-6.18 at market filled due execution [filled order #87849076, buy 1.00 Si-6.18 at 62789 [based on deal '2026006057']], time: 3.40 ms
0       6       2018.04.25 16:49:24.053 FORTS Gateway #real     '***': deal performed [#48508927 buy 1.00 Si-6.18 at 62789]
0       6       2018.04.25 16:49:24.053 '***': order performed partially buy 1.00 at 62789 [#87849076 buy 10.00 / 8.00 Si-6.18 at market]
0       6       2018.04.25 16:49:24.053 FORTS Gateway #real     '***': order #87849076 buy 10.00 / 8.00 Si-6.18 at market filled due execution [filled order #87849076, buy 1.00 Si-6.18 at 62789 [based on deal '2026006058']], time: 1.49 ms
0       6       2018.04.25 16:49:24.054 FORTS Gateway #real     '***': deal performed [#48508928 buy 1.00 Si-6.18 at 62789]
0       6       2018.04.25 16:49:24.055 '***': order performed buy 1.00 at 62789 [#87849076 buy 10.00 / 9.00 Si-6.18 at market]
0       6       2018.04.25 16:49:24.055 FORTS Gateway #real     '***': order #87849076 buy 10.00 / 9.00 Si-6.18 at market filled due execution [filled order #87849076, buy 1.00 Si-6.18 at 62789 [based on deal '2026006059']], time: 4.03 ms

De plus, l'historique des transactions MT5 est mensonger, montrant que tout s'est parfaitement exécuté.

 

C'est particulièrement révélateur.

Le temps d'établissement et d'exécution d'un ordre est le même :)

2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryOrderGetInteger(87849076,ORDER_TIME_DONE_MSC)) = 2018.04.25 16:49:23.000
2018.04.26 17:14:39.691 tTest (Si Splice,M15)   TimeMscToString(HistoryOrderGetInteger(87849076,ORDER_TIME_SETUP_MSC)) = 2018.04.25 16:49:23.000
 
prostotrader:

Le temps d'établissement et d'exécution d'un ordre est le même :)

Coïncidence étrange, le temps est un multiple de seconde (pas de millisecondes après le point).

 
fxsaber:

Ensuite, c'est encore plus absurde, car l'heure ne correspond pas aux journaux du serveur.

De plus, l'historique de trading MT5 est mensonger, montrant que tout s'est exécuté parfaitement.


 
fxsaber:

Coïncidence étrange, l'heure est un multiple de seconde (pas de millisecondes après le point).

Oui, ça m'ennuie autant, mais je pense que c'est un paramètre du serveur.

 
prostotrader:

C'est particulièrement révélateur.

Le temps d'établissement et d'exécution d'un ordre est le même :)

Je me demande si quelqu'un qui n'est pas d'Otkritie, c'est la même chose sans millisecondes dans l'histoire là-bas ou quoi ?