Всем добрый день.
Есть такой код:
Работает нормально, только после выполнения кода почему-то повторяются сообщения, которые находятся внутри functon OnTrade(trade). См. вложенный файл с серией сообщений после выполнения кода.
Подскажите, пожалуйста, с чем это связано и как исправить.
С уважением.
Есть такой код:
| Код |
|---|
ticker = {"VTBR"}
lot = {"1"}
trans_id = {os.time()+1}
account = "xxxxxx"
class_code = "yyyy"
client_code = "zzzzzzzz"
LastStatus = {nil}
run = true
function main()
TransOpenPos()
while run do sleep(1)
end
end
function OnStop()
run = false
end
function TransOpenPos()
for j = 1, #ticker do
local Transaction={
ACCOUNT = account;
CLIENT_CODE = client_code;
CLASSCODE = class_code;
SECCODE = ticker[j];
ACTION = 'NEW_ORDER';
OPERATION = 'S';
TYPE = 'M';
PRICE = 0;
QUANTITY = lot[j];
TRANS_ID = tostring(trans_id[j]);
}
local Res = sendTransaction(Transaction)
if Res ~= '' then message('TransOpenPos(): Ошибка отправки транзакции: '..Res) else message('TransOpenPos(): Транзакция отправлена')
end
end
end
function OnTrade(trade)
for j = 1, #ticker do
if trade.trans_id == trans_id[j] then
sleep(100);
message('OnTrade(): По транзакции №'..trade.trans_id..' успешно совершена сделка №'..trade.trade_num..' по цене '..trade.price..' объемом '..trade.qty)
qty_trades = getNumberOf("trades");
num_trade = 0;
for i = 0, qty_trades - 1 do
trade_find = getItem("trades", i);
if trade_find.sec_code == ticker then
num_trade = trade_find.trade_num
end
end
message("Номер сделки в торговой системе - "..trade.trade_num);
sleep(100);
end
end
end
|
Работает нормально, только после выполнения кода почему-то повторяются сообщения, которые находятся внутри functon OnTrade(trade). См. вложенный файл с серией сообщений после выполнения кода.
Подскажите, пожалуйста, с чем это связано и как исправить.
С уважением.