

local Titles, Entries, Desk = {}, {}, {}
local Wn1_Hndl
local Wn1_Field1, Wn1_Field2, Wn1_Field3, Wn1_Field4, Wn1_Field5
= "Код CALL", "Страйк", "Дельта CALL", "Дельта расч", "Теор. расч"
function OnInit (scriptPath)
qu = require ("QuikUtil(qu)") -- qc, lu, tu
blk = require ("BlackScholes(blk)")
glb_ScriptDir, glb_ScriptName = lu.SplitPath (scriptPath)
message (glb_ScriptName .." started")
server = require ("OptionDesk")
end -- OnInit()
function OnStop (signal)
if Wn1_Hndl then DestroyTable (Wn1_Hndl) end
StopFlag = true
return 1000 -- 1 sec
end
local function ShowWin (cols)
for k = 1, #Desk do
local calCode = Desk[k][Entries[Wn1_Field1]]
if calCode:sub (3,3) == "0" then
calCode = calCode:sub (1,2) .
Функция OnTrade
Сохранение параметров сделки в файл.
Работа с таблицей сделок.
Сохранение всех сделок дня.
Скрипт автосохранения всех заявок и сделок под завершение торгового дня.
Для отслеживания прошедших сделок мы можем задействовать функцию обратного вызова OnTrade. Она во многом похожа по логике на OnOrder, только возвращает коллбэки уже по исполненным сделкам. В случае, если заявка разбивается на несколько сделок, мы получим информацию по каждой.
В файле QLUA.chm в директории терминала находим через поиск описание самой функции:
Всем привет, только учусь работать с QUIK и LUA, возникла проблема с выводом баланса.
Вот скрипт:
function main()
Firm_ID = «MC0139600000»
client_code = «4105TE2»
moneyRu = getMoneyEx(Firm_ID, client_code, «EQTV», «SUR»,0)
TradeBalance = moneyRu.currentbal/2
message('Баланс RUB = '..moneyRu.currentbal)
if(FakeBalance>0)
then
message('Баланс RUB = '..moneyRu.currentbal)
else
message('Баланс для покупки = '..TradeBalance)
end
end
Выдает ошибку attempt to index a nil value (global 'moneyRu')
Буду очень благодарен если кто-нибудь подскажет в чем проблема.
