Вот такой опыт. 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 виден только при подключении к серверу брокера.
Наверно, нефть не самый популярный актив для торговли, если речь о российских частных инвесторах. Но как пример – пригодится. Конфликт на Ближнем Востоке в одночасье отправил нефтяные...
USD/CHF: Доллар не тянет "долгую игру" — затяжная война гонит инвесторов в Альпы
После бурных выходных валютная пара USD/CHF показала рост на сигналах о том, что конфликт в Персидском заливе будет ограничен по времени. Однако сейчас, на фоне заявлений Трампа и Рубио об...
На процентах по вкладам все еще можно хорошо заработать
Средняя максимальная ставка по вкладам на срок от трех месяцев до полугода в топ-10 крупнейших банках ко 2 марта опустилась до 14,11% годовых, а по депозитам от года — до 12,72%. После снижения...
Дрейк, --
****-- Я. только информирую и смотрю с утра 4.03.2026г на график -золота Н1.… как ещё обьяснить Откат… в -Лонг?… Испания отказала США в предоставлении военных Баз ..? — Трамп уже все св...
❗️❗️Дом РФ – мощное начало года!
Банк, как в лучших корпоративных практиках, начал отчитываться ежемесячно.📊Результаты за январь 2026 года:✅Чистые процентные доходы выросли на 44% до 14,5 млрд р...
Витя
RuslanSmartLab2025, объявление в 25% прибыли равно 80р цена по акции. Откуда вы взяли 300р? Если они объявят такой низкий процент в этом год...
Booppa, вероятно 35 % тогда пойдёт на 110
...
В России могут ввести акциз на импортную сталь летом 2026 года, в качестве поддержки отечественных металлургов — ТАСС Власти рассматривают возможность введения акциза на импортную сталь уже летом 2026...
Ставки фрахта крупнотоннажных танкеров класса VLCC, перевозящих нефть с Ближнего Востока в Китай, в начале марта 2026 года выросли почти в два раза на фоне конфликта на Ближнем Востоке — Ведомости Ста...
Но я сам с усам. В скрипте я не полагаюсь на тугодумную 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.
Если заявка не прошла, то повторяйте через некоторые промежутки времени.
Восстановление связи оставьте Квику.
Там эта настройка имеется.
Он сам умеет проверять связь с брокером и восстанавливать обрыв.