Вы не можете снять данную заявку

Страницы: 1
RSS
Вы не можете снять данную заявку
 
Добрый день. Я новичок в программировании роботов. Прошу простить за, наверное, дилетантский вопрос. 18 марта во время высокой волатильности  в ответ на мои транзакции на снятие заявок QUIK стал присылать ответы "Вы не можете снять данную заявку", "Транзакция не прошла проверку лимитов сервера QUIK". Раньше подобные ответы приходили только, если заявка уже снята, но в этот раз заявки продолжали стоять в стакане. Почему такое происходит и есть ли какая-то рекомендация, как определить, снята всё-таки заявка или нет?
 
Максим Трейдер, добрый день.

Вероятно, транзакции на снятие этих заявок уже были выполнены торговой системой, но в своем терминале Вы еще не получили обновленные статусы заявок.
Рекомендуем проверить, используются ли в терминале оптимальные настройки.

При повторении такой ситуации рекомендуем обратиться к Вашему брокеру для ее дальнейшего изучения.
 
Anton Belonogov, Нет, транзакции на снятие заявок не были выполнены вообще. Заявки остались в стакане, и позднее заявки были исполнены.
 
Максим Трейдер,

В таком случае рекомендуем инициировать обращение брокера к нам по этому вопросу.
 
Anton Belonogov, брокер ответил, что это было ограничение общего характера и они разбираются с биржей по этому поводу. Мне всё-таки интересно, как понять, снята заявка после транзакции или нет. Только проверив её через getOrderByNumber? Или как-то ещё можно?
 
Максим Трейдер, добрый день.

Цитата
проверив её через getOrderByNumber
Это один из вариантов.
Можно также отслеживать callback'и OnOrder.

Необходимо проверять параметр flags:

бит 0 (0x1) - Заявка активна, иначе – не активна
бит 1 (0x2) - Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена
 
Anton Belonogov, В той ситуации, которую я описал, коллбэк OnOrder не приходит. С заявкой ведь не произошло ничего.
 
Максим Трейдер,

Все верно.
Отсутствие callback'а означает отсутствие изменений заявки, т.е актуальна информация из последнего полученного callback'а - это можно учитывать в логике скрипта.
Для повторной проверки, как Вы писали, можно вызвать getOrderByNumber.
 
Anton Belonogov, К сожалению, программа не может понять, что такое "отсутствие коллбэка". Может быть на данный момент он отсутствует, а в следующий момент придёт. Поэтому получается, что после получения OnTransReply невозможно чётко определить, что произошло с заявкой. Только проверить её с помощью getOrderByNumber, но это дополнительное время.
 
Максим Трейдер,

Отсутствие новых callback'ов означает, что актуальна информация в последнем полученном callback'е.
Т.е. программе известен актуальный статус заявки.
 
Цитата
Максим Трейдер написал:
Добрый день. Я новичок в программировании роботов. Прошу простить за, наверное, дилетантский вопрос. 18 марта во время высокой волатильности  в ответ на мои транзакции на снятие заявок QUIK стал присылать ответы "Вы не можете снять данную заявку", "Транзакция не прошла проверку лимитов сервера QUIK". Раньше подобные ответы приходили только, если заявка уже снята, но в этот раз заявки продолжали стоять в стакане. Почему такое происходит и есть ли какая-то рекомендация, как определить, снята всё-таки заявка или нет?
В данном сообщении указана причина, Транзакция не прошла проверку лимитов сервера QUIK".  
Вот это и является главным.
Но сделать анализ невозможно, так как нет содержимого транзакции.
 
nikolz, А что это значит "Транзакция не прошла проверку лимитов сервера QUIK"? О каких лимитах идёт речь?
 
Цитата
Максим Трейдер написал:
nikolz, А что это значит "Транзакция не прошла проверку лимитов сервера QUIK"? О каких лимитах идёт речь?
Это означает, что у вас не хватает средств для совершения данной транзакции.
Возможно вы пытались сделать сделку по рынку.
 
nikolz, нет, средств у меня хватало, и заявка была не по рынку. Брокер ответил, что было переполнение очередей со стороны биржи.
 
Anton Belonogov, Я так понимаю, что нужно совместить использование актуального статуса заявки с ответом OnTransReply, чтобы понять, произошло что-то с заявкой или нет. Тогда вопрос такой, может ли такое быть, что приходит OnTransReply и в нём статус транзакции не равен "3", но транзакция тем не менее выполнена? Если, к примеру, произошёл какой-то сбой в системе. Особенно это важно при создании заявок.
Страницы: 1
Читают тему
Наверх