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