Синхронизация локального времени Windows с сервером МТ5 - страница 5

 
prostotrader:

Нет, не правильное решение!

Всё ДРУГОЕ время, кроме времени сервера МТ5 - НЕ ПРАВИЛЬНОЕ, так как мы торгуем серез СЕРВЕР МТ5!!!!

Добавлено

Хочется ОЧЕНЬ надеется, что само время сервера МТ5 СИНХРОНИЗИРОВАНО правильно со временем БИРЖИ! 

На первых двух страницах http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 много интересного о синхронизации времени на бирже ФОРТС, а также указан адрес ntp.rtsnet.ru NTP сервера биржи РТС, по которому все брокеры могут синхронизировать свое время. Клиентам он был недоступен. Правда, это 2009-2010 год. Техподдержка вашего брокера, вероятно, ответит, как сейчас у данного брокера.

Кроме собственно синхронизации, еще хотелось бы, чтобы применялся алгоритм "плавного" сдвига времени, чтобы последующие события не получили от брокера предыдущее время. В синхронизацию по NTP этот механизм не входит.

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

На первых двух страницах http://forum.moex.com/viewtopic.asp?t=15432&topicdays=0&postorder=asc&start=0 много интересного о синхронизации времени на бирже ФОРТС, а также указан адрес ntp.rtsnet.ru NTP сервера биржи РТС, по которому все брокеры могут синхронизировать свое время. Клиентам он был недоступен. Правда, это 2009-2010 год. Техподдержка вашего брокера, вероятно, ответит, как сейчас у данного брокера.

Кроме собственно синхронизации, еще хотелось бы, чтобы применялся алгоритм "плавного" сдвига времени, чтобы последующие события не получили от брокера предыдущее время. В синхронизацию по NTP этот механизм не входит.

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

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

Кто-нибудь может пояснить, почему этот код не точно синхронизиоует время?

Ведь в премаркет приходит "свежая" котировка, с новым временем сервера(биржи).

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


 

 

Поясню, на чём был основан приведённый выше код.

Функция CopyTicks() с флагом  COPY_TICKS_INFO 

возврашает последнюю котировку (Bid, Ask) с временем сервера, а так как изменения BID и/или ASK вывывают

событие OnBookEvent(), то мы можем получить время последней котировки

Проверяя

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


 мы убежлается, что это "свежая" котировка.

Почему же, после 10-00 веремя сервера на несколько секунд не совпадает

с синхронизированным локальным временем? 

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

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

А как решился Ваш ключевой вопрос: "Хочется ОЧЕНЬ надеется, что само время сервера МТ5 СИНХРОНИЗИРОВАНО правильно со временем БИРЖИ!"?

 
Vladimir:

А как решился Ваш ключевой вопрос: "Хочется ОЧЕНЬ надеется, что само время сервера МТ5 СИНХРОНИЗИРОВАНО правильно со временем БИРЖИ!"?

Никак не решился, откуда я знаю как разработчики синхронизируют время сервера МТ5 с временем биржи?

Брокер (Откоытие) написал, что автоматически, но как конкретно, знают только разработчики,

но они не участвуют в обсуждении. 

Добавлено

И это не ключевой мой вопрос!

Мой вопрос:

Как, максимально точно, синхронизировать МОЁ локальнок время  с временем сервера МТ5 ФОРТС? 

 
prostotrader:

Как, максимально точно, синхронизировать МОЁ локальнок время  с временем сервера МТ5 ФОРТС?

OnTick.
 
fxsaber:
OnTick.

OnTick не приходит в премаркет и в клиринги, а время

нужно синхронизировать ДО торгов! 

 
prostotrader:

OnTick не приходит в премаркет и в клиринги, а время

нужно синхронизировать ДО торгов! 

Не вижу причин синхронизации времени ДО торгов. Открыл терминал в 11:32, и он на первом тике синхронизировал.
 
fxsaber:
Не вижу причин синхронизации времени ДО торгов. Открыл терминал в 11:32, и он на первом тике синхронизировал.
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]

Ответ брокера

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

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)

А я ВИЖУ

Добавлено

И у меня терминал постоянно работает 90 дней (до смены фьючерсов) 

Добавлено

Мои роботы не требуют моего участия, бывает, что неделю не подхожу

к копьютеру. Если случается что-то экстрординарное, я получаю СМС