Вопрос о стандартных задержках в обновлении данных QUIK/QPILE
Хочу написать торгового робота на языке QPILE, но торговый алгоритм несколько критичен к системным задержкам и рассогласованиям.
(Не ХФТ, но нужно четко контролировать позиции по инструментам, активные и исполненные заявки, а так же совершенные сделки с наименьшими «тормозами»)
Подскажите, пожалуйста, какие задержки являются нормальными (понятно, что они всегда есть, интересуют их «обычные» величины — от… до… )
— между двумя последовательными итерациями скрипта (и что будет, если его зациклить на постоянный пересчет?) (1)
— между моментом передачи скриптом заявки на сервер и моментом получения ответа от сервера о результате (2)
— (приостанавливается ли выполнение скрипта до момента получения ответа от сервера)? (2, да)
— между моментом передачи скриптом заявки на сервер и моментом появления заявки в таблице заявок (т.е. моментом начала возможности проверять наличие и статус заявки в системе) (3)
— между моментом исполнения(удовлетворения) заявки на бирже и моментом изменения ее статуса на «исполнена» в таблице заявок (3)
— между моментом исполнения(удовлетворения) заявки на бирже и моментом ее появления в таблице сделок (3)
— между моментом исполнения(удовлетворения) заявки на бирже и моментом изменения позиции по счету, списания/начисления ГО и изм. прочих параметров. (речь идет о фьючерсных контрактах) в таблице позиций по клиентским счетам и таблице ограничений по клиентским счетам (3)
Возможны ли рассогласования в данных из разных источников? Например:
— заявка исполнена, в таблице заявок ее статус сменен, но в таблице сделок ее еще нет
— заявка исполнена, в таблице заявок ее статус сменен, но в таблице позиций позиция не изменилась
— и т.п.
Возможна ли ситуация, когда нарушается порядок заявок и сделок в таблицах? Например,
— отправил заявку1, потом заявку2 и заявку3, в таблице отображаются в порядке типа заявка1, заявка3, заявка2
— заявки исполнились в порядке заявка1, заявка2, заявка3, в таблице сделок отражается в порядке типа сделка1, сделка3, сделка2 (4)
По каким таблицам лучше контролировать свои заявки и позицию? (5)
Если на СмартЛабе (или где-то еще) есть что почитать на эту тему, буду признателен за ссылки.
ПС. Я в курсе, что СтокШарп — это хорошо, Купайл — плохо и т.п. Но вопрос именно про Купайл. ППС. Программист, но на Купайле пока не писал.
________________________
Ответы от Арки
1) Минимальный промежуток между итерациями = 1 сек.
Время расчета одного цикла = время работы самого портфеля + интервал между итерациями.
То есть, отсчет интервала, начинается как только портфель закончил работать а не как только начал.
Если портфель зациклить то это будет одна итерация, которая никогда не кончится, соответственно интервал можно указать любым.
2) Есть минимальный промежуток, в течении которого портфель будет ждать ответ на транзакцию wait_timeout_for_replay (не менее 5 сек.) Это означает, что когда портфель отправит транзакцию, он будет ждать минимум 5 секунд пока не продолжит свою работу. Если он получит ответ раньше, то работа продолжится. Если по истечении этого времени, ответа об успешной отправке не будет, то в RESULT_EX вернется ошибка.
3) Это время целиком и полностью зависит от качества и скорости канала связи между Вами и брокером. Если связь хорошая и проблем со связью не наблюдается, то заявка появится за доли секунды. Точнее сказать не можем. Однако, есть нюанс, обновление данных по деньгам и бумагам (для фьючерсов позиции и ограничения) приоритетнее чем обновление таблиц с заявками и сделками. То есть деньги заблокируются под заявку на сотые доли быстрее чем появится запись о заявке.
4) Да такая ситуация возможна, но шансов ее возникновения практически нет. Зачастую такие ситуации проявляются при задержках на канале связи. Все зависит опять же от качества канала связи.
5) лимиты по деньгам и бумагам (для фьючерсов позиции и ограничения).
hush, ну то что на сверхскорости рассчитывать не приходится — это понятно. Про минимальное время — тоже.
А вот что там с верхними пределами?
И где ловить исполнение ордеров?
Рынок часто движется импульсами, и тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично подходят выходные дни. В конце недели разбираем самые заметные события и...
«Профи» из группы Займер окупил первый приобретенный портфель
Делимся новостями коллекторского агентства из группы Займер. КА «Профи» вышло на точку окупаемости по первому приобретенному портфелю. ⚡️ Для этого нашему агентству потребовалось всего 13 месяцев...
🧸 Как российский рынок акций проводит День медведя?
27 февраля — Международный день белого медведя. Мы заглянули в историю с момента появления праздника в 2008 году и вот что обнаружили. «Медведи» брали верх по итогам торговой сессии 27...
Оперативная заметка с полей облигационной конференции для клиентов Mozgovik Research
Доброго дня, уважаемые читатели Mozgovik Research.
Для вас хотел коротко и оперативно поделиться основными идеями, которые успел услышать на нашей конференции по облигациям.
Кого удалось...
01.03.2026 18:59:22
Трамп полагает, что операция против Ирана развивается по благоприятному сценарию
Вашингтон. 1 марта. ИНТЕРФАКС — Президент США Дональд Трамп заявил телеканалу CNBC, что в...
Ремора, возможно это поможет втб выплатить див который понравится минорам, но это ставка на неопределённость — инвесторов в такое не заманишь. Прекрасно в этой истории то что давление капитала очис...
karakara, это уже вопрос нравственный и уголовно-прлцессуальный ) в разрезе управления рисками, были стратегии
1.) «подбить убытки и продавать» (этл и чейчас актуально, просто убытки выше), 2.) р...
А вот что там с верхними пределами?
И где ловить исполнение ордеров?