Блог им. asytyi

Quik: отлавливаем заявки на скорость с помощью Lua и колбэков

    • 08 октября 2021, 22:15
    • |
    • FatCat
  • Еще

Строя автоматизированную торговлю на базе Квик, нет-нет да и столкнёшься с ситуацией, когда отправленная заявка исполняется совсем не так быстро как хотелось бы. Удивляться тут нечему, производительность квиковских серверов брокера не резиновая, на всплесках нагрузки могут изрядно подтупливать. Что с этим делать?
Запилить торговую систему через прямое подключение к бирже задача совсем другого уровня сложности по сравнению с демократичным Квиком со встроенным языком Lua. Что же, будем выкручиваться с имеющимся инструментарием.

Для получения информации о выставлении или перестановке заявки можно использовать колбэки OnTransReply (со значением поля status = 3) или OnOrder. Сильно ли они отличаются между собой по скорости? Для ответа на этот вопрос я прикрутил логгирование задержек срабатывания этих колбэков от момента вызова функции отправки заявки на сервер до срабатывания соответствующего колбэка. Логгирование выполнялось на дельтахеджере и опционном котировщике. Данные собирались в течение месяца не первом сервере в Открывашке, сам Квик работал на VDS-хостинге.

Результаты замера можно посмотреть на графике. Каждая точка — это одна заявка на выставление, перестановку или снятие приказа в координатах задержек OnTransReply и OnOrder.
Quik: отлавливаем заявки на скорость с помощью Lua и колбэков


Что же, OnTransReply вполне достоин более блестящей медальки по сравнению с OnOrder :

  1. В диапазоне задержек срабатывания OnOrder до одной секунды OnTransReply показывает существенно более быструю реакцию
  2. С увеличением задержки отличие становится не столь существенным, тупят оба колбэка
  3. Лучик света — один OnTransReply, прилетевший на порядки быстрее залипшего почти на 20 секунд OnOrder
  4. Несколько занятных глитчей, когда OnOrder прилетал быстрее OnTransReply
 
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
2.8К | ★6
11 комментариев
А какой конфиг вдски?
Спасибо.
avatar
GoGo, 2x2.2ГГц, 2Гб RAM со средней загрузкой процессора в районе 3%
avatar
Когда-то я из Питера получал в Церих-кэпитале срабатывание OnTransReply — 100 мсек.
Но никакой медали OnTransReply не заслуживает, т.к. он всего лишь сообщает, что заявка отвергнута брокером или принята (например, поставлена в очередь на бирже).
А сигнал OnOrder по хэлпу Квика: «Функция вызывается терминалом QUIK при получении новой заявки или при изменении параметров существующей заявки» — это ни о чём. Внутренние дела между клиентом и брокером.
А вот сигнал OnTrade даёт полную информацию о выполнении заявки на бирже.
В Церихе я получал срабатывание OnTrade через 200 мсек после подачи заявки.
avatar
Rostislav Kudryashov, OnTransReply со статусом 3 уже содержит в order_num биржевой 19-ти значный номер заявки. Т.е. до биржи заявка долетела 
avatar
FatCat, Квик не даст снять заявку пока она не попадет в OnOrder() с нужным статусом. С перестановкой сработает?
avatar

Браво! Гениальный кот, который еще и переводится с английского, как «денежный мешок». Вы на верном пути, сэр! Мы тоже в Qlua...

Всем котам — срочно переходить на АЛГО-ТОРГОВЛЮ !!

avatar
Манул Кот, шлю тёплый кошачий привет! 
avatar
А гистограмму можно?
Пункт 3 — это крайняя правая точка? Подписи на осях перепутаны?

Как заказ данных делается — руками в настройках инструменты и параметры выбираются или по открытым таблицам? По идее куча лишнего может приходить, можно попробовать уменьшить поток ненужной инфы.
avatar
Максим, не, оси не перепутаны. У меня заказан минимум необходимых данных: несколько фьючей и несколько опционных серий. В плане быстродействия улучшение почувствовал только после отключения трансляции тиковых данных.



avatar
FatCat, ага, спасибо. Так а какие тогда параметры у крайней правой точки? Выглядит, будто OnTransReply=~20s и OnOrder=~0.1s

Другие сервера не пробовали? Я что-то разницы не заметил.
avatar
Максим, OnTransReply по красному пунктиру, OnOrder — по зелёному


avatar

Читайте на SMART-LAB:
🔥 Кредитный рейтинг Софтлайн от Эксперт РА повышен до категории «А»
Друзья, у нас отличные новости! Эксперт РА повысил кредитный рейтинг Софтлайн до уровня ruA- со стабильным прогнозом:...
Фото
RENI опубликовала Q&A звонка с инвесторами по итогам 1 кв. 2026 года
Ключевые вопросы касались роста рынка и компании, выплаты дивидендов. Приводим выдержки. Подробный документ вы можете найти на сайте RENI: –>...
Фото
ПСБ Финанс на Саммите МФО’2026
Завтра, 29 мая, директор по рискам ПСБ Финанс Тимофей Костин выступит на форуме о бизнесе и технологиях в микрофинансах. Саммит МФО —...
Фото
Газпром: EBITDA за 1-й квартал близка к 1 триллиону рублей, но акции дешевеют. Ормузский пролив не помог, смотрим отчет
Газпром отчитался по МСФО за 1-й квартал 👉 Выручка на уровне прошлого года (-0,3% г/г) 👉 Операционная прибыль +27,1% г/г...

теги блога FatCat

....все тэги



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