Тема: Отписка от колбека SetUpdateCallback и сразу же подписка
Что то фигня получается, я подписываюсь на акцию к примеру Сбера - все окей - обновляемые данные приходят.
Через некоторые время я отписываюсь от колбека и через несколько секунд опять подписываюсь, подписка проходит без ошибок, НО - колбек уже не вызывается, то есть обновляемые данные не хотят уже приходить.
Вот код демонстрирующий это:
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()