Ошибка перестановки заявок

Страницы: 1
RSS
Ошибка перестановки заявок
 

Сегодня в колбек TRANS2QUIK_TRANSACTION_REPLY_CALLBACK пришло такое:  "Ошибка перестановки заявок. [GW][65] "Приостановка торгов во всех режимах и по всем инструментам данного БА.".

У меня вопрос, что в данном случае находится в параметре dwTransId?

Как следует из описания Quik API, в dwTransId будет содержаться номер зарегистрированной транзакции – это номер транзакции,  присвоенный заявке при отправке через TRANS2QUIK_SEND_ASYNC_TRANSACTION (TRANS2QUIK_SEND_SYNC_TRANSACTION), правильно?

Ну и чтобы два раза не вставать, как разработчиками Квика предлагается отслеживать эту ошибку?

 
deisik,  добрый день.

В параметре dwTransId функции TRANS2QUIK_TRANSACTION_REPLY_CALLBACK  передается идентификатор транзакции, на которую был получен ответ.
Номер заявки, если таковая зарегистрирована в торговой системе в результате выполнения транзакции, передается в параметре dOrderNum - можно для проверки успешности подачи заявки обращаться к этому значению.
 
Цитата
Anton Belonogov написал:
deisik,  добрый день.

В параметре dwTransId функции TRANS2QUIK_TRANSACTION_REPLY_CALLBACK  передается идентификатор транзакции, на которую был получен ответ.
Номер заявки, если таковая зарегистрирована в торговой системе в результате выполнения транзакции, передается в параметре dOrderNum - можно для проверки успешности подачи заявки обращаться к этому значению.

Как отслеживать ошибки (например, описанную выше приостановку торгов) в TRANS2QUIK_TRANSACTION_REPLY_CALLBACK? Если какая-нибудь подфункция, которую можно вызвать внутри TRANS2QUIK_TRANSACTION_REPLY_CALLBACK через дескриптор ответа на транзакцию, чтобы получить код ошибки?
 
Цитата
deisik написал:
Цитата
Anton Belonogov написал:
deisik ,  добрый день.

В параметре dwTransId функции TRANS2QUIK_TRANSACTION_REPLY_CALLBACK  передается идентификатор транзакции, на которую был получен ответ.
Номер заявки, если таковая зарегистрирована в торговой системе в результате выполнения транзакции, передается в параметре dOrderNum - можно для проверки успешности подачи заявки обращаться к этому значению.

Как отслеживать ошибки (например, описанную выше приостановку торгов) в TRANS2QUIK_TRANSACTION_REPLY_CALLBACK? Если какая-нибудь подфункция, которую можно вызвать внутри TRANS2QUIK_TRANSACTION_REPLY_CALLBACK через дескриптор ответа на транзакцию, чтобы получить код ошибки?
Если -> Есть ли
 
deisik, здравствуйте.

Статус выполнения транзакции передается в параметре nTransactionReplyCode. Ошибке выполнения транзакции, возникшей в торговой системе, соответствует статус "4", более подробное описание ошибки передается в lpstrTransactionReplyMessage.

С полным списком возможных статусов можно ознакомиться в Руководстве пользователя QUIK (Раздел 3. Просмотр информации / Таблица транзакций).
 
Еще вдогонку вопрос по этой же теме

Для чего нужен параметр nTransactionExtendedErrorCode (второй в колбеке TRANS2QUIK_TRANSACTION_REPLY_CALLBACK)? Согласно документации "в случае возникновения проблемы при выходе из функции обратного вызова в переменную может быть помещен расширенный код ошибки".

Что здесь понимается под "выходом из функции обратного вызова", и кто (что) помещает в эту переменную "расширенный код ошибки"? Если сам колбек, тогда почему в него передается значение, а не ссылка?
 
deisik,  добрый день.

nTransactionExtendedErrorCode передается в функции обратного вызова и может принимать значения:
1 - "Транзакция данного типа не поддерживается";
2 -  "В процессе отправки не удалось сформировать строку транзакции".

Расширенный код ошибки является технической информацией, в случае его появления необходимо обратиться в Техническую поддержку QUIK для анализа возникшей проблемы.
 
При перестановке заявок часто исполняется старая заявка и приходит сообщение "Не найдена активная заявка для перестановки". Это сообщение биржи, насколько я понимаю. Однако в этом случае в параметре nTransactionReplyCode возвращается значение 6 – "Транзакция не прошла проверку лимитов сервера QUIK"

О какой проверке лимитов сервера QUIK здесь идет речь и имеется ли вообще какая-нибудь взаимосвязь между статусами в nTransactionReplyCode и реальными ошибками, возвращаемыми биржей?
 
Дополню свой предыдущий вопрос

Одна и та же ошибка приходит с разными кодами:
"Не найдена активная заявка для перестановки" ошибка с кодом 6
"Ошибка перестановки заявок. [GW][50] "Не найдена заявка для перестановки." ошибка с кодом 4

Неужели так трудно добавить подфункцию в коллбеке TRANS2QUIK_TRANSACTION_REPLY_CALLBACK, чтобы получить код ошибки биржи?
 
deisik, добрый день.

Цитата
Одна и та же ошибка приходит с разными кодами:
"Не найдена активная заявка для перестановки" ошибка с кодом 6
"Ошибка перестановки заявок. [GW][50] "Не найдена заявка для перестановки." ошибка с кодом 4
Первая диагностика сгенерирована сервером QUIK, вторая возвращается уже торговой системой - соответственно, в Trans2QUIK получены разные ответы на транзакции.

Цитата
Неужели так трудно добавить подфункцию в коллбеке TRANS2QUIK_TRANSACTION_REPLY_CALLBACK, чтобы получить код ошибки биржи?
Разные площадки имеют различный формат ответов на транзакции, поэтому предусмотреть парсинг всех допустимых вариантов не представляется возможным.
Страницы: 1
Читают тему
Наверх