Условие срабатывания мне стоп заявки, мне нужно для определения ветви по которому пойдет программа (если стоплосс, при соблюдении некоторых условий, банальный перезаход по тому же сигналу, если тейкпрофит, то ждем нового сигнала). Но, в любом случае, необходим контроль за тем исполнилась ли активная заявка? А если исполнилось, то полностью или на какую часть?
Опыт ручной торговли показывает, что часто одна заявка закрывается несколькими сделками. Опыта программирования у меня практически никакого нет, поэтому большая просьба - подскажите как это можно сделать наиболее изящным и простым способом можно это сделать.
Для устранения возможной возможной неоднозначности анализирую не цену сделки, а цену выставленной обычной заявки в результате исполнения стоп заявки. Для этого контролирую исполнение стоп заявки с помощью OnTransReply или OnOrder и далее по уникальному TRANS_ID (проверял выставленный у стоп заявки сохраняется и у обычной) и по времени выставления - получаю цену выставленной обычной заявки (через OnOrder или таблицы заявок QWIKa). Дальше все просто.
Вопрос задавал для того, чтобы узнать можно ли это сделать проще.
Вопрос заключался можно ли с помощью каких либо флагов или параметров сделки просто и точно определить условие по которому исполнилось стоплосс и тейкпрофит заявка. Алгоритм, рассматриваемый мной, предполагает различные действия в каждом случае.
Анализ по цене сделки понятен, но усложняет программу и может быть не всегда однозначен при малых таймфреймах (например минутки - стопы относительно близки к тейкпрофиту) и малой ликвидности (это почти все на этих таймфреймах, за исключением RI и Si).
Но если нет простой возможности - значит придется анализировать цену сделки ( и,естественно, срабатывание стоплосс и тейкпрофит заявки должно предполагать контроль и доведение позиции до сделки если этого не произошло).