Вопрос о стандартных задержках в обновлении данных 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, ну то что на сверхскорости рассчитывать не приходится — это понятно. Про минимальное время — тоже.
А вот что там с верхними пределами?
И где ловить исполнение ордеров?
«Чёрное золото» в очередной раз ударилось о «бетонную стену» линии нисходящего тренда, а также пробитой нижней границы небольшого треугольника. Покупатели раз за разом бьются в закрытую дверь, но...
В сегодняшнем посте попробуем ретроспективно оценить ралли на рынке платиноидов и выявить причины роста спроса на эти металлы за последние 5 лет – например, на платину цены выросли более чем в 2...
Итоги OsEngine 2025 года и планы на 2026. Новогодний выпуск
В этом видео подведём итоги работы над OsEngine в 2025 году и расскажем о том, что ждёт проект дальше.
Сделано было многое, но мы пройдёмся по основным моментам и обозначим вектор развития на...
По словам Родригес, Каракас считает приоритетной задачей «построение сбалансированных и уважительных отношений» с США, а также со странами региона.
А как же гойда?
Нефть,Мадуро,Венесуэла,США, Раз уж начало горячей фазы конфликта в Венесуэле выпало аккурат на январские праздники, то делать нечего, надо оформить несколько тезисов.
Тейк номер 1. США действуют пол...
💰Можно ли добиться успеха в инвестициях, сберегая деньги на вкладах? В инвест-сообществе почему-то принято считать, что банковские депозиты — это удел финансово не очень грамотных людей и мнительных п...
Россети Центр и Приволжье в 2025 году: устойчивый рост и дивиденды на фоне индексации тарифов ⚡ Отчетность ключевого оператора распределительных сетей за девять месяцев 2025 года подтверждает статус к...
В ЧЁМ СМЫСЛ существования ОФЗ 26231 с годовым купоном 2,5 рубля?! вот этих: https://smart-lab.ru/q/bonds/SU26231RMFS9/ ... Если кто знает СМЫСЛ существования их, откройте пожалуйста смысл! огласите......
Президент «АвтоВАЗа» назвал маловероятным возвращение Renault и Nissan Чем больше времени проходит от февраля 2022 г., тем меньше вероятность того, что французский автоконцерн Renault и японский автоп...
Президент «АвтоВАЗа» назвал маловероятным возвращение Renault и Nissan Чем больше времени проходит от февраля 2022 г., тем меньше вероятность того, что французский автоконцерн Renault и японский автоп...
А вот что там с верхними пределами?
И где ловить исполнение ордеров?