Что то фигня получается, я подписываюсь на акцию к примеру Сбера - все окей - обновляемые данные приходят.
Через некоторые время я отписываюсь от колбека и через несколько секунд опять подписываюсь, подписка проходит без ошибок, НО - колбек уже не вызывается, то есть обновляемые данные не хотят уже приходить.
Вот код демонстрирующий это:
Код |
---|
global_cntr=0; function my_callback_CreateDataSource_(my_table_data_candle_, code_class_, code_paper_, interval_, idx) message(code_paper_ ..":" .. interval_string_..":" ..tostring(my_table_data_history_candle_:C(idx)) ) if global_cntr == 13 then my_table_data_history_candle_:Close() --отписываемся message("CLOSE") end global_cntr=global_cntr+1 end function main() message("start") local code_class_1= "TQBR" local code_paper_1= "SBER" local intervakla_1= INTERVAL_M1 local my_table_1, error_desc_1 = CreateDataSource(code_class_1, code_paper_1, intervakla_1) ------------------------Проверка на ошибки:------------------- if error_desc_1 ~= nil then message("1:" .. error_desc_1) end -------------------------------------------------------------- status = my_table_1:SetUpdateCallback(function(idx)my_callback_CreateDataSource_(my_table_1, code_class_1, code_paper_1, intervakla_1, idx) end) while not stopped do sleep(1) if global_cntr == 14 then message("START_2") local code_class_1= "TQBR" local code_paper_1= "SBER" local intervakla_1= INTERVAL_M1 local my_table_2, error_desc_2 = CreateDataSource(code_class_1, code_paper_1, intervakla_1) ------------------------Проверка на ошибки:------------------- if error_desc_2 ~= nil then message("1:" .. error_desc_2) end -------------------------------------------------------------- status = my_table_2:SetUpdateCallback(function(idx)my_callback_CreateDataSource_(my_table_2, code_class_1, code_paper_1, intervakla_1, idx) end) message(tostring(status)) global_cntr = global_cntr + 1 message("END") break end end ------------------------- while not stopped do sleep(1) end ------------------------- end -- end main() |