Надо делать так, как надо. А как не надо - делать не надо.
Michael Bulychev
Гость
15.06.2015 05:45:52
Добрый день. Да, такое случается. Возможно заявку сервер получил раньше ответа на транзакцию и не смог сразу связать их.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.06.2015 12:02:19
Это значит, что после такого колбека обязательно должен прийти OnOrder с заполненным UID? Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 01.02.2015
16.06.2015 13:22:33
Цитата
Старатель пишет: Можете отметить их в руководстве.
тогда tech support придётся весь разогнать:))) надо же перед глупым начальством подчеркнуть собственную важность и заботу о клиенте:))))))
Michael Bulychev
Гость
16.06.2015 13:33:57
Цитата
Старатель пишет: Это значит, что после такого колбека обязательно должен прийти OnOrder с заполненным UID?
В подавляющем большинстве случаев - да. Но теоретически можно придумать ситуацию в которой клиент может получить заявку без заполненного UID.
Пользователь
Сообщений: Регистрация: 01.02.2015
16.06.2015 13:41:56
мда уж...
и после этого они смеют утверждать, что на них наговаривают и что торговля через QUIK отличается стабильностью и постоянством.
Michael Bulychev
Гость
16.06.2015 13:44:21
На практике такой схемы работы не встречается, но теоретически придумать ее возможно.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.06.2015 14:04:38
Цитата
Старатель пишет: Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Цитата
Michael Bulychev пишет: На практике такой схемы работы не встречается, но теоретически придумать ее возможно.
Озвучьте, пожалуйста свою мысль.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
16.06.2015 23:50:02
Гипотетический случай последовательности событий вижу таковой: - отправлена транзакция - получена заявка с биржи - в ней нет UID (нет еще ответа на транз) - тут же закончилась торг. сессия - заявка снята биржей, о чем опять нас уведомили, но UID всё еще нет - пришел ответ на транзакцию - квик сумел связать заявку с транзакцией и радостно сообщил нам UID на снятой заявке, вызвав OnOrder
Например так: у брокера два независимых сервера QUIK и два комплекта шлюзов в торговую систему. Менеджер с другого сервера может поставить заявку за Вас, которая через торговую систему приедет на другой сервер без UID пользователя. Но на практике такая система не используется.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.06.2015 11:09:46
Ответ будет?
Цитата
Старатель пишет: Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Надо делать так, как надо. А как не надо - делать не надо.
QUIK clients support
Сообщений: Регистрация: 25.05.2015
22.06.2015 15:44:18
Здравствуйте.
Таблица заявок - обновляемая таблица. Поэтому, теоретически, обновлён (дописан/удалён) может быть любой параметр, кроме ключевых (ключевые это Номер заявки, Дата торгов, Код класса). На практике же дописывается UID и ID транзакции. Сделано это для того, чтобы как можно скорее отправить информацию о заявке пользователю и не ожидать определения всех атрибутов заявки (определение UID и ID транзакции происходит внутри сервера QUIK и занимает какое-то время). Таблица сделок - необновляемая. Соответственно, сразу заполняются все (присущие режиму торгов сделки) параметры и запись более не обновляется (даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть и не является аномалией). Касаемо документации Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Пользователь
Сообщений: Регистрация: 01.02.2015
22.06.2015 17:02:50
Цитата
Олег Хуснутдинов пишет: даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть и не является аномалией
ну как обычно - "эт не мы такие, эт вы..."
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.06.2015 18:58:15
Цитата
Олег Хуснутдинов пишет: теоретически, обновлён (дописан/удалён) может быть любой параметр, кроме ключевых (ключевые это Номер заявки, Дата торгов, Код класса).
Т.е., возможна такая ситуация, когда OnOrder может прийти, скажем, с незаполненным параметром account, balance или sec_code? И какое в этом случае будет значение параметра: nil или ""/0 в зависимости от типа? И в этом случае не стоит бить тревогу? Или стоит?
Цитата
Олег Хуснутдинов пишет: даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть и не является аномалией
То, что OnTrade может вызываться более одного раза - я в курсе: при переключении на другой сервер или очистке данных (файл trades.dat, как я понимаю). В каких ещё ситуациях OnTrade по одной сделке может вызываться более одного раза?
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Добрый день,
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.06.2015 14:32:17
Цитата
Олег Хуснутдинов пишет: даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть
Считаете ли вы эту информацию существенной? Почему данный факт не отражён в официальной документации по QLUA, а узнаём мы об этом только сейчас случайным образом?
Цитата
Старатель пишет: В каких ещё ситуациях OnTrade по одной сделке может вызываться более одного раза?
Надо делать так, как надо. А как не надо - делать не надо.
Олег Хуснутдинов пишет: даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть
Считаете ли вы эту информацию существенной? Почему данный факт не отражён в официальной документации по QLUA, а узнаём мы об этом только сейчас случайным образом?
Цитата
Старатель пишет: В каких ещё ситуациях OnTrade по одной сделке может вызываться более одного раза?
Добрый день.
Данный вопрос уже поднимался и не раз. Да в документации это не описано, но готовы зарегистрировать соответствующее пожелание.
Ontrade может быть вызван два раза например, в случаях потери связи между торговой системой и сервером QUIK, а затем получение всей информации заново. В таком случае клиент два раза получит не только заявки, но и сделки.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.07.2015 12:50:27
Цитата
Egor Zaytsev пишет: Ontrade может быть вызван два раза например, в случаях потери связи между торговой системой и сервером QUIK, а затем получение всей информации заново. В таком случае клиент два раза получит не только заявки, но и сделки.
Если пользователь производил очистку данных, то, очевидно, что после подключения к серверу, информация по сделкам придёт повторно. Это понятно, и, наверное, на этом не стоит заострять внимания. В каком случае, клиент повторно получит данные, если очистка данных на клиентке не производилась?
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.07.2015 12:53:35
Если у вас есть ссылка на обсуждение (и главное ответы) по этому вопросу, то, дайте, пожалуйста, ссылку. (В документации, к сожалению, нет ни информации, ни ссылки на обсуждение)
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.07.2015 13:15:26
Цитата
Egor Zaytsev пишет: Ontrade может быть вызван два раза например, в случаях потери связи между торговой системой и сервером QUIK, а затем получение всей информации заново. В таком случае клиент два раза получит не только заявки, но и сделки.
А, понял. Сразу не сообразил...
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.10.2015 17:21:30
Может ли прийти колбек OnTrade с незаполненным полем order_num?
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
29.10.2015 17:42:41
Цитата
Старатель пишет: Может ли прийти колбек OnTrade с незаполненным полем order_num?
В документации ошибка, правильно параметр называется ordernum Документацию обязательно поправим
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
29.10.2015 19:18:38
Насколько я помню, ordernum - это старое название параметра (тогда ещё были secccode, classcode и пр.). Потом эти параметры переименовали, добавив "_" А старые параметры так оставили. Но вопрос не в этом.
Может ли OnTrade в принципе прийти с незаполненным полем "Номер заявки"? Вы обещали добавить информацию по обязательным полям в документацию.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: Может ли прийти колбек OnTrade с незаполненным полем order_num?
В документации ошибка, правильно параметр называется ordernum Документацию обязательно поправим
Добрый день,
Ошибка будет исправлена в ближайшей версии программы.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.10.2015 08:53:03
Вы всё обратно переиграли что ли? Не рубите сгоряча.
Цитата
Егор Зайцев (ARQA Technologies) : В новой документации параметры seccode, classcode, tradenum, ordernum имеют вид sec_code, class_code, trade_num, order_num.
Вопрос был задан выше:
Цитата
Старатель пишет: Может ли OnTrade в принципе прийти с незаполненным полем "Номер заявки"? Вы обещали добавить информацию по обязательным полям в документацию.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: Может ли OnTrade в принципе прийти с незаполненным полем "Номер заявки"? Вы обещали добавить информацию по обязательным полям в документацию.
Если это поставочные сделки, но это лучше уточнить у биржи.
Пользователь
Сообщений: Регистрация: 29.04.2015
30.10.2015 12:40:32
Цитата
Старатель пишет: Вы всё обратно переиграли что ли? Не рубите сгоряча.
Цитата
Егор Зайцев (ARQA Technologies) : В новой документации параметры seccode, classcode, tradenum, ordernum имеют вид sec_code, class_code, trade_num, order_num.
Сейчас (v. 6.17) в структуре данных ответа на транзакцию (в OnTransReply) эти поля содержат дублирующие значения: 1. "trans_id", "R" - ID транзакции. 2. "order_num", "ordernum" - номер заявки.
Мне лично все равно, как будут называться поля в структурах, но хорошо бы оставить что-то одно и привести в соответствие документацию. Пока нет возможности посмотреть, но если в 7.0 всё так же, то пожалуйста, займитесь этим вопросом.
Пользователь
Сообщений: Регистрация: 23.01.2015
30.10.2015 13:52:15
Цитата
SDL пишет: Пока нет возможности посмотреть, но если в 7.0 всё так же, то пожалуйста, займитесь этим вопросом.
В версии 7.0 только ordernum
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.10.2015 13:57:53
В версии 7.0.0.289 в OnTrade и OnOrder присутствуют оба параметра order_num и ordernum. Но у вас там какой-то "косяк" с getOrderByNumber Информацию по этой проблеме я отправил на почту.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
30.10.2015 14:10:19
Цитата
Старатель пишет: В версии 7.0.0.289 в OnTrade и OnOrder присутствуют оба параметра order_num и ordernum.
А кто говорил про OnTrade и OnOrder?? На сколько следует из поста выше речь только про OnTransReply И мой ответ относится только к OnTransReply
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.10.2015 14:21:45
Цитата
Егор Зайцев (ARQA Technologies) : В новой документации параметры seccode, classcode, tradenum, ordernum имеют вид sec_code, class_code, trade_num, order_num.
Ну и что вы творите? Скачете туда-обратно. Это призыв переписывать все раннее написанные скрипты? Каких ещё сюрпризов от вас ждать? Вот и getOrderByNumber нормально не работает.
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
30.10.2015 14:29:20
Цитата
Старатель пишет: Вот и getOrderByNumber нормально не работает.
Вы отправили письмо почтой, Ожидайте реакции на письмо по почте. Упоминание на форуме этой проблемы по нескольку раз не ускорит обработку письма.
Цитата
Старатель пишет: Ну и что вы творите? Скачете туда-обратно. Это призыв переписывать все раннее написанные скрипты?
То что в 7 версии в событии OnTransReply только ordernum мы считаем ошибкой, которая будет исправлена. Но сейчас там работает только ordernum
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.10.2015 14:38:10
Цитата
Sergey Gorokhov пишет: То что в 7 версии в событии OnTransReply только ordernum мы считаем ошибкой, которая будет исправлена. Но сейчас там работает только ordernum
Тогда надо не документацию переписывать, а исправлять ошибку в ПО. Выше вы писали:
Sergey Gorokhov пишет: В документации ошибка, правильно параметр называется ordernum Документацию обязательно поправим
Ошибка будет исправлена в ближайшей версии программы.
Давайте уж сейчас определимся, как будет правильно называться параметр в будущем (надеюсь названия параметров останутся унифицированными).
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
30.10.2015 15:39:20
Цитата
Старатель пишет: Давайте уж сейчас определимся, как будет правильно называться параметр в будущем (надеюсь названия параметров останутся унифицированными).
Будет оба параметра (для поддержки обратной совместимости)
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.12.2015 11:22:38
Цитата
Олег Хуснутдинов пишет: Таблица заявок - обновляемая таблица. Поэтому, теоретически, обновлён (дописан/удалён) может быть любой параметр, кроме ключевых (ключевые это Номер заявки, Дата торгов, Код класса). На практике же дописывается UID и ID транзакции. Сделано это для того, чтобы как можно скорее отправить информацию о заявке пользователю и не ожидать определения всех атрибутов заявки (определение UID и ID транзакции происходит внутри сервера QUIK и занимает какое-то время).
В QUIK 7.0.3.7 в ответ на транзакцию стал приходить один OnOrder, в отличие от предыдущих версий, где их (OnOrder) было всегда несколько на одну транзакцию. Означает ли это, что в 7-й версии механизм работы с таблицей заявок изменён, и все параметры заявок всегда заполняются до отправки пользователю?
Надо делать так, как надо. А как не надо - делать не надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
16.12.2015 12:56:55
Цитата
Старатель пишет: Означает ли это, что в 7-й версии механизм работы с таблицей заявок изменён, и все параметры заявок всегда заполняются до отправки пользователю?
нет это не делалось.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.12.2015 13:35:27
Тогда что изменилось?
Надо делать так, как надо. А как не надо - делать не надо.
Ничего не изменилось. Если требуется ответ о причинах, приведите конкретный пример. У нас проблема не воспроизводится. На тестовом сервере (не джуниор)
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.12.2015 17:41:04
Ваша правда: дубликаты OnOrder по-прежнему присутствуют. Вопрос снимается.
Надо делать так, как надо. А как не надо - делать не надо.