Групповое снятие заявок

Страницы: 1
RSS
Групповое снятие заявок
 
Добрый день.
Прошу подсказать, возможно ли снятие группы заявок, но не всех, которые есть в таблице заявок, по определенному признаку.
При выставлении заявок в поле CLIENT_CODE записывается определенный код, который отражается в таблице заявок в столбце "Комментарий".При этом есть заявки выставленные вручную, у которых в столбце комментарий пустота. В транзакции Kill_All_FUTURES_ORDERS указываю это же код в полях CLIENT_CODE и COMMENT (пробовал и по одному полю). С упорством достоного лучшего применения сносятся все существующие заявки. Есть ли выход
 
Здравствуйте, Александр4691.

Команда снятия группы заявок по условию «KILL_ALL_FUTURES_ORDERS» обрабатывается следующим образом:

1. Параметры «CLASSCODE», «TRANS_ID», «ACTION», «ACCOUNT» являются обязательными.
2. Дополнительный параметр: «OPERATION».
3. Снятию подлежат заявки, соответствующие всем указанным в транзакции параметрам (логическое «И»).

Пример транзакции на снятие всех заявок на срочном рынке FORTS на покупку контрактов на курс акций Ростелеком -ао:
TRANS_ID=50; ACCOUNT=SPBFUT00001; ACTION=KILL_ALL_FUTURES_ORDERS; OPERATION=B; CLASSCODE=SPBFUT; BASE_CONTRACT=RTKM;

См. Руководство пользователя QUIK (Раздел 6. Совместная работа с другими приложениями, 6.9. Импорт транзакций).
 
Здравствуйте, Карина. Спасибо за оперативный ответ.
Фактическая транзакция выглядит так:

function Kill_All_FUTURES_ORDERS(trans_id);
Transaction = {  
   ACCOUNT= account,                  
   ACTION = "KILL_ALL_FUTURES_ORDERS",
   TRANS_ID = tostring(trans_id),    
   CLASSCODE = class,                
   SECCODE = insrument,                
   BASE_CONTRACT = base_contract,    
   CLIENT_CODE= client_cod,            
   COMMENT=     client_cod
}

Обязательные параметры, указанные Вами, присутствуют, но Ваша трактовка отличается от Руководство пользователя QUIK
Раздел 6: Совместная работа с другими приложениями, где на стр. 35-36 :

1. Параметры «CLASSCODE», «TRANS_ID», «ACTION», ACCOUNT являются обязательными.
2. Возможные дополнительные параметры для команд снятия заявок по условию:
— «KILL_ALL_FUTURES_ORDERS»: «SECCODE», «ACCOUNT», «OPERATION»,
«COMMENT», «CLIENT_CODE», «BASE_CONTRACT».

немного выше, на стр. 34 указывается:
BASE_CONTRACT Идентификатор базового контракта для фьючерсов или опционов.
Обязательный параметр снятия заявок на рынке FORTS
поэтому он присутствует

ещё немного выше на стр. 33
COMMENT Текстовый комментарий, указанный в заявке. Используется при снятии
группы заявок
поэтому сюда записывается код, который при выставлениии заявки этим скриптом был присвоен этим заявкам:

function Sent_Order(DirectOrder, PriceOrder, VolumeOrder, trans_id);
Transaction = {
...
CLIENT_CODE= client_cod,
...
}
и этот код отражается в таблице заявок в столбце "Комментарий"

параметр CLIENT_CODE в «KILL_ALL_FUTURES_ORDERS» задан на всякий случай, чтобы различие с заявками выставленными вручную было более очевидно.

Поэтому повторю свой вопрос: принципиально можно ли в скрите Lua снимать группу заявок по условию или только все (не считая разделение на B и S) одной транзакцией «KILL_ALL_FUTURES_ORDERS» или любой другой
 
Добрый день, Александр4691.

Да, Вы правы.
Параметр «BASE_CONTRACT» является обязательным для снятия заявок на рынке FORTS.
Также корректно указали по дополнительным параметрам.

По поводу снятия заявок по условию «KILL_ALL_FUTURES_ORDERS», соответствующих всем указанным в транзакции параметрам (логическое «И»).
Проверили информацию - на текущий момент значение параметров «COMMENT», «CLIENT_CODE» для такой транзакции не учитываются.
Данное поведение в настоящий момент изучается.
Постараемся в ближайшее время дать ответ.
 
Александр4691, изучили вопрос по динамическому импорту транзакций.

Всё же в настоящее время для транзакции «KILL_ALL_FUTURES_ORDERS» допустимо указать следующие параметры: «ACCOUNT», «OPERATION», «BASE_CONTRACT».

Неточности в документации будут исправлены в одной из ближайших версий ПО.
Приносим свои извинения за причиненные неудобства.

 
Спасибо за ответ и за признание наличия неточностей.
Проблему решил, добавив цикл просмотра таблицы заявок на совпадение номеров trans_id группы заявок и удаления необходимых заявок по одной.
Было бы очень хорошо, если бы доработали «KILL_ALL_FUTURES_ORDERS» на обработку параметров «COMMENT», «CLIENT_CODE», чтобы группу заявок можно было бы снимать одной операцией.  
Страницы: 1
Читают тему
Наверх