Добрый день!
Не могли бы вы мне помочь с одной проблемой, уже всю голову себе сломал.
Я пытаюсь собирать данные (OHLCV) по двум классам бумаг, чтобы записывать их в локальную базу SQL.
Для этого я написал такой код, который, работает на одной-двух бумагах, но при масштабировании на оба класса он вешает QUIK. Не могли бы вы подсказать, что мне сделать, чтобы избежать этих зависаний.
Заранее благодарен за любую помощь и идеи.
Не могли бы вы мне помочь с одной проблемой, уже всю голову себе сломал.
Я пытаюсь собирать данные (OHLCV) по двум классам бумаг, чтобы записывать их в локальную базу SQL.
Для этого я написал такой код, который, работает на одной-двух бумагах, но при масштабировании на оба класса он вешает QUIK. Не могли бы вы подсказать, что мне сделать, чтобы избежать этих зависаний.
Код |
---|
classes = "TQBR,TQOB"; interval = INTERVAL_M1; function MyCallbackForAllStocks(class, security, index) local candle = index - 1 local Datetime = ds:T(candle).year * 10000000000+ ds:T(candle).month * 100000000 + ds:T(candle).day*100000 + ds:T(candle).hour * 10000 + ds:T(candle).min * 100 + ds:T(candle).sec; --Получаем дату и время последней закрывшейся свечки local cOpen = ds:O(candle); local cHigh = ds:H(candle); local cLow = ds:L(candle); local cClose = ds:C(candle); local cVolume = ds:V(candle); --Затем данные упаковываются в вектор и передаются в SQL базу. end end --Создаётся обёртка function DataSource(class,security) ds = CreateDataSource(class, security, interval); ds:SetUpdateCallback(function(index) MyCallbackForAllStocks(class,security,index) end) end --Скрипт запускается единожды вот такой конструкцией: for class in string.gmatch(classes,"(%w+)") do local securities = getClassSecurities(class); for security in string.gmatch(securities,"(%w+)") do DataSource(class, security); end end |
Заранее благодарен за любую помощь и идеи.