Простой код снятия стоп-заявки, в момент вызова стоп-заявка исполняется
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 не вернула ошибку??
Добрый день. Выставляю скриптом связанную заявку sendTransaction(LinkedTransaction) к примеру на продажу, задав TRANS_ID, ['STOP_ORDER_KIND'] = 'WITH_LINKED_LIMIT_ORDER', ['KILL_IF_LINKED_ORDER_PARTLY_FILLED'] = 'YES', ['LINKED_ORDER_PRICE'], ['OPERATION'] = 'S', и другие необходимые поля. Срабатывает стоп-заявка на продажу, Quik исходную связанную заявку на продажу снимает, и выставляет заявку по стопу, при этом дав новой заявке тот же trans_id. Но почему поиск заявки SearchItems перестаёт видеть эту заявку по стопу созданную Квиком автоматом ? i = SearchItems("orders", 0, getNumberOf("orders")-1, fn, "trans_id") - не находит ..
1. По полям которые допускаются на Доске опционов - Цена последней сделки, Теор. цена, Спрос, Предложение и т.д. Предлагаете по Таблице "Текущих торгов" для опционов - устанавливать оповещения, среди сотен опционов .. попробуйте по этой таблице насколько быстро и удобно найти нужный опцион с нужным страйком ..
2. Предлагаете заменить штатную систему оповещений - вызовами Message()? Мне больше работы и медленнее работа терминала будет. А программный интерфейс к штатным оповещениям вы сделать не хотите значит?
Пожелания: 1. Можно наконец сделать нормальные оповещения с Доски опционов как по другим таблицам, а не то что сейчас не понятно о чем: "ЦЕНА/ПРЕМИЯ" 2. Можно программный интефейс сделать на QLua для работы с оповещениями Quik
Формирование звуковых алертов в таблице ”Оповещения” с помощью Lua, Необходимо автоматическое формирование звуковых алертов в таблице ”Оповещения” для роботов-помощников