Synchroniser l'heure locale de Windows avec le serveur MT5 - page 5

 
prostotrader:

Non, ça ne l'est pas !

Toute autre heure que celle du serveur MT5 n'est pas correcte, car nous effectuons nos transactions par le biais du SERVEUR MT5 !!!!.

Ajouté

J'espère TRES fortement que l'heure du serveur MT5 elle-même est SYNCHRONISÉE correctement avec l'heure de la Bourse !

Les deux premières pages de http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 contiennent de nombreuses informations intéressantes sur la synchronisation de l'heure de la bourse FORTS, et l'adresse du serveur NTP ntp.rtsnet.ru de la bourse RTS, par lequel tous les courtiers peuvent synchroniser leur heure, est également indiquée. Il n'était pas disponible pour les clients. C'est vrai, on est en 2009-2010. Le support technique de votre courtier répondra probablement à la question de savoir comment le courtier en question fonctionne actuellement.

En dehors de la synchronisation proprement dite, j'aimerais également qu'un algorithme de décalage horaire "lisse" soit appliqué, afin que les événements ultérieurs ne récupèrent pas l'heure précédente auprès du courtier. Ce mécanisme n'est pas inclus dans la synchronisation NTP.

Точность часов ФОРТС — Форум «Техническая поддержка» Московской Биржи
Точность часов ФОРТС — Форум «Техническая поддержка» Московской Биржи
  • forum.moex.com
Пожалуйста, проясните, с какой точностью идут часы, используемые системой ФОРТС для временной разметки сделок. Меня интересует, синхронизируются ли часы с какими либо высокоточными часами реального времени (GPS, атомными часами или т.п.), как часто происходит синхронизация, какова погрешность времени на ФОРТС между периодами синхронизации...
 
Vladimir:

Les deux premières pages de http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 contiennent beaucoup d'informations intéressantes sur la synchronisation du temps sur la bourse FORTS, ainsi que l'adresse du serveur NTP ntp.rtsnet.ru de la bourse RTS, grâce auquel tous les brokers peuvent synchroniser leur temps. Il n'était pas disponible pour les clients. C'est vrai, on est en 2009-2010. Le support technique de votre courtier, probablement, répondra, comme maintenant chez le courtier donné.

En dehors de la synchronisation proprement dite, j'aimerais également qu'un algorithme de décalage horaire "lisse" soit appliqué, afin que les événements ultérieurs ne récupèrent pas l'heure précédente auprès du courtier. Ce mécanisme n'est pas inclus dans la synchronisation NTP.

Здравствуйте, уточню, вы через ВПН подключаетесь к срочному рынку ? Т.к. через интернет сервисы синхронизации времени не доступны.

С уважением,
Глеб Кочнев
Техническая поддержка ПАО Московская Биржа
+7 (495) 733-95-07 | help@moex.com
 

Quelqu'un peut-il expliquer pourquoi ce code ne synchronise pas correctement l'heure ?

Après tout, le premarket reçoit une cotation "fraîche", avec la nouvelle heure du serveur(de la bourse).

void OnBookEvent(const string &symbol)
  {
   loc_time.wYear=0;
   GetLocalTime(loc_time);
   if(loc_time.wYear>0)
     {
      if((loc_time.wHour==9) && (loc_time.wMinute>=50) && (loc_time.wMinute<=59))
        {
         MqlTick curr_tick[1];
         if(CopyTicks(symbol,curr_tick,COPY_TICKS_INFO,0,1)==1)
           {
            MqlDateTime sv_time;
            TimeToStruct(curr_tick[0].time,sv_time);
            if(!is_sync)
              {
               if((loc_time.wDayOfWeek==ushort(sv_time.day_of_week)) &&
                  (loc_time.wHour==ushort(sv_time.hour)))
                 {
                  long last_ping=long(NormalizeDouble((double(TerminalInfoInteger(TERMINAL_PING_LAST))/1000)/2,0));
                  long mls_time=long(curr_tick[0].time_msc%1000);
                  if((mls_time+last_ping)>999)
                    {
                     mls_time=long(curr_tick[0].time_msc)+last_ping;
                     if(!ConvertToTime(mls_time, loc_time)) return;
                    }
                  else
                    {
                     loc_time.wMinute = ushort(sv_time.min);
                     loc_time.wSecond = ushort(sv_time.sec);
                     loc_time.wMilliseconds=ushort(mls_time);
                    }
                  if(SetLocalTime(loc_time))
                    {
                     is_sync=true;
                     Print("Local time sync is done. Symbol = ", symbol, " Sync min = ", loc_time.wMinute,
                           " Sync sec = ", loc_time.wSecond, " Sync ms = ", loc_time.wMilliseconds);
                    }
                 }
              }
           }
        }
      else is_sync=false;
     }
  }
 

Laissez-moi vous expliquer sur quoi le code ci-dessus était basé.

La fonction CopyTicks() avec l'indicateurCOPY_TICKS_INFO

renvoie la dernière cotation (Bid, Ask) avec l'heure du serveur, et puisque les changements de BID et/ou ASK provoqueront des changements de prix.

OnBookEvent(), on peut obtenir l'heure de la dernière citation.

Vérification de

if((loc_time.wDayOfWeek==ushort(sv_time.day_of_week)) &&
                  (loc_time.wHour==ushort(sv_time.hour)))


nous nous assurons qu'il s'agit d'un devis "frais".

Pourquoi, après 10:00 l'heure du serveur ne coïncide pas de quelques secondes

avec l'heure locale synchronisée ?

 
prostotrader:
Здравствуйте, уточню, вы через ВПН подключаетесь к срочному рынку ? Т.к. через интернет сервисы синхронизации времени не доступны.

С уважением,
Глеб Кочнев
Техническая поддержка ПАО Московская Биржа
+7 (495) 733-95-07 | help@moex.com

Et comment est résolue votre question clé : "On pourrait TRÈS bien espérer que l'heure du serveur MT5 elle-même est SYNCHRONISÉE correctement avec l'heure de la Bourse !" ?

 
Vladimir:

Et comment votre question clé a-t-elle été résolue : "J'espère TRES fort que l'heure du serveur MT5 elle-même est SYNCHRONISÉE correctement avec l'heure de la bourse !

Pas de résolution, comment puis-je savoir comment les développeurs synchronisent l'heure du serveur MT5 avec l'heure de la bourse ?

Le courtier (Otkoytiye) a écrit cela automatiquement, mais comment exactement, seuls les développeurs le savent,

mais ils ne participent pas à la discussion.

Ajouté

Et ce n'est pas ma question clé !

Ma question est la suivante :

Comment puis-je synchroniser mon heure locale avec l'heure du serveur MT5 FORTS de la manière la plus précise possible ?

 
prostotrader:

Comment puis-je synchroniser mon heure locale aussi précisément que possible avec l'heure du serveur MT5 FORTS ?

OnTick.
 
fxsaber:
OnTick.

OnTick ne vient pas dans le pré-marché et dans la compensation, et le temps

doit être synchronisé AVANT l'enchère !

 
prostotrader:

OnTick ne vient pas dans le pré-marché et dans la compensation, et le temps

doit être synchronisé AVANT l'enchère !

Je ne vois aucune raison de synchroniser l'heure AVANT de négocier. J'ai ouvert le terminal à 11h32 et il s'est synchronisé au premier tick.
 
fxsaber:
Je ne vois pas de raison de synchroniser le temps AVANT de négocier. J'ai ouvert le terminal à 11h32 et il s'est synchronisé au premier tick.
2017.01.13 10:00:03.969 Trades  'xxxxx': buy limit 2.00 ED-6.17 at 1.0642
2017.01.13 10:00:03.969 Trades  'xxxxx': sell limit 1.00 ED-6.17 at 1.0813
2017.01.13 10:00:03.975 Trades  'xxxxx': accepted buy limit 2.00 ED-6.17 at 1.0642
2017.01.13 10:00:03.975 Trades  'xxxxx': accepted sell limit 1.00 ED-6.17 at 1.0813
2017.01.13 10:00:03.978 Trades  'xxxxx': failed buy limit 2.00 ED-6.17 at 1.0642 [Market closed]
2017.01.13 10:00:03.979 Trades  'xxxxx': failed sell limit 1.00 ED-6.17 at 1.0813 [Market closed]

Réponse du courtier

Со своей стороны видим, что заяви ниже подавались в другое время

2017.01.13 09:59:58.098               * request transfered to dealers * (buy limit 2.00 ED-6.17 at 1.0642)

2017.01.13 09:59:58.099               * request transfered to dealers * (sell limit 1.00 ED-6.17 at 1.0813)

2017.01.13 09:59:58.099               * request from '*' (buy limit 2.00 ED-6.17 at 1.0642)

2017.01.13 09:59:58.099               * request from '*' (sell limit 1.00 ED-6.17 at 1.0813)

2017.01.13 09:59:58.100               * reject (Market closed) for '*' (buy limit 2.00 ED-6.17 at 1.0642)(1.0641 / 1.0814 / 1.0695)

2017.01.13 09:59:58.100               * reject (Market closed) for '*' (sell limit 1.00 ED-6.17 at 1.0813)(1.0641 / 1.0814 / 1.0695)

Et je le vois.

Ajouté

Et je fais fonctionner le terminal pendant 90 jours en permanence (avant le changement de contrat à terme).

Ajouté

Mes robots ne requièrent pas ma participation, parfois je ne m'approche pas...

Je ne vais pas sur mon ordinateur pendant une semaine. Si quelque chose d'extraordinaire se produit, je reçois un sms.