Вопрос по функции onTrade()

Страницы: 1
RSS
Вопрос по функции onTrade()
 
Объясните новичку в программировании на LUA под QUIK,
почему нижеследующий скрипт при совершении покупки бумаги выполняет onTrade() три раза?
Код
function OnInit(script)
   message("OnInit()", 2)
   is_run = true
end

function OnTrade(trade)
   message(string.format("Обработка сделки №%u по инструменту %s [%s]",
                     trade.trade_num,
                     trade.sec_code,
                     trade.class_code))
                              
   number_of_trades = getNumberOf("trades")
   message("Общее количество сделок: " .. number_of_trades)
end

function OnStop()
   message("OnStop()", 2)
   is_run = false
   return 2000
end

function main()
   while is_run do
      sleep(100)
   end
end
Результат:
Код
1      (162) Заявка на покупку N 18461406341 зарегистрирована (1 удовлетворено).
2      Обработка сделки №2988249760 по инструменту RUGR [TQBR]
3      Общее количество сделок: 12
4      Обработка сделки №2988249760 по инструменту RUGR [TQBR]
5      Общее количество сделок: 12
6      Обработка сделки №2988249760 по инструменту RUGR [TQBR]
7      Общее количество сделок: 12
 
Сергей,
Так и должно быть, таблица сделок является обновляемой сущностью, при каждом обновлении параметров сделки происходит вызов OnTrade
этот вопрос уже не однократно поднимался на форуме
Страницы: 1
Читают тему
Наверх