Написал простого робота, который покупает по рыночной стоимости и продает по тейк-профиту, но если график пошел не туда (куда надо) ставлю фьючерс на продажу по рыночной стоимости, а стоп- заявку пытаюсь снять, но система 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 |
человек (не робот)