Двойное срабатывание OnTrade( T )

Страницы: 1
RSS
Двойное срабатывание OnTrade( T ), Наблюдаю при сделках двойное срабатывание OnTrade( T ) сделках
 
Функция OnTrade(T) срабатывает дважды при сделках.
Состав и значения таблицы T при первом и втором срабатывании полностью одинаков. Отличаются только значения указателей на подтаблицы T.canceled_datetime и T.datetime. При этом сами значения этих таблиц тоже одинаковые.
Это происходит даже при исполнении лимитной заявки в 1 лот.

До этого использовал Quik версии 6.17.3.6. Там onTrade() отрабатывает как и положено, по разу на каждую сделку.
В новой версии Quik 7.6.1.1 onTrade() отрабатывает дважды.

Почему в ново версии поведение OnTrade(T) изменилось?
И как теперь можно отличить первое срабатывание от последующих?

p.s. Читал соседний пост про OnOrder(), но там есть TRANS_ID, а тут этого нет.
 
Алексей Степанов,
Раньше сделки действительно не обновлялись, но теперь сделки являются обновляемыми.
И на них есть и TRANS_ID и UID.
 
Что значит обновляемые сделки?  
 
Цитата
Алексей Степанов написал:
Что значит обновляемые сделки?
Добрый день.
Обновляемая сделка - это значит, что некоторые поля сделки могут меняться, в частности на некоторых рынках сделки теперь можно отменять, а следовательно будет изменен статус сделки, заполнится поле UID пользователя отказавшегося от сделки и так далее, TRANS_ID теперь присутствует как в структуре заявки так и в структуре сделки. В связи с этими изменениями OnTrade() как и OnOrder() теперь может вызываться более одного раза, даже если визуально никакие поля не поменялись, т.к. не все поля структуры сделки видны через QLua.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Спасибо. Теперь всё ясно.
Страницы: 1
Читают тему
Наверх