Блог им. Sergey_gt

Робот под Quik

Робот под Quik

Задача, которая была поставлена показалась мне на первый взгляд достаточно тривиальной. Нужно было выставить заявки и по их исполнению пересчитать параметры и выставить новые. Все вроде просто. Но есть один нюанс, как в старом анекдоте. А как выяснилось позже нюансов очень много.Начну с того, что в процедуре getOrderByNumber  order_id нифига не order_id, а order_num   С нее, то все и началось :-)И так если задача стоит выставить одну заявку, то какие могут быть проблемы, допустим для пересекающихся средних или типа того, но если у нас массив заявок и исполнение каждой влечет за собой пересчет всего алгоритма. Если сравнивать Qpile и Lua то, помимо всего прочего здесь есть функции обратного вызова, которые сулят много всяких вкусностей: таких как событийное исполнение наших процедур. Но в тот же момент могут создать своеобразную многопоточность.А здесь по подробней.Есть OnOrder,OnTransReply, OnTrade именно в таком порядке их срабатывание мне кажется логичным(в документации не указана их последовательность). Честно говоря, на это я убил целую неделю. Эти функции выполняются в другом порядке. Они мне были нужны для того, что бы ухватиться за отправленную заявку. У каждой заявки отправленной через Lua или Qpile есть id. Но нам интересен order_num. Это тот уникальный номер, который в системе присваивается каждой транзакции. По нему очень удобно следить за тем, что с ней происходит. Моя задача была найти в потоке транзакций мою и отследить ее состояние. В идеале мне хотелось получить ее номер на первой стадии, а в момент исполнения произвести ряд манипуляций, но есть нюанс :-) Во первых функции исполняются в последовательности OnTransReply, OnTrade, OnOrder.Функция OnTransReply(ответ терминала на транзакцию пользователя) может вернуть nil, а может вернуть нашу заветную цифру, как карта ляжет так в документации и написано :-). То есть рассчитывать не можем.OnTrade (получение сделки) вроде все сделка совершилась, а нихрена. Эта функция не отдает order_id. Получается, что только когда все произошло на функции OnOrder(получение новой заявки) у нас есть доступ к order_num и order_id для отслеживания транзакции.Еще конечно очень жаль, что при тестировании стратегий в Quik на демо счете вполне нормальным является отправка транзакции в течении 3мин-3часов. И вываливание различных ошибок:Communication gate is downНевозможно выполнение транзакций по классу «Фьючерсы FORTS». Шлюз с торговой системой недоступен.Error del.Trans:  Указанная транзакция по указанному классу не найдена: «SPBFUT».Net error: [10053] Software caused connection abortИ т.д. и т.п.В конечном итоге робот был передан заказчику и я рассчитываю что все ок.
Хотелось написать больше про написания робота, но сейчас уже ломы.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
473 | ★6
5 комментариев
Я тоже буду у Вас заказывать роботов..!!!!++++++++++++++
avatar
MasterDm, спасибо. Пишу также индикаторы. Обращайтесь.
avatar
Жалко заказчика… :)
avatar
Hedgehog, почему? Кстати, заметил что вы торгуете фигуры как и я. Я потерял свой торговый привод после поломки SSD и буду его в ближайшее время восстанавливать. И выставлю на продажу. Думаю он вам понравится.
avatar

Читайте на SMART-LAB:
Фото
В России хотят изменить правила страхования жилья от природных бедствий
Сейчас законопроект об обязательном страховании жилья от ЧС рассматривают Минфин, МЧС, Банк России и Всероссийский союз страховщиков. После...
Фото
От автопрома до инвестиционного портфеля
◻️ Платиноиды привычно ассоциируются с драгоценными украшениями . Однако главные сферы их применения лежат далеко за пределами витрин ювелирных...
Фото
Инфляция снова меняет правила игры для ФРС
Индекс доллара торгуется в плюсе четвертый день подряд находясь на максимуме двух недель. Сообщения о том, что встреча Трампа и Си прошла...
Фото
Хэдхантер. Отчет МСФО за Q1 2026г. Всё будет непросто…но…есть надежда.
Вышли финансовые результаты по МСФО за Q1 2026г. от компании Хэдхантер: 👉Выручка — 9,49 млрд руб. (-1,5% г/г) 👉Операционные расходы —...

теги блога Сергей o-s-a.net

....все тэги



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