Роман, это нормально.
Дело в том, что при открытом графике данные уже находятся у вас в терминале, поэтому CreateDataSource отдает данные практически моментально, ну или с минимальной задержкой.
Если же график закрыт, то данные сначала должны загрузиться с сервера на терминал, а на это нужно некоторое время.
Добавьте в код ожидание загрузки данных, должно помочь.
Код |
---|
ds,error_desc=CreateDataSource(class_code,sec_code,interval)
local n=0
while(ds:Size()==0)and(n<100)do sleep(100) n=n+1 end -- Ждем загрузки данных не более 10 секунд
if(ds:Size()>0)then message("Данные графика получены") else message("Ошибка получения данных") end |