Блог им. bosco

Сигналы точного времени

    • 07 ноября 2018, 20:20
    • |
    • П М
  • Еще
Попал я тут в адскую канитель с тормозами чёрной темы в квике, в результате чего обновил несколько драйверов, переписал немного робота и вообще зае.. провёл много исследований.
В результате проблема с тормозами вроде как ушла, но пришла новая беда: время сервера в квике стало отставать от моего локального на 2-3 секунды.
Причём весь день — стабильно. 
Связался с поддержкой Брокера Открытие — но тут как рыба об лёд. Отказываются выдавать сервер точного времени в интернете, с которым они синхронизируют свой сервер квика. Говорят — конфиденциальная информация. Эвон!

Ну хотя бы сжалились надо мной. Сказали что согласно https://time100.ru/ — их время точное, до секунды.
Зашел на сайт, думаю, щас покажу, что у меня тоже точное, я ведь синхронизируюсь каждый час аж с 2.ru.pool.ntp.org
И что? А то. https://time100.ru/ показывает что мои часы спешат на 2.5 секунды.

Теперь вопрос, с какими всё-таки часами синхронизируется открытие? Может есть у кого такие данные или догадки?
Чего тут конфиденциального, на самом деле, я же не фасон трусов генерального директора спросил.

И только эхо привычно отвечало...

PS: если у вас тормозит тёмная тема, ставьте обновление Windows 10 1803, сборка 17134.376 и будет вам счастие.
PPS: неужели конфиденциальная информация это time-b.nist.gov? Алилуйя, восславим господа нашего.
★5
65 комментариев

Не знаю с кем синхронятся сервера Квик, но лично я использую пул pool.ntp.org.

Синхронизирую время на компе своим скриптом и юзаю в некоторых роботах.

Сейчас проверю https://time100.ru/

По их данным мои часы спешат на 1.01 секунды.

Это чистейший буллшит, ибо только что синхронизировался.

А ещё этот сайт время от времени не отвечает.

Так что не верил бы ему.

Тарас Громницкий, у меня вообще на отстают 2,4 секунды, причем для синхронизации у винды есть несколько серверов и все они отстают, от приведенной ссылки на сервер…

 

2,4 секунды.

Тарас Громницкий, ну если time100.ru синхрится по time-b.nist.gov
то кто-то из этих двоих врёт, либо nist.gov, либо pool.org
с учётом того что задача не быть правым, а просто идти в ногу с квиком, выбор очевидный..
у прошлого брокера я тоже time-b.nist.gov использовал и было норм.

avatar
ПBМ, 
то кто-то из этих двоих врёт
я как то посвятил этому моменту много времени, правда из под линукс. NTP протокол так устроен, что чтобы добиться точности до миллисек, нужно заставить его синхрониться раз в минуту в течении суток, тогда он подстроит алгоритм подгонки времени исходя из полученных за сутки данных. Это все я сказал про локальную сеть.

А про инет, я подозреваю может случиться так, что нужно и подольше. То есть разовой сверки часов через сеть Инет, может не дать вообще результата.

Под виндой мне кажется с этим вообще тяжко.
avatar
я чуЙствовал что что-то этакое должно быть…
avatar
квик наверное синхронится со службой точного времени на колокации биржи
avatar
я синхронизируюсь с vniiftri.ru. Если не пишет ошибку недоступности, то с квиком синхронизирует с точностью до секунды.

Тут набор их серверов

vniiftri.ru/ru/uslugi-serverov
avatar
А. Г., попробовал сейчас, но не заметил особой разницы с дефолтным nist.gov, 
avatar
ПBМ, тоже разницы не вижу:
# ntpdate 0.gentoo.pool.ntp.org
 7 Nov 22:08:24 ntpdate[30426]: adjust time server 85.21.78.8 offset 0.005524 sec
# ntpdate pool.ntp.org
 7 Nov 22:08:36 ntpdate[30445]: adjust time server 192.36.143.130 offset 0.001975 sec
# ntpdate vniiftri.ru
 7 Nov 22:08:45 ntpdate[30446]: adjust time server 89.109.251.25 offset -0.004026 sec


С трёх серваков время в пределах погрешности приходит.
avatar
Максим, интересно, а попробуйте 
2.ru.pool.ntp.org
и kkursor.ru
что скажет?
хотя у меня самого докер есть, чего я жду
avatar
А. Г., я тоже синхронизируюсь с vniiftri.ru, через каждые 10 минут. Бывает, что time100.ru дает

но через 5 минут расхождение может вырасти до секунд.

Сообщение Windows об успешной  синхронизации 

может не соответствовать действительности.

Стандартная Windows  - не система реального времени.
Можно поискать расширения (за деньги), очень-очень давно я работал с такими (на других платформах).

Но можно попробовать не полагаться всерьез на локальное время, только как на вспомогательное, ориентировочное. 

Борис Гудылин, дополнение.

Мало синхронизоваться точно и часто. Windows, возможно, не сможет (не обязан — не система реального времени) удержать точное локальное время — зависит от специфики нагрузки. Пересмотреть использование всего, что может работать на уровне ядра — антивирусы, файерволы в первую очередь, какие-то системные службы, часто активизируются в неудобное время. Возможно дисковый ввод/вывод  минимизировать. 
У меня система откровенно перегружена, есть резерв.

P.S. Речь об обычном домашнем ПК.

Борис Гудылин, время находится значительно ниже операционной системы.

Это отдельное аппаратное устройство.

После того, как ему задано время оно работает автономно и питается от батарейки на материнской плате.

Поэтому антивирусы, фаерволлы и прочее на него никак не влияют.

Считывание времени с этого устройства в операционной системе также происходит ниже работающего программного обеспечения.

Где-то около ядра.

Тарас Громницкий, у Вас несколько идеализированные представления.
Тогда Вам придется объяснить плавание локального времени.
Оставим стабильность кварца в покое. 

Борис Гудылин, именно в кварце дело.

Плюс таймауты чтения данных с этого кварца операционной системой.

Плюс отдельный вопрос о том, как вы фиксируете это плавание.

Там тоже есть задержки, причём не самые точные.

Тарас Громницкий, вот Вы и ответили.
Сначала было «значительно ниже операционной системы», а пришли к «чтения данных с этого кварца операционной системой».
Нет смысла спорить, остаемся каждый при своем мнении. Продолжаем следить за кривым локальным временем и просто принимаем это во внимание.

Борис Гудылин, есть понятие прерывания и тика операционной системы.

Для наших задач ими можно пренебречь.

Гораздо большие ошибки возникают при измерении плавания.

Весь косяк как раз в методе измерения.

По сути измерители путают сами себя.

А реальная картина гораздо лучше и «плавание» пренебрежимо мало.

 

Касательно «значительно ниже операционной системы» имелось в виду, что ОС построена над этим модулем.

Что в свою очередь значит, что время — это самостоятельный/независимый элемент относительно ОС.
Тарас Громницкий, я же не только что узнал  о прерываниях, квантовании времени, задачах, процессах, приоритетах, очередях (на разных платформах). 

Борис Гудылин, вот и чудно.

Значит вы правильно поняли написанное выше.

Я учитываю, что нас читают и другие участники дискуссии.

И поэтому, отвечая вам, даю сравнительно развёрнутые ответы.

Тарас Громницкий, а зачем им такие нюансы. Им достаточно знать, что возможны некоторые погрешности в вычислении локального времени и не все их можно преодолеть, потому что Windows на одиноком домашнем ПК — это не система реального времени, а обычный ширпотреб.
Борис Гудылин,  что есть то есть. Надпись, что синхронизовано есть, а время не совпадает с квиков. Правда у меня «дурить» начинает в 22-00-00-00, но я связывал это с тем, что у меня на стационарном компе до сих пор хр, потому что днем на ноуте с семеркой,  да и там, где хр, все нормально. А вечером семёрку я проверить не могу — у меня ноут на работе. Надо будет проверить на планшете с 10-й, которым я редко пользуюсь (держу как мобильное средство на «всякий пожарный»).
avatar
А. Г., у меня есть и XP на стационарном ПК и Windows 10 на ноутбуке (дачный вариант) — проблемы одни и те же.
Я думаю, что акценты в своих комментариях, не опускаясь до излишней детализации, я расставил правильно.

А. Г., засинхронился с одним из ваших серверов.

По данным https://time100.ru/ моё время спешит на 0.86 сек.

Почти уверен, что https://time100.ru/ гонит.

Тарас Громницкий, мда, с утра мои одни спешат на 0.5, а мои вторые спешат на 0.8 по данным https://time100.ru/

возможно зависит как часто сами time100 синхронизируются.
вчера он говорил что у меня точное время на обоих часах

по-поводу pool.ntp.org
я вчера посмотрел куда он у меня ресолвится, понятно что всё время на разные сервера, хотя есть определённое «прилипание», может минут на 5, не знаю.
но вчера он ресолвился как kkusror.ru, что похоже на обычный персональный сайт. вряд ли он может являться источником точного времени, скорее ретранслирует откуда-то ещё.
вобщем как минимум в 2.ru.pool.ntp.org я крепко засомневался.
avatar

ПBМ, правильно, что он резолвит на разные адреса.

Это пул с балансировкой нагрузки.

Что очень правильно.

При чём тут kkuror.ru вообще не ясно.

Сам сервис довольно серьёзный https://www.pool.ntp.org/ru/

https://www.ntppool.org/zone/ru

ПBМ, выше мой комментарий, где я синхронизировался с серверами, которые предложил А.Г.

По итогу вышло, что с pool.ntp.org почти идентичное время, а с time100.ru расхождение на секунду.

Поэтому лично я сомневаюсь в time100.ru.

Обратите внимание, что у них рекламный баннер прямо по центру.

Внизу вакансия.

Посмотрите на требования к разработчику.

На мой скромный взгляд не очень похоже на серьёзную организацию.

Больше смахивает на шаражку с арендованным офисом из одной комнаты.

Тарас Громницкий, я тут попробовал ntpdate делать, она показывает расхождение с серверами в 0.64 секунды
тоже самое мне сказала time100.ru
про ntpdate я не понял, почему при последовательных вызовах она мне показывает расхождение 0.64, решил что может быть она не изменяет дату если расхождене меньше секунды? (что странно)

вручную изменил время через powershell
set-date (get-date).AddMilliseconds(-640)
time100 сразу показал что расхождения нет
ntpdate -q time-b.nist.gov
тоже теперь говорит что расхождение 1 миллисекунда

и посмотрим какое расхождение с утра получится в квике.
avatar

ПBМ, вот тут врать не буду, потому как не знаю.

ntpdate — это ведь утилита для nix систем, а я в основном на windows.

Тарас Громницкий, я тоже на windows, но пользуюсь докером, грубо говоря виртуалкой линукс.

в нынешние времена всё сильно упростилось, с приходом Hyper-v
кстати как я понял ntpdate -q 2.ru.pool.ntp.org выдаёт все доступные сервера в пуле. их мало, но может она меняет наборы. не важно.

 

# ntpdate -q 2.ru.pool.ntp.org
server 85.21.78.91, stratum 2, offset -0.014997, delay 0.02965
server 89.169.75.105, stratum 2, offset -0.015145, delay 0.02985
server 37.235.209.151, stratum 2, offset -0.014929, delay 0.04074
server 62.33.136.11, stratum 1, offset -0.014675, delay 0.03006
 8 Nov 07:12:16 ntpdate[4406]: adjust time server 62.33.136.11 offset -0.014675 sec
avatar

ПBМ, может виртуалка добавляет проблем в этот коктейль?

Сейчас в России 61 активный сервер.

https://www.ntppool.org/zone/ru

In most cases it's best to use pool.ntp.org to find an NTP server (or 0.pool.ntp.org, 1.pool.ntp.org, etc if you need multiple server names). The system will try finding the closest available servers for you. If you distribute software or equipment that uses NTP, please see our information for vendors.

Тарас Громницкий, да мне когда локалка «убегает» вперед на 1-2 секунды от биржи не принципиально, главное, чтобы не больше и не отставала. А в 22-24 на домашнем компе с хр это происходит часто, несмотря на синхронизацию (смена vniiftri.ru на nist.gov и обратно не помогает). С 10 до 22 вроде все как надо.
avatar

А. Г., у меня примерно то же самое.

Раз в час синхронизирую время своей программой и этой точности за глаза.

2х секунд точно не набегает.

Тарас Громницкий, есть подозрение что за ночь из-за еже часных синхронизаций меня забанили на time-v.nist.gov
avatar
более-менее точно свое время можно проверить здесь - https://time.is/
На рабочих станциях я синхронизирую время раз в час ( за час убегают примерно на 50мс) на VPS'ах синхронизирую раз в 15 минут(убегают еще больше). Чтобы проверить, насколько вообще пригоден конкретный VPS для роботов, использую старинную программку dpclat.
avatar
Если не секрет — зачем именно время брокера, а не биржи?
avatar
Максим, из допущения что это плюс минус одно и тоже
avatar
ПBМ, тогда тут есть два айпишника www.moex.com/s2116 но с них время выдаётся тоже в пределах погрешности остальных ntp-серваков.
avatar
Максим, 
о с них время выдаётся тоже в пределах погрешности остальных ntp-серваков.
это через инет наверное? Они там прямым текстом пишут — что через инет это ненормально.
avatar
Андрей К, там немного не так написано. Тем не менее, сдаётся мне, что если нужна мега-синхронизация с биржей, то явно стоит задача, которая может быть решена только на машине рядом с самой биржей. А значит оговорка про инет неприменима.

Зачем при торговле через инет знать время биржи мне не очень понятно.
avatar
Андрей К, там написано что это через VPN и колокацию. и то и другое стоит денег. т.е. через инет простым смертным бесплатно НЕ доступно.
avatar
у меня разница в 30-40 сек. синхронизация раз месяц.
avatar

Было давно, правда: Синхронизация времени компьютера с серверами времени, https://smart-lab.ru/blog/266498.php
avatar
ПBМ, Не подскажите, 'Открытие' + 'Quik' — можно ли отключить необходимость ввода пин кода из SMS? Техподдержка пока игнорирует вопрос. По поводу точного времени — Фортс раньше вроде бы синхронизировался со временем GPS.
avatar
Юрий Ч., у меня пин-код спрашивает когда к новому серваку подключается. В итоге поставил галку «Бла-бла-бла использовать параметры последнего соединения» в настройках соединений.
avatar
Максим, Спасибо, интересная информация. У меня всё время спрашивало на одном и том же сервере 195.128.79.55. Попробую на других.
avatar
Юрий Ч., Если в ЛК нет возможности отключить пин код из SMS, то надо сгенерировать новые ключи, чтобы эта возможность появилась. Раньше было так.
avatar
WildTrader, И вам спасибо, интересная информация. Я как раз ключи сгенерировал на днях, до этого ключей не было, использовал только MT5. И я осматривал всё в ЛК, на предмет как отключить этот пин, но ничего не нашёл. Надо будет в другом браузере попробовать открыть ЛК…
avatar
Юрий Ч., у меня квик на стационарной машинке бесшумной, которая работает круглосуточно.
1 раз подключается к квику, ввожу пин, если надо.
потом по утрам отключается и подключается снова уже без пина.
если приходт смс с пином, тогда приходится бросать все дела и вводить этот самый пин удалённо.
других решений не искал. 
avatar
Наткнулся когда-то на статью с хабра, где описывается получение точного времени на ПК с помощью GPS-приемника: статья
avatar
а зачем синхронизировать время сервера в квике со своим локальным?  что это вам даёт, как используете? 
avatar
Igr, конечно, гораздо важнее задержки в тракте передачи от биржи через брокера и QUIK до скрипта (если робот) или глаз-рук трейдера и обратно. Там есть свои нюансы, с буферизацией, например, или разными логическими каналами доставки, типа Таблицы всех сделок, Таблицы текущих торгов, обновления свечек, ...
Это отдельная тема для исследования и там есть свои сюрпризы. Она может быть малоинтересна тем, кто работает на часовиках или дневках, но важна при работе на малых ТФ. 

P.S. Речь об обычном домашнем ПК.

Igr, на самом деле необходимости в суперточном времени нет.

Или я не вижу.

HFT на домашних компах не запускаются, а для остального погрешности в секунду-полторы достаточно.

К примеру, можно использовать время, чтобы понять когда тот или иной бар подходит к концу.

При этом для формирования самих баров это не нужно.

Достаточно времени, которое приходит вместе с тиком.

Тарас Громницкий, почему на домашних не запускаются?  не думаю что обычный комп долго считает 
avatar

Igr, потому что в HFT важны микросекунды и ниже.

Даже длина кабеля является конкурентным фактором.

Такие вещи строятся на ПЛИС микросхемах и втыкаются как можно ближе к ядру биржи.

HFT — это область борьбы технологий, а потому и крупных вложений.

Тарас Громницкий, ну вот именно, важнее всего связь, скорость передачи, а сам алгоритм думаю легко и обычный комп просчитает меньше чем в миллисекунду 
avatar

Igr, «а сам алгоритм думаю легко и обычный комп просчитает меньше чем в миллисекунду».

А вот это не совсем верно. У меня очень тяжелые алгоритмы, это отчасти ограничивает мои возможности.

 

 

Борис Гудылин, и сколько времени уходит на подсчёт?
avatar
Igr, могу лишь сказать, что у меня хороший выбор алгоритмов различной мощности. У некоторых есть зависимость от размера обсчитываемых временных рядов.
Борис Гудылин, ну так и сколько времени уходит у робота на принятие решения, вот получил он цену, через какое время примет решение покупать продавать?  максимум минимум
avatar
Igr, «Подберу то, что впишется в эти рамки». 

На принятие решения отводится около 1 сек. Такие варианты у меня есть — это основные варианты. Облегченные (слабые) практически не требуют времени, самым сильным требуются минуты — их время еще не пришло, ждут оптимизации.

Немного информации к размышлению, на примере SiZ8. 
В средний день, как сегодня, с округлениями, ориентировочно и усредненно.
Сделок — 500 в минуту.
Обновлений свечек (то, что QUIK асинхронно вбрасывает в LUA-скрипт робота по SetUpdateCallback) — 100 в минуту.
Из них «полезных», прошедших мои фильтры — 10 в минуту. Вот на них мне и надо реагировать.

Цена находится на локальном экстремуме (ТФ=М1) примерно 1-2 секунды.
Борис Гудылин, 
У некоторых есть зависимость от размера обсчитываемых временных рядов
получается, у ваших алгоритмов есть зависимость от способа разбивки на свечи и выбранного таймфрейма? Или вне зависимости от этого у вас вычисляется одна и та же величина, просто при использовании 60 минутных свеч вместо одной часовой результат выходит точнее?
avatar
Искатель, не стоит искать что-то необычное в моих словах.
Чем больше свечек, тем дольше работают алгоритмы, но у некоторых алгоритмов эта зависимость слабая, а у некоторых очень сильная. Алгоритмы работают одинаково на всех ТФ.

Хочется рассмотреть детали, повысить точность — уходим на меньшие ТФ (фрактальность это и предполагает), но и временной горизонт обзора уменьшаем. Видел исследования, где считали оптимальным количеством свечек для анализа в подобных ситуациях, если правильно помню, около 150. Очень похоже на правду. Малое количество свечек (1-2-3-4-5) несет слишком мало информации, чтобы сделать уверенные выводы. При большом количестве свечек (тысячи) дальние свечки с такого расстояния начинают «сливаться», снижается чувствительность.
Чем-то напоминает оптимальное значение плотности записи информации в позиционных системах счисления или оптимальное разбиение большой программы на части для уменьшения потенциального количества ошибок.

Igr, не посчитает.

Посмотрите что такое ПЛИС.

Плюс операционная система.

Плюс интерфейсы через которые комп будет посылать сигнал.

Плюс оборудование сети.

Всё это создаст дикую по меркам HFT задержку.

В этой области конкурируют большие деньги, причём постоянно.

Залив несколько миллионов долларов в оборудование можно оставаться наверху не так долго.

До того момента пока кто-то не вложит больше.

В общем сфера крайне дорогая и очень конкурентная.

конфиденциальная информация

Такая информация не может быть конфиденциальной. Они дурят Вам голову. Сам пользуюсь синхронизацией через nist.gov, каждые пол часа.
avatar
PS: если у вас тормозит тёмная тема, ставьте обновление Windows 10 1803, сборка 17134.376 и будет вам счастие.

В какой версии терминала QUIK темная тема тормозит?
Как это отражается на торговле? Тормозит только интерфейс? Тормозов в LUA-скриптах не наблюдается?

Что говорит на этот счет поддержка за исключением обновления винды?
avatar

теги блога П М

....все тэги



UPDONW
Новый дизайн