OnTransReply

Страницы: 1
RSS
OnTransReply, status
 
Здравствуйте.
В каких ситуациях может прийти OnTransReply со статусом 0 или 1?
Какие возможные значения может принимать status при выставлении стоп-заявок?
Надо делать так, как надо. А как не надо - делать не надо.
 
Добрый день.

1. В случаях, когда транзакция отправлена на сервер и получена на сервер от клиента.

2.
Цитата
 «0» - транзакция отправлена серверу,  
«1» - транзакция получена на сервер QUIK от клиента,
«2» - ошибка при передаче транзакции в торговую систему, поскольку отсутствует подключение шлюза Московской Биржи, повторно транзакция не отправляется,
«3» - транзакция выполнена,
«4» - транзакция не выполнена торговой системой, код ошибки торговой системы будет указан в поле «DESCRIPTION»,
«5» - транзакция не прошла проверку сервера QUIK по каким-либо критериям. Например, проверку на наличие прав у пользователя на отправку транзакции данного типа,
«6» - транзакция не прошла проверку лимитов сервера QUIK,
 «10» - транзакция не поддерживается торговой системой. К примеру, попытка отправить «ACTION = MOVE_ORDERS» на Московской Бирже,
«11» - транзакция не прошла проверку правильности электронной подписи. К примеру, если ключи, зарегистрированные на сервере, не соответствуют подписи отправленной транзакции.
«12» - не удалось дождаться ответа на транзакцию, т.к. истек таймаут ожидания. Может возникнуть при подаче транзакций из QPILE.
«13» - транзакция отвергнута, т.к. ее выполнение могло привести к кросс-сделке (т.е. сделке с тем же самым клиентским счетом).  
 
1) Чем отличается status = 0 от status = 1 для транзакций, поданных из QLua-скрипта?
Если мы получили OnTransReply, не означает ли это автоматически, что транзакция, как минимум, получена сервером QUIK?

2) Значения статусов 0, 2, 12, 13 возможны для стоп-заявок, поданных из QLua?
Надо делать так, как надо. А как не надо - делать не надо.
 
3) Из описания Транзакции в документации по QLUA:
Цитата
* - параметр может иметь значение nil
Тут точно nil ?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Тут точно nil ?
Это так, отступление. К status отношения не имеет, но имеет отношение к OnTransReply.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
1) Чем отличается status = 0 от status = 1 для транзакций, поданных из QLua-скрипта? Если мы получили OnTransReply, не означает ли это автоматически, что транзакция, как минимум, получена сервером QUIK?  2) Значения статусов 0, 2, 12, 13 возможны для стоп-заявок, поданных из QLua?

1. Если получили OnTransReply, то да, транзакция получена сервером.
Проверили информацию, статусы 0 и 1 для транзакций поданных через LUA возвращаться не будут. Для Qpile будут.

2. 0 и 12 не возможны.
 
Подытожим. Таким образом, OnTransReply с status = 3 (и только три) означает, что транзакция выполнена.
Остальные значения статуса говорят о том, что транзакция не выполнена (и не будет выполнена). Так?

Приведите, пожалуйста, полный и исчерпывающий список возможных вариантов значений параметра status для колбэка OnTransReply.
Из-за отсутствия этого списка для QLUA нам и вам (сотрудникам техподдержки) приходилось пользоваться аналогом этого списка для формата .tro-файла, что зачастую приводило к неверным рекомендациям с вашей стороны относительно параметра status.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Подытожим. Таким образом, OnTransReply с status = 3 (и только три) означает, что транзакция выполнена. Остальные значения статуса говорят о том, что транзакция не выполнена (и не будет выполнена). Так?
Да, верно.

Цитата
Приведите, пожалуйста, полный и исчерпывающий список возможных вариантов значений параметра status для колбэка OnTransReply. Из-за отсутствия этого списка для QLUA нам и вам (сотрудникам техподдержки) приходилось пользоваться аналогом этого списка для формата .tro-файла, что зачастую приводило к неверным рекомендациям с вашей стороны относительно параметра status.
Специально для LUA списка нет, выше представили весь список с возможными статусами.
Мы зарегистрировали соответствующие пожелание от Вас. Список постараемся добавить в документацию на LUA.
 
Цитата
Тут точно nil ?

Да. Если вы обнаружили не точность, то сообщите.
 
Цитата
Если вы обнаружили не точность, то сообщите.
Для транзакций "MOVE_ORDERS" всегда возвращается OnTransReply с пустой строкой в качестве параметров account и brokerref
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Для транзакций "MOVE_ORDERS" всегда возвращается OnTransReply с пустой строкой в качестве параметров account и brokerref

Здравствуйте!

Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
 
Цитата
Для транзакций "MOVE_ORDERS" всегда возвращается OnTransReply с пустой строкой в качестве параметров account и brokerref
Старатель, account и brokerref пустые потому, что MOVE_ORDERS может работать     сразу с двумя заявками.
Поэтому в документации и указали, что может иметь значение nill.
 
Цитата
Старатель, account и brokerref пустые потому, что MOVE_ORDERS может работать     сразу с двумя заявками.

Одной транзакцией можно переставить две заявки по разным счетам (читай: с разными account)?
Сколько у вас приходит ответов OnTransReply при перестановке сразу двух заявок? У меня две? Смысл в двух абсолютно одинаковых OnTransReply?
Надо делать так, как надо. А как не надо - делать не надо.
 
Ох, нелегкая это работа...
Егор,

1. nil я понимаю буквально, как nil. В программировании это выглядит так:
Код
if trans_reply.account == nil then
  toLog('Без паники. В документации указано, что это допустимо.')
elseif trans_reply.account == '' then
  toLog('Швах! Что-то здесь не так...')
end
Поэтому и уточнил:
Цитата
Тут точно nil ?

2. Ваш ответ #12 можно расценить, как дешёвую отмазку, чтобы не заниматься проблемой.

3. Подать одну транзакцию на перестановку двух заявок по разным счетам нельзя. Поручение для обеих заявок одно.
   А, значит, и параметры account и brokerref будут совпадать. Не вижу никаких причин, чтобы не заполнить эти параметры в OnTransReply.

4. При любом исходе ответ на транзакцию один: либо сразу обе заявки переставлены, либо нет.
  А, значит, нет необходимости дублировать OnTransReply.
Надо делать так, как надо. А как не надо - делать не надо.
 
>>3. Подать одну транзакцию на перестановку двух заявок по разным счетам нельзя. Поручение для обеих заявок одно.
>>А, значит, и параметры account и brokerref будут совпадать.
Взаимоисключающие параметры?

Как это можно подать одну транзакцию по разным заявкам, если у них разные счета?
 
3. Подать одну транзакцию на перестановку двух заявок по разным счетам нельзя. А, значит, и параметр account будет совпадать.
Точка.
Поручение (транзакция "MOVE_ORDERS" на перемещение) для обеих заявок одно. А, значит, и параметр brokerref будет совпадать.

Так понятно?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Одной транзакцией можно переставить две заявки по разным счетам (читай: с разными account)? Сколько у вас приходит ответов OnTransReply при перестановке сразу двух заявок? У меня две? Смысл в двух абсолютно одинаковых OnTransReply?
Здравствуйте,

Две.
Два OnTransReply так как прошла перестановка двух заявок.
 
Добрый день.
1. В документации написано "значение поля может быть nil"
3. Подать транзакцию на перестановку заявок с разных счетов можно, если у вас прав достаточно.
4. на каждую переставленную заявку приходит отдельный ответ.
 
Цитата
1. В документации написано "значение поля может быть nil"
Вместо nil я вижу дефолтные квиковские ""/0. Очевидно, ошибка в коде терминала, а не документации  :wink:

Цитата
3. Подать транзакцию на перестановку заявок с разных счетов можно, если у вас прав достаточно.
Вот такую ошибку выдаёт при попытке переставить заявки на разных счетах:
Цитата
Ошибка перестановки заявок. [FORTS][35] "Ошибка в задании входных параметров.".
Нужны какие-то особые права?

Цитата
4. на каждую переставленную заявку приходит отдельный ответ.
Отдельный ответ с биржи?
Надо делать так, как надо. А как не надо - делать не надо.
 
1. Еще раз - "значение может быть nil" - в некоторых случаях это поле может отсутствовать в ответе на транзакцию. Если есть и оно не заполнено значит нечем его заполнять.
3. Возможно это проверяет торговая система. В транзакции нет привязки номера заявки к счету.
4. отдельный ответ от сервера QUIK.
 
Цитата
"значение может быть nil"
Понятно, значит, просто перестраховались  :smile:

Цитата
4. на каждую переставленную заявку приходит отдельный ответ.
Значит, пустые строки в account и brokerref не могут быть обусловлены перестановкой сразу двух заявок.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Цитата
Специально для LUA списка нет, выше представили весь список с возможными статусами.  Мы зарегистрировали соответствующие пожелание от Вас. Список постараемся добавить в документацию на LUA.

    Добрый день.

    Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам,     что реализация пожелания признана потенциально целесообразной. Если     по результатам дальнейшего анализа, включающего юридические аспекты,     анализ на непротиворечивость с общей политикой компании, никаких     возражений не возникнет, мы постараемся включить Ваше пожелание в     план доработок при выпуске одной из следующих версий нашего ПО.
Страницы: 1
Читают тему
Наверх