Здравствуйте,
Развейте пожалуйста мои сомнения насчет того, что Quik и в частности SetUpdateCallback() - опять работают, какбудто бы их написал через %опу, и что руки их %опы, растут, как раз таки у меня.
Использую такой простейший код для теста: просто вывожу последнюю цену сделки и обьем по последней минутной свече:
Данный код исправно работает.
НО, как только я вывожу код SetUpdateCallback в отдельный колбек, то ничего более не работает. Ошибок также в скрипте нет, но он не сообщает ни о каких измененениях, то есть колбек функция указанная в качестве параметра для SetUpdateCallback - тупо не вызывается при изменнеии цены:
Кто из нас рукожоп ? Я или разрабы Квика ? Надеюсь, что я.
Развейте пожалуйста мои сомнения насчет того, что Quik и в частности SetUpdateCallback() - опять работают, какбудто бы их написал через %опу, и что руки их %опы, растут, как раз таки у меня.
Использую такой простейший код для теста: просто вывожу последнюю цену сделки и обьем по последней минутной свече:
Код |
---|
function main() local class_code = "TQBR" -- Код класса local sec_code = "SBER" -- Код бумаги ds = CreateDataSource(class_code, sec_code, INTERVAL_M1) ds:SetUpdateCallback(function(index) local last_price = ds:C(index) local volume = ds:V(index) -- Получение объема по свече message("Last Price of " .. sec_code .. ": " .. tostring(last_price) .. ", Volume: " .. tostring(volume)) -- Вывод цены и объема по свече end) while true do sleep(1000) end end |
Данный код исправно работает.
НО, как только я вывожу код SetUpdateCallback в отдельный колбек, то ничего более не работает. Ошибок также в скрипте нет, но он не сообщает ни о каких измененениях, то есть колбек функция указанная в качестве параметра для SetUpdateCallback - тупо не вызывается при изменнеии цены:
Код |
---|
function updateCallback(index) local last_price = ds:C(index) local volume = ds:V(index) -- Получение объема по свече message("Last Price of " .. sec_code .. ": " .. tostring(last_price) .. ", Volume: " .. tostring(volume)) -- Вывод цены и объема по свече end function main() local class_code = "TQBR" -- Код класса local sec_code = "SBER" -- Код бумаги ds = CreateDataSource(class_code, sec_code, INTERVAL_M1) ds:SetUpdateCallback(updateCallback) while true do sleep(1000) end end |