Вот такой опыт. 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 виден только при подключении к серверу брокера.
Нефть у месячных минимумов: рынки осторожно верят в деэскалацию вокруг Ирана
Доходности казначейских облигаций США снизились, доллар откатился, а нефтяные котировки в четверг опустились до месячного минимума после сообщений о том, что США и Иран предварительно согласовали...
Чистая прибыль ПАО «ЭсЭфАй» по МСФО за I квартал 2026 года составила 0,5 млрд руб.
Инвестиционный холдинг SFI — ПАО «ЭсЭфАй» (MOEX: SFIN) — опубликовал сокращенную промежуточную консолидированную финансовую отчетность по МСФО за три месяца, завершившихся 31 марта 2026 года. По...
Маржинальная торговля на финансовом рынке, которая предполагает использование заемных средств или ценных бумаг, предоставляемых брокером, проще говоря кредитного плеча, — востребованный...
Да 66 это просто идеальная цена для получения дивиденда — допка будет уже в цене и дивиденд в цене. Очень выгодно по такой цене купить если дадут. Осталось то 15% и всё цена покупок подъехала.
Нагибайся ЕС🌈 , открывай свои дырки шире для закачки: сужение спредов природного газа и отчет EIA открывают дорогу к $3.40 Мировые энергетические рынки остаются сильно разорванными. Азиатский маркер J...
Баффета ради, вы что тут развели?
Хотите участвовать в этом казино — покупайте, не хоте — продавайте. Если хотите найти рецепт пирожков или инфу *как засудить ЕТ* — киньте запрос в нейронку (рекомен...
EUR/USD готовится к сильному движению? Разбираю все сценарии. EUR/USD продолжает двигаться в длительной консолидации, и сейчас рынок находится в точке, где дальнейшее направление может определиться уж...
это что должно было произойти что бы прибыль с 47,7 млр упала до 221 млн рублей, падение в 215 раз, это как будто зарплата была 47700руб, а стала 221руб))) это ж сколько тогда должна стоить акция 27 р...
YgrOK, я не знаю что у вас за реальность и что вы видите. Меня пытаются убедить чтонужно сейчас сдать бумаги, а я объясняю почему мне это не нужно. Где убеждения кого-то вы заметили? Хотите шортите...
Но я сам с усам. В скрипте я не полагаюсь на тугодумную 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.
Если заявка не прошла, то повторяйте через некоторые промежутки времени.
Восстановление связи оставьте Квику.
Там эта настройка имеется.
Он сам умеет проверять связь с брокером и восстанавливать обрыв.