Sergey Gorokhov пишет: Трансляция trans_id на сделках появилась относительно недавно, проверьте версию терминала. На текущий момент актуальной версией считается 7.0.4
Владимир пишет: У финама еще актуальная версия 7.0.3.7
Это хоть и НЕ актуальная версия но на ней тоже должно работать. А раз не работает, проблема может быть в коде. Пришлите для анализа скриншот таблицы сделок, где видно что trans_id на сделке есть и пришлите кусок кода с обработкой OnTrade
Sergey Gorokhov пишет: trans_id проставляется клиентом при отправке транзакции. От сюда вопрос, как Вы отправляли транзакции которые привели к появлению указанных сделок?
Да, проставляю. И по этому trans_id потом в OnTransReply проверяю статус транзакции. А затем по этому trans_id проверяю статус заявки в OnOrder.
Sergey Gorokhov пишет: trans_id проставляется клиентом при отправке транзакции. От сюда вопрос, как Вы отправляли транзакции которые привели к появлению указанных сделок?
Да, проставляю. И по этому trans_id потом в OnTransReply проверяю статус транзакции. А затем по этому trans_id проверяю статус заявки в OnOrder.
Пришлите нам для анализа архив всей папки с терминалом QUIK (без ключей доступа) на ящик quiksupport@arqatech.com. Архив следует паковать при закрытом терминале.
Sergey Gorokhov пишет: Пришлите нам для анализа архив всей папки с терминалом QUIK (без ключей доступа) на ящик quiksupport@arqatech.com. Архив следует паковать при закрытом терминале.
Владимир, Sergey Gorokhov, подтверждаю проблему (версия quik 7.0.4.10, брокер втб), приходится усложнять код, так же как Владимир. Но проблема не разрешима, когда OnTransReply не срабатывает при подаче заявки. Скажите, устранены эти две ошибки?
Для чего изначально предназначен параметр TRANS_ID в заявке? В документации по QUIK-QLUA, в примерах запросов, обычно туда зашивается какая-то константа и все, без особых комментариев для чего это нужно
Правильно ли я понимаю, что в контексте выставления заявки QLUA-скриптом, этот идентификатор нужен только для того, чтобы после выставления заявки я мог отследить ее исполнение или не исполнение, по данному идентификатору? Например, я выставляю одну заявку на покупку 10 контрактов с TRANS_ID = 1, и если эта заявка будет исполнена 5-ю разными сделками, то в OnTrade я получу результат 5 сделок (5 срабатываний OnTrade) с одинаковым TRANS_ID = 1?
Что будет, если QLUA-скрипт выставляет несколько заявок с небольшим интервалом, и у этих заявок одинаковый TRANS_ID? Не мешает ли это исполнению заявок на сервере, если у меня одновременно выставлены несколько заявок с одинаковым TRANS_ID?
Для чего изначально предназначен параметр TRANS_ID в заявке? В документации по QUIK-QLUA, в примерах запросов, обычно туда зашивается какая-то константа и все, без особых комментариев для чего это нужно
TRANS_ID обычно используется для маркировки пользовательских транзакций самим пользователем для сопоставления с заявками (поле в таблице заявок).
Цитата
Правильно ли я понимаю, что в контексте выставления заявки QLUA-скриптом, этот идентификатор нужен только для того, чтобы после выставления заявки я мог отследить ее исполнение или не исполнение, по данному идентификатору? Например, я выставляю одну заявку на покупку 10 контрактов с TRANS_ID = 1, и если эта заявка будет исполнена 5-ю разными сделками, то в OnTrade я получу результат 5 сделок (5 срабатываний OnTrade) с одинаковым TRANS_ID = 1?
Верно. Добавим, что TRANS_ID используется при импорте заявок из файла а также при импорте транзакций по API или иными способами (Qlua, Qpile)
Цитата
Что будет, если QLUA-скрипт выставляет несколько заявок с небольшим интервалом, и у этих заявок одинаковый TRANS_ID? Не мешает ли это исполнению заявок на сервере, если у меня одновременно выставлены несколько заявок с одинаковым TRANS_ID?
Спасибо. Еще вот что хотел уточнить: у меня в документации одновременно в 2 документах (Файл справки из рабочего каталога терминала QUIK, а также справка по QUIK+QLUA с сайта брокера), в описании перечня полей таблицы которая возвращается в результате работы функции OnTrade, отсутствует поле TRANS_ID. То есть, в документации про него ничего не сказано. Попробовал добавить это поле в код - получаю в его значении nil по сделкам. В данном посте же говорится, что оно должно быть и должно работать.
Оно появилось в каком-то из обновлений, и чтобы данная функция начала работать нужно обновиться на актуальную версию QUIK? А с документацией как так вышло, она тоже обновится в каталоге QUIK?
Ivanco написал: Оно появилось в каком-то из обновлений, и чтобы данная функция начала работать нужно обновиться на актуальную версию QUIK? А с документацией как так вышло, она тоже обновится в каталоге QUIK?
Версия QUIK - 6.17.3.6
Здравствуйте, Да верно, поле появилось в одном из обновлений. Так как QLUA постоянно обновляется и является частью терминала, то справка на него обновляется также вместе с терминалом.