Помогите получить цену по своей последней сделке по определенному инструменту.
Делаю так:
Код |
---|
Class = "SPBFUT" -- код класса
MyAccount = "SPBFUT000oy" -- номер счета
Emit = "SiM9" -- код инструмента
-- функция получения цены по своей последней сделке по инструменту:
function getLastPriceMyTrade(Cl,Acc,Em)
local function fn1(param1,param2) --локальная функция для отбора строк при помощи функции SearchItems
if (param1 == Acc and param2 == Em)then --фильтруем таблицу: отбираем стороки по номеру счета и инструменту
return true
else
return false
end
end
--получаем набор строк таблицы "trades", где были сделки по нашему счету и бумаге:
indexNeed = SearchItems("trades", 0, getNumberOf("trades")-1, fn1, "account,sec_code")
if(indexNeed~=nil)then --нашли хотя бы одну строку в таблице СДЕЛОК
local row = getItem("trades",indexNeed[-1]) -- здесь хочу взять последнюю строчку из набора строк indexNeed
-- получаю : attempt to index local 'row' (a nil value)
local PriceLastOrder = row.price --цена (названия полей возможных и имя в справочнике по ЛУА в папке КВИКа берем)
end
return PriceLastOrder
end
-----------------
function main()
local EntryPrice = getLastPriceMyTrade(Class,MyAccount,Emit)
message("EntryPrice = "..tostring(EntryPrice))
end
|