В последнее время в робот периодически выдает ошибку чтения стакана и падаете.
Не может прочитать поле price вот в таком коде (ошибка "attempt to index field &" в строках bidPrice = ... ; offerPrice = ...). Не спрашиваю как ее избежать, как ее обработать чтобы скрипт не падал? Как видите опробовал уже и разные проверочные условия, почему-то все-равно проскакивает...
function bidoffCalc(value) -- value -- таблица-объект с данными об инструменте, включая ссылку на базовый актив и его параметры (tShares.value)
Subscribe_Level_II_Quotes(value.cod, value.sec)
value.tbl = getQuoteLevel2(value.cod, value.sec) --считываем стакан
-- расчитываем bid ask
local indexBid = tonumber(value.tbl.bid_count);
local indexAsk = tonumber(value.tbl.offer_count);
local bidPrice = 0
local offerPrice = 0
if indexBid ~= nil then
if value.tbl.bid then
bidPrice = tonumber(value.tbl.bid[indexBid].price) -- !!!!!!!!!!! где-то здесь появляться ссылка на несуществующую переменную выпадает ошибка attemp to index
end
end
if indexAsk ~= nil then
if value.tbl.offer then -- если существует соответствующее значение
offerPrice = tonumber(value.tbl.offer[1].price)
end
end
return bidPrice, offerPrice -- NUMBER
end
Не может прочитать поле price вот в таком коде (ошибка "attempt to index field &" в строках bidPrice = ... ; offerPrice = ...). Не спрашиваю как ее избежать, как ее обработать чтобы скрипт не падал? Как видите опробовал уже и разные проверочные условия, почему-то все-равно проскакивает...
function bidoffCalc(value) -- value -- таблица-объект с данными об инструменте, включая ссылку на базовый актив и его параметры (tShares.value)
Subscribe_Level_II_Quotes(value.cod, value.sec)
value.tbl = getQuoteLevel2(value.cod, value.sec) --считываем стакан
-- расчитываем bid ask
local indexBid = tonumber(value.tbl.bid_count);
local indexAsk = tonumber(value.tbl.offer_count);
local bidPrice = 0
local offerPrice = 0
if indexBid ~= nil then
if value.tbl.bid then
bidPrice = tonumber(value.tbl.bid[indexBid].price) -- !!!!!!!!!!! где-то здесь появляться ссылка на несуществующую переменную выпадает ошибка attemp to index
end
end
if indexAsk ~= nil then
if value.tbl.offer then -- если существует соответствующее значение
offerPrice = tonumber(value.tbl.offer[1].price)
end
end
return bidPrice, offerPrice -- NUMBER
end