Изменение стоп-ордера средствами Lua

Страницы: 1
RSS
Изменение стоп-ордера средствами Lua
 
Можно создать стоп ордер - NEW_STOP_ORDER
Можно удалить стоп ордер - KILL_STOP_ORDER

Каждое из действий является 1 транзакцией и 1 событием.

Как грамотно написать функцию изменения текущего ордера, что-то вроде MODIFY_STOP_ORDER? Не нашел в сети материалов на данную тему. На форуме есть несколько не развернутых примеров. Хотелось бы больше информации.
Торговый привод на Lua: https://github.com/iv-litovchenko/Quik-Enter-Trade
 
Здравствуйте, Иван.

Развёрнутых примеров или готовых решений в виде функций, которые так, или иначе подают транзакции в торговую систему и манипулируют уже выставленными заявками мы не предоставляем.

В зависимости от того, что именно Вас интересует - мы можем представить некоторые общие рекомендации и соображения относительно того, на что следует обратить внимание при создании подобной функции. Однако постановка задачи, критерий её решения и критерии "грамотности" - Вам необходимо установить для себя самостоятельно и вместе с этим принять соответствующие риски за использование и распространение такого решения.

Если у Вас есть конкретные вопросы о том, как именно работают какие-либо функции QLUA в системе QUIK и это поможет Вам определиться с дальнейшим направлением при решении Вашей задачи - готовы на них ответить.

Что именно Вас интересует?
 
Т.к. изменение ордера это 2 транзакции, первая удаление, вторая добавление, может быть такой случай что ордер не удалится, а добавиться, или наоборот удалиться, но не добавиться, хотя обе транзакции отправлены без ошибок?
Торговый привод на Lua: https://github.com/iv-litovchenko/Quik-Enter-Trade
 
Иван,

Транзакции на снятие/выставление заявок могут быть корректно сформированы и отправлены из рабочего места с точки зрения синтаксиса lua и функции qlua, но в зависимости от указанных параметров транзакции могут быть отклонены сервером в случае неверных данных. Например, неверный номер стоп-заявки, которую хотите снять. Или средств для выставления стоп-заявки с новыми параметрами может оказаться недостаточно в условиях текущих настроек ведения Ваших позиций брокером.

Если исключить эти моменты - то при штатной работе сервера QUIK транзакции будут корректно обрабатываться сервером и снимать/выставлять стоп-заявки. В противном случае - после/перед снятием/выставлением стоп-заявок рекомендуется выполнять проверки - была ли указанная стоп-заявка действительно снята / выставлена.
Проверить статус какой-либо заявки и, соответственно, выполнение транзакции на снятие/выставление - можно с использованием функций "getItem", "getNumberOf", "SearchItems", и функций обратного вызова "OnOrder", "OnStopOrder".
 
Цитата
Andrey Bezrukov написал:
Иван,

Транзакции на снятие/выставление заявок могут быть корректно сформированы и отправлены из рабочего места с точки зрения синтаксиса lua и функции qlua, но в зависимости от указанных параметров транзакции могут быть отклонены сервером в случае неверных данных. Например, неверный номер стоп-заявки, которую хотите снять. Или средств для выставления стоп-заявки с новыми параметрами может оказаться недостаточно в условиях текущих настроек ведения Ваших позиций брокером.

Если исключить эти моменты - то при штатной работе сервера QUIK транзакции будут корректно обрабатываться сервером и снимать/выставлять стоп-заявки. В противном случае - после/перед снятием/выставлением стоп-заявок рекомендуется выполнять проверки - была ли указанная стоп-заявка действительно снята / выставлена.
Проверить статус какой-либо заявки и, соответственно, выполнение транзакции на снятие/выставление - можно с использованием функций "getItem", "getNumberOf", "SearchItems", и функций обратного вызова "OnOrder", "OnStopOrder".
Понял, спасибо.
И еще появился вопрос про sendTransaction() про TRANS_ID.
По большому счету генерация значения "TRANS_ID" на что-то влияет или нет.
Можно например всем "TRANS_ID" ставить всегда = 1 и для ордеров, и для стоп-ордеров, и для отмены стоп-ордеров.  
Торговый привод на Lua: https://github.com/iv-litovchenko/Quik-Enter-Trade
 
Цитата
Иван написал:
Цитата
Andrey Bezrukov написал:
Иван ,

Транзакции на снятие/выставление заявок могут быть корректно сформированы и отправлены из рабочего места с точки зрения синтаксиса lua и функции qlua, но в зависимости от указанных параметров транзакции могут быть отклонены сервером в случае неверных данных. Например, неверный номер стоп-заявки, которую хотите снять. Или средств для выставления стоп-заявки с новыми параметрами может оказаться недостаточно в условиях текущих настроек ведения Ваших позиций брокером.

Если исключить эти моменты - то при штатной работе сервера QUIK транзакции будут корректно обрабатываться сервером и снимать/выставлять стоп-заявки. В противном случае - после/перед снятием/выставлением стоп-заявок рекомендуется выполнять проверки - была ли указанная стоп-заявка действительно снята / выставлена.
Проверить статус какой-либо заявки и, соответственно, выполнение транзакции на снятие/выставление - можно с использованием функций "getItem", "getNumberOf", "SearchItems", и функций обратного вызова "OnOrder", "OnStopOrder".
Понял, спасибо.
И еще появился вопрос про sendTransaction() про TRANS_ID.
По большому счету генерация значения "TRANS_ID" на что-то влияет или нет.
Можно например всем "TRANS_ID" ставить всегда = 1 и для ордеров, и для стоп-ордеров, и для отмены стоп-ордеров.  
Вопрос по прежнему актуален про TRANS_ID.
Торговый привод на Lua: https://github.com/iv-litovchenko/Quik-Enter-Trade
 
Иван,
Цитата
Иван написал:
Можно например всем "TRANS_ID" ставить всегда = 1 и для ордеров, и для стоп-ордеров, и для отмены стоп-ордеров.  
Да, можно так сделать. Данный параметр не несёт в себе какой-либо определённой технической ценности для QUIK и может иметь любое значение, которое Вы ему присвоите. В т.ч. допускается использование данного параметра для каких-либо Ваших целей, например для организации/группировки транзакций выставленных в результате того, или иного сценарий, например.
Страницы: 1
Читают тему
Наверх