Подгрузка старых данных при переподключении

Страницы: 1
RSS
Подгрузка старых данных при переподключении
 
Добрый день!
У меня система работает на данных 60 мин. Данные обрабатываются по колбэку:
ds[1]:SetUpdateCallback(function(index) cb(index,v.idx, v.classcode,k) end) , в общем все стандартно. В функции рассчитываются максимумы и минимумы за определенные периоды. Заметил, что при переподключении (вследствие пропадания инета или еще почему-то), когда оно происходит между часами (т е в тот момент, когда окончился один час и начался другой и должен идти перерасчет), в максимумы и минимумы присваиваются абсолютно "левые" значения, которые не имеют отношения к текущей цене. При более тщательном рассмотрении можно заметить, что это какие-то давние цены (чуть ли не прошлого года). Еще раз подчеркну, что это все происходит в те неудачные моменты, когда квик переподключается к серверу в момент поступления новой свечки.  В остальном все работает отлично.
В самой функции, которая вызывается коллбэком, есть цикл, копающий "в глубь" по данным для расчета индикаторов. Но факт остается фактом, при переподключении  между часами (между дискретами по времени, равными таймфремйму) система "ловит" старые данные. Как это обойти, или в чем ошибка?
Спасибо  
 
Здравствуйте,
Приведите исходные коды скрипта
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
Приведите исходные коды скрипта
Выслал код на quiksupport@arqatech.com.
Спасибо
 
Добрый день. К сожалению, проблему воспроизвести не получилось.
Цитата
Максим написал:
ds[1]:SetUpdateCallback(function(index) cb(index,v.idx, v.classcode,k) end)
При такой конструкции Вы уверены в правильности передаваемых параметров в функцию обратного вызова?
ниже пример кода, который позволяет корректно передавать в колбек данные из DataSource:
Код
function cb(ds, index )
   local t = ds:T(index)
   message( string.format("%s, %s, %d", ds.class_code, ds.sec_code, index))
end

   class_code = "SPBFUT"
   sec_code = "RIZ6"
   ds  = CreateDataSource(class_code, sec_code, INTERVAL_M1)
   assert(ds)
   ds.update_func = cb
   ds.sec_code = sec_code
   ds.class_code = class_code
   ds:SetUpdateCallback(function(index) ds:update_func(index) end)
Страницы: 1
Читают тему
Наверх