Слияние позиций

 

Коллеги, подскажите, пжлст, правильно ли я понимаю, что

Если открыты последовательно поза А и поза Б (после), то она (Б) идентифицируется терминалом как А (долив)? И закрывать надо позиции по идентификатору А? А можно ли закрыть позу А по условиям для А, а Б - для Б? Или я что-то не догоняю? 

 
думаю так, что позиция по инструменту едина. либо закрываем А а потом открываем Б. либо усредняем/наращиваем - к А добавляем Б. возможно использовать стоп ордера или открыть контр-позиции для закрытия (части) позиции А или АБ.  
 
vspexp:
думаю так, что позиция по инструменту едина. либо закрываем А а потом открываем Б. либо усредняем/наращиваем - к А добавляем Б. возможно использовать стоп ордера или открыть контр-позиции для закрытия (части) позиции А или АБ.  
У меня сделки закрываются не по тп и сл, а по индивидуалным ситуациям. Отдельно А и Б закрываются, но вот когда они открыты единовременно, то по условиям закрывается первая, а вторая тянет до тп/сл. Вот озадачился... Н могу понять почему. Если это так и должно быть, то буду думать, как этого избежать... 
 
возможно переход на 1/3 (1/4) часть от объема спасет позицию. но одновременно открыть два противоположных ордера в мт 5 не удастся - один перебьет другой - будет открыта итоговая позиция. (а отложенников может быть масса) 
 
Forex_Noob: Если открыты последовательно поза А и поза Б (после), то она (Б) идентифицируется терминалом как А (долив)?

Идеология торговли на МТ5 - это возможность существования только одной открытой позиции по выбранному инструменту. Т.е. некорректно говорить, что на одном символе открыто несколько позиций. Позиция всегда должна быть одна. При наличии позиции срабатывание дополнительных ордеров на том же символе будет приводить (а) к увеличению или уменьшению объёма этой позиции и (б) возможному изменению стоп-уровней позиции. В частности, увеличение объёма позиции можно трактовать, по Вашей терминологии,  как "долив".

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

Forex_Noob: И закрывать надо позиции по идентификатору А?  

 Если необходимо закрыть позицию, надо выставить один или несколько противоположнонаправленных ордеров с суммарным объёмом, равным объёму позиции. Идентификатор у этой позиции будет ровно тот, который она получила при своём открытии.

Forex_Noob: А можно ли закрыть позу А по условиям для А, а Б - для Б? Или я что-то не догоняю? 

Да, можно. Речь будет идти о частичном закрытии позиции. Когда наступят "условия для А", просто выставляйте противоположнонаправленный ордер с объёмом, необходимым для закрытия части позиции.  Когда наступят "условия для Б", выставляйте противоположнонаправленный ордер с объёмом, достаточным для закрытия оставшейся позиции.

Forex_Noob: Отдельно А и Б закрываются, но вот когда они открыты единовременно, то по условиям закрывается первая, а вторая тянет до тп/сл.  

"Когда они открыты единовременно" - по сути, речь идёт о том, что имеется одна открытая позиция, объём которой равен сумме объёмов двух ордеров. Не совсем понятно, как Вы закрываете позицию, а именно: при наступлении условий Вы отправляете два противоположнонаправленных ордера, или же отправляете только один ордер при наступлении события А, а потом просто ждёте, когда позиция закроется по своим стоп-уровням?

 
Yedelkin:

Идеология торговли на МТ5 - это возможность существования только одной открытой позиции по выбранному инструменту. Т.е. некорректно говорить, что на одном символе открыто несколько позиций. Позиция всегда должна быть одна. При наличии позиции срабатывание дополнительных ордеров на том же символе будет приводить (а) к увеличению или уменьшению объёма этой позиции и (б) возможному изменению стоп-уровней позиции. В частности, увеличение объёма позиции можно трактовать, по Вашей терминологии,  как "долив".

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

 Если необходимо закрыть позицию, надо выставить один или несколько противоположнонаправленных ордеров с суммарным объёмом, равным объёму позиции. Идентификатор у этой позиции будет ровно тот, который она получила при своём открытии.

Да, можно. Речь будет идти о частичном закрытии позиции. Когда наступят "условия для А", просто выставляйте противоположнонаправленный ордер с объёмом, необходимым для закрытия части позиции.  Когда наступят "условия для Б", выставляйте противоположнонаправленный ордер с объёмом, достаточным для закрытия оставшейся позиции.

"Когда они открыты единовременно" - по сути, речь идёт о том, что имеется одна открытая позиция, объём которой равен сумме объёмов двух ордеров. Не совсем понятно, как Вы закрываете позицию, а именно: при наступлении условий Вы отправляете два противоположнонаправленных ордера, или же отправляете только один ордер при наступлении события А, а потом просто ждёте, когда позиция закроется по своим стоп-уровням?

If (событие) {Закрываем А, лотом открытым А;}

If (событие) {Закрываем Б, лотом открытым Б;}

идентификатор - цена открытия позы. Т.е. перебираем открытые и если условие для закрытия выполнено и цена открытия соответсвует (нет мейджика больше, приходится искать альтернативные идентификаторы) закрываемому лоту, то закрываем позу лотом открытия. Так вот когда А и Б не пересекаются, то все гуд. А вот когда пересекаются, то первая закрывается по условиям а вторая по тп/сл. Полагаю, что когда открывается последовательная сделка (например Б), то видимо она распознается как долив А и все идентификаторы становятся свойственными для  А. Может поэтому, когда перебор открытых поз и идентификация их по цене открытия, то компьюча распознает только одну А и индивидуальной цены открытия Б нет?.... Вот может поэтому?

 
Forex_Noob: идентификатор - цена открытия позы.
А как определяете цену открытия единственной позиции на символе, если эта позиция является результатом срабатывания двух однонаправленных ордеров с разными ценами исполнения?
 
Yedelkin:
А как определяете цену открытия единственной позиции на символе, если эта позиция является результатом срабатывания двух однонаправленных ордеров с разными ценами исполнения?
Так вот видимо если ордера сливаются, то цена открытия у них одна (первоначальная), поэтому второй ордер и не идентифицируется... И никакие мейджики для последующих позиций не помогают их определить...
 
Forex_Noob: Так вот видимо если ордера сливаются, то цена открытия у них одна (первоначальная), поэтому второй ордер и не идентифицируется... И никакие мейджики для последующих позиций не помогают их определить...
Нет, ну всё-таки, каким именно образом определяете цену открытия единственной позиции, с помощью каких функций? :)
 
Yedelkin:
Нет, ну всё-таки, каким именно образом определяете цену открытия единственной позиции, с помощью каких функций? :)
При открытии позы записываю цену открытия в массив, а при дальнейшем переборе открытых позиций сравниваю эту цену с ценой выбранной позиции через POSITION_PRICE_OPEN
 
Forex_Noob: При открытии позы записываю цену открытия в массив, а при дальнейшем переборе открытых позиций сравниваю эту цену с ценой выбранной позиции через POSITION_PRICE_OPEN
Особенность POSITION_PRICE_OPEN в том, что если позиция является результатом срабатывания нескольких однонаправленных ордеров, то в качестве цены позиции указывается некая средняя цена исполнения этих ордеров. Поэтому не совсем понятно, почему у Вас срабатывает условие А. Ведь если цены исполнения ордеров являются разными, то совпадения цены исполнения ордера и цены позиции быть не должно.
Причина обращения: