Sincronizar a hora local do Windows com o servidor MT5 - página 5

 
prostotrader:

Não, não é!

Qualquer outra coisa além do tempo do servidor MT5 NÃO É CERTO, pois negociamos através do MT5 SERVER!!!!

Adicionado

Eu esperaria MUITO que o próprio tempo do servidor MT5 fosse SINCRONIZADO corretamente com o tempo do Bourse!

As duas primeiras páginas de http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 têm muitas informações interessantes sobre a sincronização do tempo de troca FORTS, e o endereço do servidor ntp.rtsnet.ru NTP de troca RTS, pelo qual todos os corretores podem sincronizar seu tempo, também é dado. Não estava disponível para os clientes. É verdade, estamos em 2009-2010. O suporte técnico de seu corretor provavelmente responderá como o corretor em questão está agora.

Além da sincronização em si, eu também gostaria de ver aplicado um algoritmo de deslocamento de tempo "suave", para que os eventos subseqüentes não obtenham o tempo anterior do corretor. Este mecanismo não está incluído na sincronização do NTP.

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

As duas primeiras páginas de http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 contêm muitas informações interessantes sobre sincronização de tempo na bolsa FORTS, assim como o endereço do servidor ntp.rtsnet.ru NTP da bolsa RTS, através do qual todos os corretores podem sincronizar seu tempo. Não estava disponível para os clientes. É verdade, estamos em 2009-2010. O suporte técnico de seu corretor, provavelmente, responderá, como agora no corretor em questão.

Além da sincronização em si, eu também gostaria de ver aplicado um algoritmo de deslocamento de tempo "suave", para que os eventos subseqüentes não obtenham o tempo anterior do corretor. Este mecanismo não está incluído na sincronização do NTP.

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

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

Alguém pode explicar por que este código não sincroniza o tempo com precisão?

Afinal, o pré-mercado recebe uma cotação "fresca", com o novo servidor(troca) de tempo.

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;
     }
  }
 

Deixe-me explicar em que se baseava o código acima.

A função CopyTicks() com a bandeiraCOPY_TICKS_INFO

flag retorna a última cotação (Bid, Ask) com o tempo do servidor, e como as alterações BID e/ou ASK causarão

Evento OnBookEvent(), podemos obter a hora da última citação.

Verificando

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


nos certificamos de que se trata de uma citação "fresca".

Por que, depois das 10:00 horas, o tempo do servidor não coincide em alguns segundos

com a hora local sincronizada?

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

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

E como sua pergunta-chave é resolvida: "Alguém esperaria MUITO que o próprio tempo do servidor MT5 fosse SINCRONIZADO corretamente com o tempo do Bourse"?

 
Vladimir:

E como foi resolvida sua pergunta-chave: "Eu espero muito que o próprio tempo do servidor MT5 seja SINCRONIZADO corretamente com o tempo de troca!

Sem resolução, como sei como os desenvolvedores sincronizam o tempo do servidor MT5 com o tempo de troca?

O corretor (Otkoytiye) escreveu isso automaticamente, mas como exatamente, somente os desenvolvedores sabem,

mas eles não estão envolvidos na discussão.

Adicionado

E esta não é minha pergunta-chave!

Minha pergunta é:

Como posso sincronizar minha hora local com a hora do servidor MT5 FORTS da forma mais precisa possível?

 
prostotrader:

Como posso sincronizar minha hora local da maneira mais precisa possível com a hora do servidor MT5 FORTS?

OnTick.
 
fxsaber:
OnTick.

OnTick não entra no pré-mercado e na compensação, e o tempo

precisa ser sincronizado ANTES da licitação!

 
prostotrader:

OnTick não entra no pré-mercado e na compensação, e o tempo

precisa ser sincronizado ANTES da licitação!

Não vejo razão para sincronizar o tempo ANTES da negociação. O terminal foi aberto às 11:32 e sincronizado no primeiro tique.
 
fxsaber:
Não vejo nenhum motivo para sincronizar o tempo ANTES da negociação. O terminal foi aberto às 11:32 e sincronizado no primeiro tique.
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]

Resposta do corretor

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

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)

E eu estou vendo isso.

Adicionado

E eu tenho o terminal funcionando por 90 dias o tempo todo (antes da mudança do futuro)

Adicionado

Meus robôs não exigem minha participação, às vezes eu não me aproximo

Eu não vou ao meu computador durante uma semana. Se algo extremo acontecer, recebo uma mensagem de texto.

Razão: