Лишние вызовы OnAllTrade

Страницы: 1
RSS
Лишние вызовы OnAllTrade
 
При перезаказе обезличенных сделок суммарное количество вызовов OnAllTrade больше, чем есть сделок на самом деле.
QUIK-Junior 12.8.3 и 12.5.0
Код
local run = false
function OnStop()
  run = nil
end

local a = 0
function OnAllTrade(alltrade)
  if run ~= true then return end
  a = a + 1
end

function main()
  local n, m
  while run ~= nil and 0 < getNumberOf("all_trades") do  -- ожидание перезаказа обезличенных сделок
    n = getNumberOf("all_trades")
    sleep(1)
  end
  if run ~= nil then
    run = true
    message("start: " .. a)
    repeat
      sleep(1)
      m = getNumberOf("all_trades")
    until not run or n <= m
    run = false
    message("getNumberOf: " .. m .. "\nOnAllTrade: " .. a)
  end
end

Результат:
Цитата
getNumberOf: 194038
OnAllTrade: 239930
В таблице обезличенных сделок количество совпадает с тем, что показывает getNumberOf.
 
Часть сделок прилетает повторно. Воспроизводится не всегда. Но, если в окне, где перезаказывали обезличенные сделки, нажать кнопку "Сохранить", то вероятность повторного получения сделок выше.
Страницы: 1
Читают тему
Наверх