Написал простого робота, который покупает по рыночной стоимости и продает по тейк-профиту, но если график пошел не туда (куда надо) ставлю фьючерс на продажу по рыночной стоимости, а стоп- заявку пытаюсь снять, но система Quik выдает сообщение, что снять указанную заявку не может. Самые простые причины допускаю или ошибка в коде или ошибка в определении номера заявки и в коде, но как локализовать причину ошибки не могу понять. Вот часть кода на всякий случай, может кто то что то подскажет?
Поиск номера ордера по номеру транзакции
И код транзакции на снятие заявки по номеру ордера заявки
Поиск номера ордера по номеру транзакции
| Код |
|---|
...
ordernum=snat_zayvk(trans) --номер заявки по которой была отправлена транзакции на покупку ТП
stopzayvka(ordernum)
...
function snat_zayvk(tran)
for i=0,getNumberOf('orders')-1 do --количество записей в таблице
local orders = getItem('orders', i); -- получает строку с номером i
if tonumber(orders.trans_id)==tonumber(tran) then
ordernum=tonumber(orders.order_num)
end
end
return ordernum
end
|
| Код |
|---|
function stopzayvka(nom_order)
transid_m=tonumber(osdat());
local Transaction={
['TRANS_ID'] = tostring(transid_m),
['ACCOUNT'] = 'SPBFUT000pf',
['CLASSCODE'] = 'SPBFUT',
['ACTION'] = 'KILL_ORDER',
['ORDER_KEY'] = tostring(nom_order)
}
sendTransaction(Transaction)
end
|
человек (не робот)