Почему вы так агрессивны? Я просто посчитал, что это ошибка, тк нигде в руководстве не нашел указаний, что через луа эти транзакции не поддерживаются. Прошу прощения за беспокойство.
В разделе "Функции для работы с заявками" QPILE есть небольшой комментарий о том, что транзакции, выполняющие групповое снятие заявок, не поддерживаются: «KILL_ALL_ORDERS» – снять все заявки из торговой системы, «KILL_ALL_STOP_ORDERS» – снять все стоп-заявки, «KILL_ALL_NEG_DEALS» – снять все заявки на внебиржевые сделки и заявки на сделки РЕПО.
В продолжении темы хотел бы прояснить для себя ряд противоречий в руководстве пользователя quik 7.7
Цитата
Команды снятия группы заявок по условию («KILL_ALL_ORDERS», «KILL_ALL_STOP_ORDERS», «KILL_ALL_NEG_DEALS», «KILL_ALL_FUTURES_ORDERS») обрабатываются следующим образом:
Параметры «CLASSCODE», «TRANS_ID», «ACTION», «ACCOUNT» являются обязательными.
Возможные дополнительные параметры для команд снятия заявок по условию:
1. Так все же ACCOUNT - это обязательный параметр или дополнительный? (можно ли не указывать ACCOUNT, чтобы, например, разом сбросить заявки и на основном счете и на инвестиционном?) 2. Из qlua KILL_ALL_FUTURES_ORDERS работает или нет? 3. «ACCOUNT», «OPERATION» являются единственными возможными параметрами для KILL_ALL_FUTURES_ORDERS, или можно применять и другие параметры, например, SECCODE? 3-й вопрос обусловлен тем, что в том же руководстве в примерах есть следующее:
Цитата
Снятие всех заявок на срочном рынке FORTS на покупку контрактов на курс акций Ростелеком -ао
Алексей написал: 1. Так все же ACCOUNT - это обязательный параметр или дополнительный? (можно ли не указывать ACCOUNT, чтобы, например, разом сбросить заявки и на основном счете и на инвестиционном?)
Обязательный.
Цитата
Алексей написал: 2. Из qlua KILL_ALL_FUTURES_ORDERS работает или нет?
Работает.
Цитата
Алексей написал: 3. «ACCOUNT», «OPERATION» являются единственными возможными параметрами для KILL_ALL_FUTURES_ORDERS, или можно применять и другие параметры, например, SECCODE?
В данной транзакции нет такого параметра SECCODE, (можно увидеть если откроете форму ввода транзакции в терминале). Есть только базовый актив.
Цитата
Алексей написал: 3-й вопрос обусловлен тем, что в том же руководстве в примерах есть следующее:
Прошу тогда сделать соответствующие поправки в руководстве пользователя quik! А именно : 1.убрать ACCOUNT из перечня дополнительных параметров 2. для KILL_ALL_FUTURES_ORDERS указать следующие возможные дополнительные параметры: «OPERATION», «BASE_CONTRACT» и «???»
Прошу разъяснить, как работает 3-й параметр отбора заявок для группового снятия KILL_ALL_FUTURES_ORDERS, который в форме ввода транзакции обозначен как ТИП ЗАЯВКИ: ВСЕ, ОБЫЧНЫЕ, ВНЕСИСТЕМНЫЕ. Что это за градация заявок на рынке Forts? Как обозначаются сам параметр и его возможные значения при формировании заявки из qlua?
Алексей написал: 1.убрать ACCOUNT из перечня дополнительных параметров
На наш взгляд, для понимания фразы из документации
Цитата
"Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». "
вполне достаточно. убрать параметр из обязательных нельзя.
Цитата
Алексей написал: 2. для KILL_ALL_FUTURES_ORDERS указать следующие возможные дополнительные параметры: «OPERATION», «BASE_CONTRACT» и «???»
указать что? Они в документации есть.
Цитата
Алексей написал: Что это за градация заявок на рынке Forts?
Этот вопрос лучше задать специалистам биржи.
Цитата
Алексей написал: Как обозначаются сам параметр и его возможные значения при формировании заявки из qlua?
Для данного параметра константы не предусмотрено. Можно воспользоваться стандартным форматом полей транзакций, который можно увидеть если добавить транзакцию в "Карман транзакций" и от туда сохранить в tri файл. Открыв файл блокнотом Вы увидите как называются поля в стандартном формате. Смешивать форматы нельзя. В русском терминале только на русском, в английском, только на английском, менять нельзя.
Если можно, последний вопрос на эту тему: Из окна Таблица заявок доступна команда "Снять все активные заявки Ctrl+F8". Понятно, что можно самим написать простенькую процедуру, которая займется перебором содержимого таблицы заявок и по одной (по ее ORDER_KEY) снимет активные заявки. Но может быть есть простой доступ к этой команде из qlua? Вызовом одной какой-то функции или формированием одной определенной транзакции?
На наш взгляд, Вам уже был дан ответ на этот вопрос с самого начала:
Цитата
Alexandr Shumilin написал: Добрый день! В разделе "Функции для работы с заявками" QPILE есть небольшой комментарий о том, что транзакции, выполняющие групповое снятие заявок, не поддерживаются: «KILL_ALL_ORDERS» – снять все заявки из торговой системы, «KILL_ALL_STOP_ORDERS» – снять все стоп-заявки, «KILL_ALL_NEG_DEALS» – снять все заявки на внебиржевые сделки и заявки на сделки РЕПО.