Вот такой опыт. 1) Включаю Quik, дожидаюсь соединения. 2) В окне «Доступные скрипты QLua» прицеливаюсь на самодельный скрипт купли. 3) Отрываю провод интернета и запускаю скрипт. 4) Через 20 сек Quik индицирует потерю связи с брокером. 5) Даже через 120 сек без связи в Quik'е нет срабатывания OntTransReply(), объясняющего, почему заявка на куплю не прошла.
Но я сам с усам. В скрипте я не полагаюсь на тугодумную QLua-функцию isConnected(), но слежу за временем получения последней записи = getInfoParam («LASTRECORDTIME»). И на момент проверки перед подачей заявки оказывается:
checkTm = 13:11:26; serverTm = 13:11:27; recordTm = 13:11:21; conn = false
Т.е. последняя запись от брокера получена за 5 сек до проверки. А т.к. в «Основных настройках» я задал «Запрашивать данные раз в 1 сек», это значит что связи с брокером нет.
В данной ситуации моему роботу повезло. Но к сожалению, реально отслеживать потерю связи таким методом можно с точностью около 2 сек. Может оказаться, что потеря связи будет обнаружена роботом ПОСЛЕ подачи заявки или не обнаружена вообще, если связь восстановится через 1 сек после подачи заявки. Как должен реагировать робот на непоступление поданной заявки в таблицу заявок Quik'а?
Чтобы снизить вероятность таких ситуаций, можно сократить время неопределённости со связью, посылая на сервер перед подачей заявки ping по протоколу ICMP. У меня время RTT 11 мсек. Задав timeout в 5 раз больше, получаем сокращение времени неопределённости со связью до 0.05 сек.
Что думают робото-строители, будет ли им полезна моя библиотека .dll для QLua с проверкой связи через отправку ping по протоколу ICMP?
Остаётся неясной только такая редко наблюдаемая ситуация, когда брокер беспричинно отключается, а связь с интернетом безукоризненна. Будет ли после такого отказа сервер брокера отвечать на пинги?
В прошлых таких случаях у меня не хватило предусмотрительности это проверить. А по заказу такие ситуации не смоделировать.
Может кто-нибудь догадался вовремя проверить пингами забастовавший сервер брокера?
Причём пинговать надо не сайт брокера, но заранее записанный IP-адрес, который в Quik'e виден только при подключении к серверу брокера.
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО "АЗЮ" подтвержден ВВ.ru, ПР-Лизинг подтвержден ru.BBB+, АО "ГЛАВСНАБ" понижен C.ru, АО "Нэппи Клаб" присвоен статус "под наблюдением)
🟢ООО «Агро Зерно Юг» НКР подтвердило кредитный рейтинг на уровне BB.ru ООО «Агро Зерно Юг» — один из крупных российских экспортёров растениеводческой продукции. Компания поставляет пшеничные...
ByteDog — нейросеть от Positive Technologies для поиска вирусов
Мы разработали собственную нейросеть, которая находит вирусы на 20% точнее, чем классические модели машинного обучения.
Она построена на архитектуре трансформеров — той же, что используют...
ЮМГ МСФО 2025 г. - чистая денежная позиция превратилась в чистый долг
Компания Юнайтед медикал групп опубликовала финансовые результаты за 2025 год. Выручка компании за год выросла на 14,1% до 289,5 млн евро. В рублях рост составил +9,8% до 27,3 млрд руб. Во 2-м...
X5 операционные результаты 1 кв. 2026 г. - рост выручки ниже прогноза
X5 опубликовала операционные результаты за 1 квартал 2026 года. Выручка выросла на 11,3% до 1,19 трлн рублей. Сопоставимая выручка прибавила 6,1% при росте среднего чека на 7,9% и падении...
Как забрать $350 за 5 дней на Биткоине, не покупая его? Кейс про «Тихую охоту» и распад времени. ⚓️ Автор: Вася Опционщик (Options_Admiral)
Суть идеи (реализована 11 апреля): На фоне высокой вола...
Друзья мои! Спешу вас немного удивить, а если точнее — то просто ошарашить: Лядов этот (который подешевке остатки КЭСовского имущества приобрел), кроме того что он обычный «случайный» гражданин, оказа...
Alexander, при такой ставке там ничего искусственно обесценивать не надо. Ставка существенно ниже реальной инфляции. Не может быть стабильной валюты при таком подходе. Это странно, что она обесцени...
Но я сам с усам. В скрипте я не полагаюсь на тугодумную QLua-функцию isConnected(), но слежу за временем получения последней записи = getInfoParam («LASTRECORDTIME»). И на момент проверки перед подачей заявки оказывается:
checkTm = 13:11:26; serverTm = 13:11:27; recordTm = 13:11:21; conn = false
Т.е. последняя запись от брокера получена за 5 сек до проверки. А т.к. в «Основных настройках» я задал «Запрашивать данные раз в 1 сек», это значит что связи с брокером нет.
В данной ситуации моему роботу повезло. Но к сожалению, реально отслеживать потерю связи таким методом можно с точностью около 2 сек. Может оказаться, что потеря связи будет обнаружена роботом ПОСЛЕ подачи заявки или не обнаружена вообще, если связь восстановится через 1 сек после подачи заявки. Как должен реагировать робот на непоступление поданной заявки в таблицу заявок Quik'а?
Чтобы снизить вероятность таких ситуаций, можно сократить время неопределённости со связью, посылая на сервер перед подачей заявки ping по протоколу ICMP. У меня время RTT 11 мсек. Задав timeout в 5 раз больше, получаем сокращение времени неопределённости со связью до 0.05 сек.
Что думают робото-строители, будет ли им полезна моя библиотека .dll для QLua с проверкой связи через отправку ping по протоколу ICMP?
В прошлых таких случаях у меня не хватило предусмотрительности это проверить. А по заказу такие ситуации не смоделировать.
Может кто-нибудь догадался вовремя проверить пингами забастовавший сервер брокера?
Причём пинговать надо не сайт брокера, но заранее записанный IP-адрес, который в Quik'e виден только при подключении к серверу брокера.
А зачем вам это ?
Если нужно знать доступен ли интернет, то пингуйте google или yandex.
Если заявка не прошла, то повторяйте через некоторые промежутки времени.
Восстановление связи оставьте Квику.
Там эта настройка имеется.
Он сам умеет проверять связь с брокером и восстанавливать обрыв.