В функции OnInit, чтобы получить несколько свечей истории, выполняется следующий код:
Код |
---|
ds_sr, err = CreateDataSource(class, sr_sec, INTERVAL_H1) if not ds_sr then message(err, 1) end ds_sp, err = CreateDataSource(class, sp_sec, INTERVAL_H1) if not ds_sp then message(err, 1) end ds_sr : SetEmptyCallback() ds_sp : SetEmptyCallback() local i = 0 while (not(sz_sr and sz_sr and sz_sr > 0 and sz_sp > 0) and i < 30) do sleep(1000) sz_sr = ds_sr:Size() sz_sp = ds_sp:Size() i = i + 1 end message("i = "..i, 1) message("sz_sr, sz_sp = "..sz_sr..", "..sz_sp,1) |
По непонятной причине правильный размер истории выдается лишь при каждом втором запуске скрипта, а при остальных запусках переменные sz_sr и sz_sp имееют значение 0, несмотря на тридатисекундное ожидание правильного значения. В чем ошибка? Как гарантировать разумный Size при всех запусках?