Скрипт должен купить 1 лот по рыночной цене, затем цену покупки нужно сохранить в файл. Файл создается при покупке, значит функция OnTransReply запускается, а вот в файл ничего не записывается.
Код |
---|
is_run = true
flag1=true
function OnStop(s)
is_run = false
end
function main()
while is_run do
sleep(2000)
end
end
if flag1==true then
tbr = {
["CLASSCODE"]="CETS",
["SECCODE"]="USD000UTSTOM",
["ACTION"]="NEW_ORDER",
["ACCOUNT"]="MB1002600002",
["CLIENT_CODE"]="000000400237",
["TYPE"]="M",
["OPERATION"]="B",
["QUANTITY"]="1",
["PRICE"]="0",
["TRANS_ID"]="1"
}
resBR=sendTransaction(tbr)
message(resBR,1)
sleep(2000)
flag1=false
end
function OnTransReply(trans_reply)
--Пытается открыть файл в режиме "чтения/записи"
f = io.open(getScriptPath().."\\der.txt","r+");
-- Если файл не существует
if f == nil then
-- Создает файл в режиме "записи"
f = io.open(getScriptPath().."\\der.txt","w");
-- Закрывает файл
f:close();
-- Открывает уже существующий файл в режиме "чтения/записи"
f = io.open(getScriptPath().."\\der","r+");
end;
-- Записывает в файл 2 строки
f:write(trans_reply["price"]); -- "\n" признак конца строки
-- Сохраняет изменения в файле
f:flush();
end
|