KILL_ALL_ORDERS на ММВБ

Страницы: 1
RSS
KILL_ALL_ORDERS на ММВБ
 
Добрый день!

При попытке снять все заявки на ммвб приходит ошибка Отправка транзакций данного типа из QPILE-скрипта не поддерживается.

Код:

 trans_id = trans_id + 1
 local Transaction={
   ['TRANS_ID']  = tostring(trans_id),  
   ['CLASSCODE'] = 'TQBR',          
   ['ACTION']    = 'KILL_ALL_ORDERS',          
   ['CLIENT_CODE'] = 'xxxxx',  
 }

 local Res = sendTransaction(Transaction)
 
Цитата
Eskra написал:
Добрый день!

При попытке снять все заявки на ммвб приходит ошибка Отправка транзакций данного типа из QPILE-скрипта не поддерживается.

Код:

 trans_id = trans_id + 1
 local Transaction={
   ['TRANS_ID']  = tostring(trans_id),  
   ['CLASSCODE'] = 'TQBR',          
   ['ACTION']    = 'KILL_ALL_ORDERS',          
   ['CLIENT_CODE'] = 'xxxxx',  
 }

 local Res = sendTransaction(Transaction)
Какой у Вас вопрос?
Вы не верите данному сообщению?
Или у Вас претензия к разработчикам, что "нельзя", а Вам хочется.
 
Почему вы так агрессивны? Я просто посчитал, что это ошибка, тк нигде в руководстве не нашел указаний, что через луа эти транзакции не поддерживаются. Прошу прощения за беспокойство.
 
Добрый день!

В разделе "Функции для работы с заявками" QPILE есть небольшой комментарий о том, что  транзакции, выполняющие групповое снятие заявок, не поддерживаются:
«KILL_ALL_ORDERS» – снять все заявки из торговой системы,
«KILL_ALL_STOP_ORDERS» – снять все стоп-заявки,
«KILL_ALL_NEG_DEALS» – снять все заявки на внебиржевые сделки и заявки на сделки РЕПО.
 
Я не думал, что для работы с луа надо читать еще и документацию по QPILE) Спасибо за ответ!
 
В продолжении темы хотел бы прояснить для себя ряд противоречий в руководстве пользователя quik 7.7

Цитата
Команды снятия группы заявок по условию («KILL_ALL_ORDERS»,  «KILL_ALL_STOP_ORDERS», «KILL_ALL_NEG_DEALS», «KILL_ALL_FUTURES_ORDERS»)  обрабатываются следующим образом:
  1. Параметры «CLASSCODE», «TRANS_ID», «ACTION»,  «ACCOUNT» являются обязательными.
  2. Возможные дополнительные параметры для команд снятия заявок по условию:
    • «KILL_ALL_ORDERS»: «SECCODE», «ACCOUNT», «OPERATION», «CLIENT_CODE», «COMMENT»
    • «KILL_ALL_STOP_ORDERS»: «SECCODE», «ACCOUNT», «OPERATION», «CLIENT_CODE», «COMMENT», «EXPIRY_DATE»
    • «KILL_ALL_NEG_DEALS»: «SECCODE», «ACCOUNT», «OPERATION», «CLIENT_CODE», «COMMENT», «PARTNER», «SETTLE_CODE»
    • «KILL_ALL_FUTURES_ORDERS»: «ACCOUNT», «OPERATION»
1. Так все же ACCOUNT - это обязательный параметр или дополнительный? (можно ли не указывать ACCOUNT, чтобы, например, разом сбросить заявки и на основном счете и на инвестиционном?)
2. Из qlua KILL_ALL_FUTURES_ORDERS работает или нет?
3. «ACCOUNT», «OPERATION» являются единственными возможными параметрами для KILL_ALL_FUTURES_ORDERS, или можно применять и другие параметры, например, SECCODE?
3-й вопрос обусловлен тем, что в том же руководстве в примерах есть следующее:
Цитата
Снятие всех заявок на срочном рынке FORTS
на покупку  контрактов на курс акций Ростелеком -ао
TRANS_ID=50; ACCOUNT=SPBFUT00001;  ACTION=KILL_ALL_FUTURES_ORDERS; OPERATION=B; CLASSCODE=SPBFUT;  BASE_CONTRACT=RTKM;
Видим, что для отбора снимаемых заявок используется BASE_CONTRACT.
 
Цитата
Алексей написал:
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 файл. Открыв файл блокнотом Вы увидите как называются поля в стандартном формате.
Смешивать форматы нельзя.
В русском терминале только на русском, в английском, только на английском, менять нельзя.
 
Разбираясь далее, я понял, что для KILL_ALL_FUTURES_ORDERS «BASE_CONTRACT» является обязательным параметром,
но остался вопрос про ТИП ЗАЯВКИ.
 
Цитата
Алексей написал:
но остался вопрос про ТИП ЗАЯВКИ.

Цитата
Sergey Gorokhov написал:
Этот вопрос лучше задать специалистам биржи.
 
Спасибо, понятно!

Если можно, последний вопрос на эту тему:
Из окна Таблица заявок доступна команда "Снять все активные заявки Ctrl+F8".
Понятно, что можно самим написать простенькую процедуру, которая займется перебором содержимого таблицы заявок и по одной (по ее ORDER_KEY) снимет активные заявки.
Но может быть есть простой доступ к этой команде из qlua? Вызовом одной какой-то функции или формированием одной определенной транзакции?
 
Алексей,

На наш взгляд, Вам уже был дан ответ на этот вопрос с самого начала:


Цитата
Alexandr Shumilin написал:
Добрый день!
В разделе "Функции для работы с заявками" QPILE есть небольшой комментарий о том, что  транзакции, выполняющие групповое снятие заявок, не поддерживаются:
«KILL_ALL_ORDERS» – снять все заявки из торговой системы,
«KILL_ALL_STOP_ORDERS» – снять все стоп-заявки,
«KILL_ALL_NEG_DEALS» – снять все заявки на внебиржевые сделки и заявки на сделки РЕПО.
Страницы: 1
Читают тему
Наверх