Здравствуйте.
Скрипт ниже выставляет заявку при старте, а при нажатии на кнопку "Остановить" снимает ее.
А это вывод в окне сообщений:
Получается, что после нажатия "Остановить" OnOrder уже не отрабатывает. Это ошибка или так должно быть?
Версия квик 7.14.1.7
Скрипт ниже выставляет заявку при старте, а при нажатии на кнопку "Остановить" снимает ее.
| Код |
|---|
IS_RUN = true
IS_STOPPING = false
ORDER_NUM = ''
function main()
-- ставим заявку
local t =
{
CLASSCODE = 'TQBR',
SECCODE = 'MVID',
ACTION = 'NEW_ORDER',
ACCOUNT = 'L01-00000F00',
CLIENT_CODE = 'DEMO915',
TYPE = 'L',
OPERATION = 'B',
QUANTITY = '1',
PRICE = '393',
TRANS_ID = '1'
}
sendTransaction(t)
while IS_RUN do
-- выполнение скрипта останавливается - снимаем заявку
if IS_STOPPING then
local t =
{
CLASSCODE = 'TQBR',
SECCODE = 'MVID',
ACTION = 'KILL_ORDER',
ORDER_KEY = tostring(ORDER_NUM),
TRANS_ID = '1'
}
sendTransaction(t)
for i=1,25 do sleep(200) end -- ждем 5 сек. в надежде что OnOrder отработает снятую заявку
end
--
sleep(500);
end
end
function OnStop()
IS_STOPPING = true
SLEEP_TIME = 50;
end
function OnOrder(order)
ORDER_NUM = order.ordernum
message(tostring(IS_STOPPING))
end
|
Получается, что после нажатия "Остановить" OnOrder уже не отрабатывает. Это ошибка или так должно быть?
Версия квик 7.14.1.7