Простенький скрипт, который отправляет заявку на 1 лот в Quik_Junior по сберу так, чтобы она заведомо исполнилась.
В нём определены два колбэка, OnTransReply и OnOrder
В результате вижу, что OnOrder вызывается по-моей заявке два раза (она имеет 1 лот и исполняется сразу).
Причём, очевидно, так бывает не всегда. Но заметил что такое получается чаще, если делать перед этим реконнект с сервером.
Код:
Результат работы (копирую из сообщений)
Вопрос, это разве нормально? Чем обусловлено? Кто сталкивался? Как боретесь?
Номер транзакции - не статический, для теста генерится рандомом от 1 до 1000
В нём определены два колбэка, OnTransReply и OnOrder
В результате вижу, что OnOrder вызывается по-моей заявке два раза (она имеет 1 лот и исполняется сразу).
Причём, очевидно, так бывает не всегда. Но заметил что такое получается чаще, если делать перед этим реконнект с сервером.
Код:
| Код |
|---|
function OnTransReply(trans)
-- Если поступила информация по текущей транзакции
message("TransReply:\n" .. --trans.date_time .. '\n' ..
tostring(trans.trans_id) .. '\n' ..
trans.sec_code .. '\n' .. tostring(trans.status) .. '\n' ..
tostring(tobin(trans.flags)) .. '\n' ..
tostring(trans.order_num) .. '\n' ..
tostring(trans.quantity) .. '\n' ..
tostring(trans.price) .. '\n' ..
trans.result_msg);
end;
function OnOrder(order)
-- Если поступила информация по сделке
message("OnOrder {\n" .. --trade.datetime .. '\n' ..
" trans_id: " .. tostring(order.trans_id) .. '\n' ..
" order_num: " .. tostring(order.order_num) .. '\n' ..
" flags: " .. tostring(tobin(order.flags)) .. '\n' ..
" brokerref: " .. tostring(order.brokerref) .. '\n' ..
" balance: " .. tostring(order.balance) .."\n" ..
" qty: " .. tostring(order.qty) .. '\n' ..
" value: " .. tostring(order.value) .. '\n' ..
" account: " .. tostring(order.account) .. '\n' ..
" activation_time: " .. tostring(order.activation_time) .. '\n' ..
" ext_order_status: " .. tostring(order.ext_order_status) .. '\n' ..
" trading_session: " .. tostring(order.trading_session) .. "\n}");
end;
|
Результат работы (копирую из сообщений)
| Код |
|---|
TransReply:
236
SBER
3
1001000000000000000001
6307340506
1.0
369.5
(161) Заявка N 6307340506 зарегистрирована. Удовлетворено 1
OnOrder {
trans_id: 236
order_num: 6307340506
flags: 11000
brokerref: 10112//
balance: 0.0
qty: 1.0
value: 3695.0
account: NL0011100043
activation_time: 0
ext_order_status: 0
trading_session: 0
}
OnOrder {
trans_id: 236
order_num: 6307340506
flags: 11000
brokerref: 10112//
balance: 0.0
qty: 1.0
value: 3695.0
account: NL0011100043
activation_time: 0
ext_order_status: 0
trading_session: 0
} |
Вопрос, это разве нормально? Чем обусловлено? Кто сталкивался? Как боретесь?
Номер транзакции - не статический, для теста генерится рандомом от 1 до 1000