Здравствуйте,
Развейте пожалуйста мои сомнения насчет того, что 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 |