Сергей (Все сообщения пользователя)

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

Страницы: 1
Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15
 
Разработчики терминала, вы планируете исправление бага?
Повторная подписка на свечи через CreateDataSource не работает на версии 9.2.3.15
 
Здравствуйте!
Заметил что на указанной версии не работает повторная подписка на обновления свечей через CreateDataSource + SetUpdateCallback
Брокер ВТБ
Ниже код для воспроизведения.
Выполняеем подписку на свечи SiH2, ожидаем получения 10 обновлений, затем отписываемся, и через небольшую паузу снова подписываемся.
В первый раз свечи приходят.
Во второй раз никаких вызовов коллбэка не происходит.


Я что-то не так делаю?
Это известный баг?
Есть способы обхода?
Уже исправлено в какой-то версии?

Код
run = true
ds = nil
datacounter = 0
recreatecounter = 0

--<BODY
message("started.")
--BODY>

function OnStop()
   run = false
end

function main()
   createds()
   
   while run do
      sleep(1000)
      message("running")
      
      if recreatecounter >= 1 then
         recreatecounter = recreatecounter + 1
         
         if recreatecounter >= 3 then
            recreatecounter = 0
            createds()
         end
      end
   end
end

function createds()
   message("creating ds")
   datacounter = 0
   ds, err = CreateDataSource("SPBFUT", "SiH2", INTERVAL_M5)
   
   if err ~= "" and err ~= nil then
      message("CreateDataSource error: "..err)
   end
   
   message("CreateDataSource OK")
   ds:SetUpdateCallback(mycb)
end

function mycb(index)
   message('got data: idx=' .. index .. ", close=" .. ds:C(index));

   datacounter = datacounter + 1
   if datacounter >= 10 then
      message('closing');
      ds:Close()
      ds = nil
      recreatecounter = 1
   end
end

Страницы: 1
Наверх