nero333 (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Отработка OnOrder после остановки скрипта
 
Здравствуйте.

Скрипт ниже выставляет заявку при старте, а при нажатии на кнопку "Остановить" снимает ее.
Код
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
Страницы: 1
Наверх