Порядок работы со стоп-ордером

Страницы: 1
RSS
Порядок работы со стоп-ордером, Отслеживание цепочки стоп-ордер->ордер->исполнение
 
Здравствуйте.
Помогите пожалуйста разобраться с определением исполнения заявки по стоп=ордеру.
Цель следующая
1) есть сигнал на покупку
2) дождаться когда цена вырастет до необходимого уровня (выставляю стоп-ордер на нужную цену)
3) приобрести по  нужной цене (стоп-ордер выставляет заявку на покупку)
4) отслеживаю исполнение заявки созданной стоп-ордером

У меня проблема в следующем
Я могу создать стоп-ордер и определить что он исполнился т.е. создана новая заявка в функции OnTransReply trans_reply.status==3
Но то что дальше для меня загадка,
как узнать с каким номером была создана заявка
возможно ли присвоить свой номер для такой заявки
как ее отменить
как узнать сто она исполнилась?
 
Здравствуйте,
Цитата
Владимир Киселев написал:
как узнать с каким номером была создана заявка

В OnTransReply будет содержаться номер заявки

Цитата
Владимир Киселев написал:
возможно ли присвоить свой номер для такой заявки
Вы можете присвоить свой номер при отправке транзакции в параметре TRANS_ID

Цитата
Владимир Киселев написал:
как ее отменить
Отменить можно знач номер транзакцией KILL_ORDER

Цитата
Владимир Киселев написал:
как узнать сто она исполнилась?

Статус заявки можно определить по полю flags
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
Цитата
В OnTransReply будет содержаться номер заявки
Цитата
Вы можете присвоить свой номер при отправке транзакции в параметре TRANS_ID
Цитата
Отменить можно знач номер транзакцией KILL_ORDER
Цитата
Статус заявки можно определить по полю flags
Это я понимаю и делаю именно так.
Вопрос в другом.
Я создал стоп-ордер. Который при определенных условиях срабатывает и создает НОВУЮ ЗАЯВКУ (о которой у меня нет никаких данных) по требуемой цене.
Вопрос именно в том как получить атрибуты и можно ли ими управлять до создания заявки создаваемой стоп-ордером.
 
Цитата
Владимир Киселев написал:
Вопрос именно в том как получить атрибуты и можно ли ими управлять до создания заявки создаваемой стоп-ордером.

Вы когда ставите стоп заявку, то сами указываете цену по которой выставится лимитированная заявка.
Конечно если мы говорим о стоп заявке Тейк профит, то там заранее узнать цену лимитированной заявки никак нельзя.
 
Про цену я тоже понимаю.
Но как узнать что:
  • стоп-ордер сработал

  • создана заявка по стоп-ордеру
  • номер созданной по стоп-ордеру заявки
  • новая заявка сработала?
 
Цитата
Владимир Киселев написал:
стоп-ордер сработал

По статусу стоп заявки в поле flags

Цитата
Владимир Киселев написал:
создана заявка по стоп-ордеру

статус стоп заявки будет "исполнена"

Цитата
Владимир Киселев написал:
номер созданной по стоп-ордеру заявки

он будет в поле linkedorder когда стоп заявка исполнится

Цитата
Владимир Киселев написал:
новая заявка сработала?

все по тому же полю flags но уже не для стоп заявки а для обычной
или можно смотреть поле filled_qty  "Исполненное количество" когда оно станет равно qty "Количество в лотах" делаем вывод что лимитированная заявка исполнилась.
 
Так стало понятнее.
Спасибо большое. Попробую отпишусь
 
Еще вопрос. После срабатывания стоп-ордера 4 раза срабатывает метод OnOrder. В таблице ниже приведены данные срабатываний.
Я понимаю первое - заявка выставлена и последнее - заявка исполнена. А вот 2 промежуточных срабатывания мне совершенно непонятны.
Очень хочется наглядное представление того как происходит вызов функций при выставлении и исполнении заявок
[8924]   OnOrder-order_num 4203415[8924] OnOrder-order_num 4203415[8924] OnOrder-order_num 4203415[8924] OnOrder-order_num 4203415
[8924] OnOrder-flags 25[8924] OnOrder-flags 1048601[8924] OnOrder-flags 1048601[8924] OnOrder-flags 1048600
[8924] OnOrder-brokerref  132690//130521[8924] OnOrder-brokerref    132690//130521[8924] OnOrder-brokerref    132690//130521[8924] OnOrder-brokerref    132690//130521
[8924] OnOrder-userid   MU0007400004[8924] OnOrder-userid     MU0007400004[8924] OnOrder-userid     MU0007400004[8924] OnOrder-userid     MU0007400004
[8924] OnOrder-firmid    MC0007400000[8924] OnOrder-firmid      MC0007400000[8924] OnOrder-firmid      MC0007400000[8924] OnOrder-firmid      MC0007400000
[8924] OnOrder-account     L01+00000F00[8924] OnOrder-account       L01+00000F00[8924] OnOrder-account       L01+00000F00[8924] OnOrder-account       L01+00000F00
[8924] OnOrder-price 128.61[8924] OnOrder-price 128.61[8924] OnOrder-price 128.61[8924] OnOrder-price 128.61
[8924] OnOrder-qty      1[8924] OnOrder-qty      1[8924] OnOrder-qty      1[8924] OnOrder-qty      1
[8924] OnOrder-balance       1[8924] OnOrder-balance         1[8924] OnOrder-balance         1[8924] OnOrder-balance         0
[8924] OnOrder-value        1286.1[8924] OnOrder-value        1286.1[8924] OnOrder-value        1286.1[8924] OnOrder-value        1286.1
[8924] OnOrder-accruedint         0[8924] OnOrder-accruedint         0[8924] OnOrder-accruedint         0[8924] OnOrder-accruedint         0
[8924] OnOrder-yield          0[8924] OnOrder-yield          0[8924] OnOrder-yield          0[8924] OnOrder-yield          0
[8924] OnOrder-trans_id          0[8924] OnOrder-trans_id          1762[8924] OnOrder-trans_id          1762[8924] OnOrder-trans_id          1762
[8924] OnOrder-client_code          132690[8924] OnOrder-client_code            132690[8924] OnOrder-client_code            132690[8924] OnOrder-client_code            132690
[8924] OnOrder-price2           0[8924] OnOrder-price2           0[8924] OnOrder-price2           0[8924] OnOrder-price2           0
[8924] OnOrder-settlecode            Y2[8924] OnOrder-settlecode              Y2[8924] OnOrder-settlecode              Y2[8924] OnOrder-settlecode              Y2
[8924] OnOrder-uid             0[8924] OnOrder-uid               32690[8924] OnOrder-uid               32690[8924] OnOrder-uid               32690
[8924] OnOrder-exchange_code             [8924] OnOrder-exchange_code             [8924] OnOrder-exchange_code             [8924] OnOrder-exchange_code            
[8924] OnOrder-activation_time             0[8924] OnOrder-activation_time               0[8924] OnOrder-activation_time               0[8924] OnOrder-activation_time               0
[8924] OnOrder-linkedorder 0[8924] OnOrder-linkedorder 221552[8924] OnOrder-linkedorder 221552[8924] OnOrder-linkedorder 221552
 
Здравствуйте,
Колбеки обусловлены установкой/обновлением параметров на заявке
 
Это я понял из описания функции. Я вывел все данные ордера которые приходят в функцию.
Жаль таблица криво отображается.
Во втором вызове изменились флаги. В первый раз зачение 25(DEC) во втором 1048601(DEC). Я так и не понял почему такое большое число( для вывода использовал tostring(order.flags))  получаются значащие биты старше 15-го.
Так же изменились идентификаторы UID и TRANS_ID и LINKEDORDER, В следующем вызове (третьем) изменились только параметры datetime и withdraw_datetime.

И возможно ли добавить в документацию данные о том, какие события (заявка установлена, заявка исполнена (исполнена частично) и т.п.)  как влияют на значения полей таблицы ORDER, чтобы избежать глупых вопросов.

Вроде бы что может быть проще выставить стоп-ордер, взять созданную им заявку и отслеживать ее состояние. Но вот не совсем прозрачная логика срабатываний функций обратного вызова, сделал для меня эту задачу какой-то трудно решаемой.
Я уже подумываю отказаться от создания стоп-ордеров и самому реализовать данный функционал.
 
Цитата
Владимир Киселев написал:
получаются значащие биты старше 15-го.

в параметре flags могут быть служебные флаги, которые ровным счетом ничего не значат для клиента.
все значимые флаги описаны в документации, те которых там нет, не предназначены для использования.

Цитата
Владимир Киселев написал:
И возможно ли добавить в документацию данные о том, какие события (заявка установлена, заявка исполнена (исполнена частично) и т.п.)  как влияют на значения полей таблицы ORDER, чтобы избежать глупых вопросов.

Нет так, как все возможные сценарии описать не возможно.
Можно сказать что все события касающиеся заявок приводят к изменению параметров заявок.
 
Цитата
Sergey Gorokhov написал:
Можно сказать что все события касающиеся заявок приводят к изменению параметров заявок.

в этом месте есть ряд исключений, например в случае перезаказа данных
 
вопрос не в тему, но по поводу.
интересно, разработчики все продолжают утверждать,
что QLUA сделана для не подготовленных пользователей,
или они уже поняли,
что нужна основательная подготовка не только в знании квик,
но  и
в технологии разработки программ,
синхронизации потоков,
навыков создания событийных систем
и т д. и т п
Страницы: 1
Читают тему
Наверх