Блог им. 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:
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО «Роял Капитал» понижен D|ru|, АО «ПЕРВОУРАЛЬСКБАНК» повышен BB+|ru|, ООО «Виллина» статус "под наблюдением)
🟢АО «ПЕРВОУРАЛЬСКБАНК» НРА повысило кредитный рейтинг до уровня «BB+|ru|» прогноз «стабильный». АО «ПЕРВОУРАЛЬСКБАНК» – региональная...
🤝Новые партнерства Софтлайн на ЦИПР-2026 и результаты конкурса лучших вопросов
На этой неделе SOFL принял участие в конференции «Цифровая индустрия промышленной России» – ЦИПР 2026. Группа активно выступала на экспертных...
МТС представила умеренно позитивные результаты по МСФО
Акции МТС в ходе торгов 22 мая в моменте росли на 2%, до 232,5 руб., при умеренном снижении на российских фондовых площадках в целом.Корпорация в...
Фото
Две новых инвест идеи на иксы у Элвиса в ПИФ Alenka Capital: подсвечиваем, пока горит
Продолжаем серию ежемесячных постов с отслеживанием покупок/продаж профессиональными управляющими. Особенно теми, кто управляет МИЛЛИАРДАМИ рублей...

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

....все тэги



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