Добрый вечер!
Помогите пожалуйста, при попытке получить данные последней закрытой свечи (открытие, хай, лоу, закрытие) выдаются "левые" данные. Код скрипта и картинка с выводимыми данными ниже:
is_run = true
-- присванивание переменным начальных базовых значений торгового алгоритма
Account = "SPBFUT000oy" -- торговый счет
Class_Code = "SPBFUT" -- класс инструмента
Sec_Code = "SiM9" -- код инструмента
TF = INTERVAL_M15 -- таймфрейм
function main()
-- подписываемся на получение данных свечей по инструменту в массив ds
ds=CreateDataSource(Class_Code, Sec_Code, TF)
ds:SetEmptyCallback()
while is_run do
sleep(1000) -- обрабатываем цикл с задержкой 1сек.
local High = ds:H(1)
local Low = ds:L(1)
message("Low = "..(Low).."\n".."High = "..(High) ,1)
end
end
-----------
function OnStop()
is_run = false
ds:Close()
end
подскажите, что я делаю не так?
Помогите пожалуйста, при попытке получить данные последней закрытой свечи (открытие, хай, лоу, закрытие) выдаются "левые" данные. Код скрипта и картинка с выводимыми данными ниже:
is_run = true
-- присванивание переменным начальных базовых значений торгового алгоритма
Account = "SPBFUT000oy" -- торговый счет
Class_Code = "SPBFUT" -- класс инструмента
Sec_Code = "SiM9" -- код инструмента
TF = INTERVAL_M15 -- таймфрейм
function main()
-- подписываемся на получение данных свечей по инструменту в массив ds
ds=CreateDataSource(Class_Code, Sec_Code, TF)
ds:SetEmptyCallback()
while is_run do
sleep(1000) -- обрабатываем цикл с задержкой 1сек.
local High = ds:H(1)
local Low = ds:L(1)
message("Low = "..(Low).."\n".."High = "..(High) ,1)
end
end
-----------
function OnStop()
is_run = false
ds:Close()
end
подскажите, что я делаю не так?