Уровень SL/TP

 

Ситуация следующая:

мы открыли позицию по инструменту, но СЛ/ТП не устанавливали, затем позицию модифицировали.

Внимание, вопрос:

после того, как позиция закрылась, как узнать уровень ее СЛ/ТП? 

 
hasayama:

Ситуация следующая:

мы открыли позицию по инструменту, но СЛ/ТП не устанавливали, затем позицию модифицировали.

Внимание, вопрос:

после того, как позиция закрылась, как узнать уровень ее СЛ/ТП? 

 Вот здесь я писал как можно это сделать https://www.mql5.com/ru/forum/1184
Закрытие позиции по SL или TP
Закрытие позиции по SL или TP
  • www.mql5.com
Закрытие позиции по SL или TP.
 
sergey1294:
 Вот здесь я писал как можно это сделать https://www.mql5.com/ru/forum/1184
Тут была решена проблема - закрылась позиция по ТП или СЛ, а мне нужен их уровень. То есть конкретное числовое значение.
 
hasayama:
Тут была решена проблема - закрылась позиция по ТП или СЛ, а мне нужен их уровень. То есть конкретное числовое значение.
 так запроси соответствующее  Свойства позиций
 
sergey1294:
 так запроси соответствующее  Свойства позиций

Ок, может и туплю, но - позиции уже нет, следовательно PositionSelect( _Symbol ) ее не выберет и функции типа PositionGet...() бесполезны. А HistoryPositionSelect() - отсутствует...

Если СЛ/ТП были заданы с самого начала, их можно взять из ордера на открытие, это просто. А вот если позиция была модифицирована после открытия - тогда проблемка.

 
hasayama:

Ок, может и туплю, но - позиции уже нет, следовательно PositionSelect( _Symbol ) ее не выберет и функции типа PositionGet...() бесполезны. А HistoryPositionSelect() - отсутствует...

Если СЛ/ТП были заданы с самого начала, их можно взять из ордера на открытие, это просто. А вот если позиция была модифицирована после открытия - тогда проблемка.

есть такая функция как HistorySelectByPosition вот ее и надо использовать
 
sergey1294:
есть такая функция как HistorySelectByPosition вот ее и надо использовать

Угу, с ее помощью я получил список всех ордеров и сделок, которые были у позиции. В стандартном случае их 2 - открытие/закрытие.

Как я уже и говорил, если СЛ/ТП были у позиции с самого начала, их можно получить из HistoryOrderGetDouble( TICKET, ORDER_SL/ORDER_TP ) . Но, если позиция открывалась без СЛ/ТП, а потом модифицировалась, то узнать СЛ/ТП таким образом невозможно.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
hasayama:

Угу, с ее помощью я получил список всех ордеров и сделок, которые были у позиции. В стандартном случае их 2 - открытие/закрытие.

Как я уже и говорил, если СЛ/ТП были у позиции с самого начала, их можно получить из HistoryOrderGetDouble( TICKET, ORDER_SL/ORDER_TP ) . Но, если позиция открывалась без СЛ/ТП, а потом модифицировалась, то узнать СЛ/ТП таким образом невозможно.

Есть еще один способ проанализировать сделку это по его комментарию, по умолчанию при срабатывании стоплосса или тейкпрофита в комментарий сделки пишется следующая запись [sl 1.26945] или [tp 1.27380]. Еще разработчики обещали сделать структуру для функции OnTrade может там какая информация будет. Либо надо просить разработчиков сделать свойство для закрытой позиции Типа
HistoryPositionGetDouble(ID,POSITION_SL);
ну так далее
 

В идеале ведь модификация тоже "ордер"? То бишь заявка на действие. Логично было бы отображать все события которые произошли с позицией от рождения и до тризны)))

Значит пока что возможности узнать нужную мне инфу нет? 

 
Такой возможности нет. История модификаций не хранится. Можете перевыставлять отдельные ордера в качестве Sl и Tp, заодно поймете почему нет такой истории.

 

Здрасьте, как лучше связать сел и бай?

Макс короткая прога чтоб была.

Со SL и TP.