Status в OnTransReply

Страницы: 1
RSS
Status в OnTransReply
 
День добрый!
Согласно документации по клуа, событие в OnTransReply должно появляться всегда в ответ на транзакцию пользователя.
Формат следующий (из документации по квику):
  • «0» - транзакция отправлена серверу,
  • «1» - транзакция получена на сервер QUIK от клиента,
  • «2» - ошибка при передаче транзакции в торговую систему, поскольку отсутствует подключение шлюза Московской Биржи, повторно транзакция не отправляется,
  • «3» - транзакция выполнена,
  • «4» - транзакция не выполнена торговой системой, код ошибки торговой системы будет указан в поле «DESCRIPTION»,
  • «5» - транзакция не прошла проверку сервера QUIK по каким-либо критериям. Например, проверку на наличие прав у пользователя на отправку транзакции данного типа,
  • «6» - транзакция не прошла проверку лимитов сервера QUIK,
  • «10» - транзакция не поддерживается торговой системой. К примеру, попытка отправить «ACTION = MOVE_ORDERS» на Московской Бирже,
  • «11» - транзакция не прошла проверку правильности электронной подписи. К примеру, если ключи, зарегистрированные на сервере, не соответствуют подписи отправленной транзакции.
  • «12» - не удалось дождаться ответа на транзакцию, т.к. истек таймаут ожидания. Может возникнуть при подаче транзакций из QPILE.
  • «13» - транзакция отвергнута, т.к. ее выполнение могло привести к кросс-сделке (т.е. сделке с тем же самым клиентским счетом).
Вопросы:
1. Всегда ли должен прийти ответ на транзакцию при наличии связи с сервером? Другими словами, значит ли отсутствие ответа в течение какого-то времени (какого?) что связи с сервером нет?
2. Верна ли логика, что если статус не 3, то значит она отвергнута?
3. Наличие статусов 0 и 1 говорит о том, что заявка подвисла и не обработана, но получена и, теоретически, может быть принята. Значит ли это, что надо просто подождать, получив эти статусы? Сколько ждать?
4. И, как результат, сообщите алгоритм, по которому можно 100% выяснить, что заявка прошла или не прошла.
 
Цитата
Viktor MMM пишет:
Другими словами, значит ли отсутствие ответа в течение какого-то времени (какого?) что связи с сервером нет?
Нет, не верно. Есть прецедент, когда при наличии связи с сервером, отсутствии проблем с интернетом, колбеки OnTransReply не приходили от сервера. При этом заявки по данным транзакциям также не были исполнены.
Видимо, в это время были какие-то проблемы на стороне брокера: часть заявок не выставлялась, остальные - с задержкой более 10 сек.
Надо делать так, как надо. А как не надо - делать не надо.
 
А что со статусами было? 0 и 1 выскакивали? не отслеживали? Или сразу через 10 сек статус 3 и в путь.

Получается такая логика. Скрипт в начале, собственно так и есть у меня, проверяет выставленные "прошлые заявки" от этого скрипта. Если есть - рубит их все, а потом начинает работу. Если пошла задержка, и время вышло - в начало скрипта. И так будет до тех пор, пока для начала не примутся заявки на рубку))
 
Цитата
Viktor MMM пишет:
А что со статусами было? 0 и 1 выскакивали? не отслеживали? Или сразу через 10 сек статус 3 и в путь.
Не могу сказать: логов за тот день не сохранилось...
Надо делать так, как надо. А как не надо - делать не надо.
 
Причём, в Отчёте по транзакциям не было информации по тем транзакциям, в ответ на которые OnTransReply  не пришёл. По остальным же время получения на сервере QUIK - именно то, когда был получен ответ от сервера, т.е. на сервере транзакции регистрировались через 10 сек после их отправки клиентом. Где они "гуляли" это время - не понятно.
Надо делать так, как надо. А как не надо - делать не надо.
 
Ясно. Выходит, что отслеживать "лишние" надо всегда. По алгоритму я правильно написал. Ждать, рубить и заново. Предвидеть и все четко сделать не получится по определению.
 
Цитата
Серж пишет:
Причём, в Отчёте по транзакциям не было информации по тем транзакциям, в ответ на которые OnTransReply не пришёл.
А как можно получить отчет по транзакциям?
 
Цитата
Дмитрий пишет:
А как можно получить отчет по транзакциям?
Запросить у брокера.
Надо делать так, как надо. А как не надо - делать не надо.
 
У меня вопрос к специалистам ARQA:
В Отчёте по транзакциям фиксируется локальное время сервера QUIK?
Т.е., возможна такая ситуация, когда "Время получения на сервере QUIK" и "Время получения ответа торговой системы" больше, чем время заявки в таблице заявок?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
В Отчёте по транзакциям фиксируется локальное время сервера QUIK?
Время шлюза.
Цитата
Серж пишет:
Т.е., возможна такая ситуация, когда "Время получения на сервере QUIK" и "Время получения ответа торговой системы" больше, чем время заявки в таблице заявок?
Ситуация, когда заявка приходит раньше чем ответ на транзакцию вполне возможна.
К стати, именно из за таких ситуаций, на одну заявку может придти повторный колбэк.
 
День добрый! Хотелось бы увидеть ответ так же от производителей на мой первый вопрос.
 
Цитата
Viktor MMM пишет:
1. Всегда ли должен прийти ответ на транзакцию при наличии связи с сервером? Другими словами, значит ли отсутствие ответа в течение какого-то времени (какого?) что связи с сервером нет?
При наличии связи клиента с сервером и при наличии связи сервера с торговой системой, ответ на транзакцию приходит всегда.
Цитата
Viktor MMM пишет:
2. Верна ли логика, что если статус не 3, то значит она отвергнута?
Пользователь решает, вредна она или нет. Кому то, она может оказаться достаточной для решения поставленных задач а кому-то нет.
Цитата
Viktor MMM пишет:
3. Наличие статусов 0 и 1 говорит о том, что заявка подвисла и не обработана, но получена и, теоретически, может быть принята. Значит ли это, что надо просто подождать, получив эти статусы? Сколько ждать?
Пользователь сам должен решать сколько ждать. при синхронной подаче транзакций для этого даже есть специальный отдельный  параметр.
Цитата
Viktor MMM пишет:
4. И, как результат, сообщите алгоритм, по которому можно 100% выяснить, что заявка прошла или не прошла.
Не понятно что значит "прошла" и "не прошла"
Если Вы говорите про то сработала заявка (были сделки) или нет, извините по транзакции понять это не представляется возможным.

Если Вы имеете в виду, транзакция привела к выставлению заявки или нет, то если есть ответ на транзакцию и в этом ответе есть номер заявки, значит что на 100% эта транзакция была выполнена и привела к появлению заявки.
 
Цитата
Sergey Gorokhov пишет:
При наличии связи клиента с сервером и при наличии связи сервера с торговой системой, ответ на транзакцию приходит всегда.
Спорное утверждение. Выше я писал об этом.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
Спорное утверждение
Не вижу противоречий. Вы сами сказали что были проблемы на стороне брокера.
Я же точно указал как важнейшее условие "при наличии связи сервера с торговой системой"
Если сможете пример когда ответ на транзакцию не пришел, но при этом у брокера и у Вас со связью было все хорошо, то это повод разбираться отдельно.
 
Sergey Gorokhov, я написал:
Цитата
Серж пишет:
Есть прецедент, когда при наличии связи с сервером, отсутствии проблем с интернетом, колбеки OnTransReply не приходили от сервера. При этом заявки по данным транзакциям также не были исполнены.
Видимо, в это время были какие-то проблемы на стороне брокера: часть заявок не выставлялась, остальные - с задержкой более 10 сек.
Т.е., я не знаю точно, где именно были проблемы, но сделал вывод, что не у меня, т.к. в то время, когда отправлялись транзакции, разрывов с сервером QUIK не было и проблем с интернетом на моей стороне не наблюдалось.
Цитата
Sergey Gorokhov пишет:
Я же точно указал как важнейшее условие "при наличии связи сервера с торговой системой"
При отсутствии связи сервера с торговой системой клиенту ничего не приходит в ответ на транзакцию?
А что со стоп-заявками? Для них ведь связь сервера с торговой системой биржи не нужна? (Мой случай был именно со стоп-заявками)
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
При отсутствии связи сервера с торговой системой клиенту ничего не приходит в ответ на транзакцию?
А что со стоп-заявками? Для них ведь связь сервера с торговой системой биржи не нужна? (Мой случай был именно со стоп-заявками)
Не надо делать правила из возможной вероятности.
То что у брокера были проблемы, уже говорит о том, что последствия этих проблем могут быть самыми разнообразными.
В том числе и отсутствие ответа на транзакцию.
Действительно, стоп заявки относятся к серверу брокера, а не к бирже.
Однако, так как точно не известно, какие именно были проблемы у брокера, нельзя назвать причины по которым ответ на транзакцию выставления стоп заявки не был получен.
Например, если Вы работали через сервер доступа, а основной сервер был недоступен.
В любом случае, дальше играть в догадки не вижу смысла.
Страницы: 1
Читают тему
Наверх