Попал я тут в адскую канитель с тормозами чёрной темы в квике, в результате чего обновил несколько драйверов, переписал немного робота и вообще
зае.. провёл много исследований.
В результате проблема с тормозами вроде как ушла, но пришла новая беда: время сервера в квике стало отставать от моего локального на 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? Алилуйя, восславим господа нашего.
Не знаю с кем синхронятся сервера Квик, но лично я использую пул pool.ntp.org.
Синхронизирую время на компе своим скриптом и юзаю в некоторых роботах.
Сейчас проверю https://time100.ru/
По их данным мои часы спешат на 1.01 секунды.
Это чистейший буллшит, ибо только что синхронизировался.
А ещё этот сайт время от времени не отвечает.
Так что не верил бы ему.
2,4 секунды.
то кто-то из этих двоих врёт, либо nist.gov, либо pool.org
с учётом того что задача не быть правым, а просто идти в ногу с квиком, выбор очевидный..
у прошлого брокера я тоже time-b.nist.gov использовал и было норм.
А про инет, я подозреваю может случиться так, что нужно и подольше. То есть разовой сверки часов через сеть Инет, может не дать вообще результата.
Под виндой мне кажется с этим вообще тяжко.
Тут набор их серверов
vniiftri.ru/ru/uslugi-serverov
С трёх серваков время в пределах погрешности приходит.
2.ru.pool.ntp.org
и kkursor.ru
что скажет?
хотя у меня самого докер есть, чего я жду
но через 5 минут расхождение может вырасти до секунд.
Сообщение Windows об успешной синхронизации
может не соответствовать действительности.
Стандартная Windows - не система реального времени.
Можно поискать расширения (за деньги), очень-очень давно я работал с такими (на других платформах).
Но можно попробовать не полагаться всерьез на локальное время, только как на вспомогательное, ориентировочное.
Мало синхронизоваться точно и часто. Windows, возможно, не сможет (не обязан — не система реального времени) удержать точное локальное время — зависит от специфики нагрузки. Пересмотреть использование всего, что может работать на уровне ядра — антивирусы, файерволы в первую очередь, какие-то системные службы, часто активизируются в неудобное время. Возможно дисковый ввод/вывод минимизировать.
У меня система откровенно перегружена, есть резерв.
P.S. Речь об обычном домашнем ПК.
Борис Гудылин, время находится значительно ниже операционной системы.
Это отдельное аппаратное устройство.
После того, как ему задано время оно работает автономно и питается от батарейки на материнской плате.
Поэтому антивирусы, фаерволлы и прочее на него никак не влияют.
Считывание времени с этого устройства в операционной системе также происходит ниже работающего программного обеспечения.
Где-то около ядра.
Тогда Вам придется объяснить плавание локального времени.
Оставим стабильность кварца в покое.
Борис Гудылин, именно в кварце дело.
Плюс таймауты чтения данных с этого кварца операционной системой.
Плюс отдельный вопрос о том, как вы фиксируете это плавание.
Там тоже есть задержки, причём не самые точные.
Сначала было «значительно ниже операционной системы», а пришли к «чтения данных с этого кварца операционной системой».
Нет смысла спорить, остаемся каждый при своем мнении. Продолжаем следить за кривым локальным временем и просто принимаем это во внимание.
Борис Гудылин, есть понятие прерывания и тика операционной системы.
Для наших задач ими можно пренебречь.
Гораздо большие ошибки возникают при измерении плавания.
Весь косяк как раз в методе измерения.
По сути измерители путают сами себя.
А реальная картина гораздо лучше и «плавание» пренебрежимо мало.
Касательно «значительно ниже операционной системы» имелось в виду, что ОС построена над этим модулем.
Что в свою очередь значит, что время — это самостоятельный/независимый элемент относительно ОС.Борис Гудылин, вот и чудно.
Значит вы правильно поняли написанное выше.
Я учитываю, что нас читают и другие участники дискуссии.
И поэтому, отвечая вам, даю сравнительно развёрнутые ответы.
Я думаю, что акценты в своих комментариях, не опускаясь до излишней детализации, я расставил правильно.
А. Г., засинхронился с одним из ваших серверов.
По данным https://time100.ru/ моё время спешит на 0.86 сек.
Почти уверен, что https://time100.ru/ гонит.
возможно зависит как часто сами time100 синхронизируются.
вчера он говорил что у меня точное время на обоих часах
по-поводу pool.ntp.org
я вчера посмотрел куда он у меня ресолвится, понятно что всё время на разные сервера, хотя есть определённое «прилипание», может минут на 5, не знаю.
но вчера он ресолвился как kkusror.ru, что похоже на обычный персональный сайт. вряд ли он может являться источником точного времени, скорее ретранслирует откуда-то ещё.
вобщем как минимум в 2.ru.pool.ntp.org я крепко засомневался.
ПBМ, правильно, что он резолвит на разные адреса.
Это пул с балансировкой нагрузки.
Что очень правильно.
При чём тут kkuror.ru вообще не ясно.
Сам сервис довольно серьёзный https://www.pool.ntp.org/ru/
https://www.ntppool.org/zone/ru
ПBМ, выше мой комментарий, где я синхронизировался с серверами, которые предложил А.Г.
По итогу вышло, что с pool.ntp.org почти идентичное время, а с time100.ru расхождение на секунду.
Поэтому лично я сомневаюсь в time100.ru.
Обратите внимание, что у них рекламный баннер прямо по центру.
Внизу вакансия.
Посмотрите на требования к разработчику.
На мой скромный взгляд не очень похоже на серьёзную организацию.
Больше смахивает на шаражку с арендованным офисом из одной комнаты.
тоже самое мне сказала time100.ru
про ntpdate я не понял, почему при последовательных вызовах она мне показывает расхождение 0.64, решил что может быть она не изменяет дату если расхождене меньше секунды? (что странно)
вручную изменил время через powershell
set-date (get-date).AddMilliseconds(-640)
time100 сразу показал что расхождения нет
ntpdate -q time-b.nist.gov
тоже теперь говорит что расхождение 1 миллисекунда
и посмотрим какое расхождение с утра получится в квике.
ПBМ, вот тут врать не буду, потому как не знаю.
ntpdate — это ведь утилита для nix систем, а я в основном на windows.
Тарас Громницкий, я тоже на windows, но пользуюсь докером, грубо говоря виртуалкой линукс.
в нынешние времена всё сильно упростилось, с приходом Hyper-v
кстати как я понял ntpdate -q 2.ru.pool.ntp.org выдаёт все доступные сервера в пуле. их мало, но может она меняет наборы. не важно.
П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.
А. Г., у меня примерно то же самое.
Раз в час синхронизирую время своей программой и этой точности за глаза.
2х секунд точно не набегает.
На рабочих станциях я синхронизирую время раз в час ( за час убегают примерно на 50мс) на VPS'ах синхронизирую раз в 15 минут(убегают еще больше). Чтобы проверить, насколько вообще пригоден конкретный VPS для роботов, использую старинную программку dpclat.
Зачем при торговле через инет знать время биржи мне не очень понятно.
Было давно, правда: Синхронизация времени компьютера с серверами времени, https://smart-lab.ru/blog/266498.php
1 раз подключается к квику, ввожу пин, если надо.
потом по утрам отключается и подключается снова уже без пина.
если приходт смс с пином, тогда приходится бросать все дела и вводить этот самый пин удалённо.
других решений не искал.
Это отдельная тема для исследования и там есть свои сюрпризы. Она может быть малоинтересна тем, кто работает на часовиках или дневках, но важна при работе на малых ТФ.
P.S. Речь об обычном домашнем ПК.
Igr, на самом деле необходимости в суперточном времени нет.
Или я не вижу.
HFT на домашних компах не запускаются, а для остального погрешности в секунду-полторы достаточно.
К примеру, можно использовать время, чтобы понять когда тот или иной бар подходит к концу.
При этом для формирования самих баров это не нужно.
Достаточно времени, которое приходит вместе с тиком.
Igr, потому что в HFT важны микросекунды и ниже.
Даже длина кабеля является конкурентным фактором.
Такие вещи строятся на ПЛИС микросхемах и втыкаются как можно ближе к ядру биржи.
HFT — это область борьбы технологий, а потому и крупных вложений.
Igr, «а сам алгоритм думаю легко и обычный комп просчитает меньше чем в миллисекунду».
А вот это не совсем верно. У меня очень тяжелые алгоритмы, это отчасти ограничивает мои возможности.
На принятие решения отводится около 1 сек. Такие варианты у меня есть — это основные варианты. Облегченные (слабые) практически не требуют времени, самым сильным требуются минуты — их время еще не пришло, ждут оптимизации.
Немного информации к размышлению, на примере SiZ8.
В средний день, как сегодня, с округлениями, ориентировочно и усредненно.
Сделок — 500 в минуту.
Обновлений свечек (то, что QUIK асинхронно вбрасывает в LUA-скрипт робота по SetUpdateCallback) — 100 в минуту.
Из них «полезных», прошедших мои фильтры — 10 в минуту. Вот на них мне и надо реагировать.
Цена находится на локальном экстремуме (ТФ=М1) примерно 1-2 секунды.
Чем больше свечек, тем дольше работают алгоритмы, но у некоторых алгоритмов эта зависимость слабая, а у некоторых очень сильная. Алгоритмы работают одинаково на всех ТФ.
Хочется рассмотреть детали, повысить точность — уходим на меньшие ТФ (фрактальность это и предполагает), но и временной горизонт обзора уменьшаем. Видел исследования, где считали оптимальным количеством свечек для анализа в подобных ситуациях, если правильно помню, около 150. Очень похоже на правду. Малое количество свечек (1-2-3-4-5) несет слишком мало информации, чтобы сделать уверенные выводы. При большом количестве свечек (тысячи) дальние свечки с такого расстояния начинают «сливаться», снижается чувствительность.
Чем-то напоминает оптимальное значение плотности записи информации в позиционных системах счисления или оптимальное разбиение большой программы на части для уменьшения потенциального количества ошибок.
Igr, не посчитает.
Посмотрите что такое ПЛИС.
Плюс операционная система.
Плюс интерфейсы через которые комп будет посылать сигнал.
Плюс оборудование сети.
Всё это создаст дикую по меркам HFT задержку.
В этой области конкурируют большие деньги, причём постоянно.
Залив несколько миллионов долларов в оборудование можно оставаться наверху не так долго.
До того момента пока кто-то не вложит больше.
В общем сфера крайне дорогая и очень конкурентная.
Такая информация не может быть конфиденциальной. Они дурят Вам голову. Сам пользуюсь синхронизацией через nist.gov, каждые пол часа.
В какой версии терминала QUIK темная тема тормозит?
Как это отражается на торговле? Тормозит только интерфейс? Тормозов в LUA-скриптах не наблюдается?
Что говорит на этот счет поддержка за исключением обновления винды?