Я так написал робот на Lua QUIK который проверяет при старте всё ли хорошо -- почему-то именно так меня всё работает:
Код |
---|
function OnInit(script)
is_run = true
end
function OnStop()
is_run = false
end
function main()
birzhaSPB = 'SPBXM'
birzhaSPBDE = 'SPBDE'
birzhaMSK = 'TQBR'
birzhaNYSEbest = 'NYSE_BEST'
birzhaNasdaqBest = 'NASDAQ_BEST'
birzhaMSKvalyuta = 'CETS'
BabloKodUSD = 'USD000UTSTOM'
BabloKodEUR = 'EUR_RUB__TOM'
birzhaMSKvalyutaSmall = 'CETS_S1'
BabloKodUSDsmall = 'USD000SMALL'
BabloKodEURsmall = 'EUR000SMALL'
is_run_test = true
while is_run_test and is_run do is_run_test = false; message('Загрузка...'); sleep(9999)
for key in pairs(XXXXsFull) do local result = getParamEx(XXXXsFull[key].birzha, key, 'TRADINGSTATUS')
if result.result == '1' then elseif result.result == '0' then is_run_test = true else message('пипец is_run_test TRADINGSTATUS '..key, 3) end
if getBuySellInfo(firm, clients[1], XXXXsFull[key].birzha, key, 0).share == nil then is_run_test = true end
end --for key in pairs(XXXXsFull)
end --while is_run_test
sleep(9999)
-- дальше робот работает спокойно
while is_run do
USDRUB = getParamEx(birzhaMSKvalyuta, BabloKodUSD, 'LAST').param_value
EURRUB = getParamEx(birzhaMSKvalyuta, BabloKodEUR, 'LAST').param_value
EURUSD = EURRUB/USDRUB
-- дальше робот работает спокойно
if os.date('%H%M')=='2304' then is_run = false else sleep(9999) end -- настоящие торги закончены -- пора спать
end --while is_run
end --main()
|
Замечания по коду приветствуются!