Добрый день
Простой код снятия стоп-заявки, в момент вызова стоп-заявка исполняется
function drop_stop_order(p_trans_id)
--
local bs, res = {}, ""
message('Begin drop_stop_order trans_id=' .. p_trans_id)
for i=0,(tonumber(getNumberOf("stop_orders"))-1) do
bs=getItem("stop_orders",i)
if bit.band(bs.flags, 1)~=0 and bs.trans_id == p_trans_id then
message('Send drop stop-order trans_id='..bs.trans_id);
local Transaction={
["TRANS_ID"] = tostring(bs.trans_id),
["ACTION"] = "KILL_STOP_ORDER",
["CLASSCODE"] = 'SPBFUT',
["SECCODE"] = 'SiH5', -- инструмент
["STOP_ORDER_KEY"] = tostring(bs.ordernum),
["ACCOUNT"] = 'SPBFUTxxx'
}
-- Если функция вернула строку диагностики ошибки, то значит транзакция не прошла
local Result = sendTransaction(Transaction);
if Result ~= "" then
message("Drop stop-order error!\nОШИБКА: "..tostring(Result));
end
end
endend
В терминале сообщения:
Begin drop_stop_order trans_id=142604
Send drop stop-order trans_id=142604
и в обход скрипта насколько понял сообщение: Не удается снять стоп-заявку N [1217138444]
То есть сообщения "Drop stop-order error!\nОШИБКА: "..tostring(Result) нет, а должно судя по документации.
Почему sendTransaction не вернула ошибку??
Простой код снятия стоп-заявки, в момент вызова стоп-заявка исполняется
function drop_stop_order(p_trans_id)
--
local bs, res = {}, ""
message('Begin drop_stop_order trans_id=' .. p_trans_id)
for i=0,(tonumber(getNumberOf("stop_orders"))-1) do
bs=getItem("stop_orders",i)
if bit.band(bs.flags, 1)~=0 and bs.trans_id == p_trans_id then
message('Send drop stop-order trans_id='..bs.trans_id);
local Transaction={
["TRANS_ID"] = tostring(bs.trans_id),
["ACTION"] = "KILL_STOP_ORDER",
["CLASSCODE"] = 'SPBFUT',
["SECCODE"] = 'SiH5', -- инструмент
["STOP_ORDER_KEY"] = tostring(bs.ordernum),
["ACCOUNT"] = 'SPBFUTxxx'
}
-- Если функция вернула строку диагностики ошибки, то значит транзакция не прошла
local Result = sendTransaction(Transaction);
if Result ~= "" then
message("Drop stop-order error!\nОШИБКА: "..tostring(Result));
end
end
endend
В терминале сообщения:
Begin drop_stop_order trans_id=142604
Send drop stop-order trans_id=142604
и в обход скрипта насколько понял сообщение: Не удается снять стоп-заявку N [1217138444]
То есть сообщения "Drop stop-order error!\nОШИБКА: "..tostring(Result) нет, а должно судя по документации.
Почему sendTransaction не вернула ошибку??