Как получить тикет последней открытой позиции?

 
Подскажите. Как получить( желательно в  OnTradeTransaction ) тикет последнего из открытых ордеров, если после него уже были открыты и закрыты(например по SL) другие ордера. Т.е. нужен тикет последнего ордера именно из тех что открыты в данный момент. Как это написать?
 
Александр Князев:
Подскажите. Как получить( желательно в  OnTradeTransaction ) тикет последнего из открытых ордеров, если после него уже были открыты и закрыты(например по SL) другие ордера. Т.е. нужен тикет последнего ордера именно из тех что открыты в данный момент. Как это написать?

В заголовке у Вас - "тикет открытой позиции", в тексте - " тикет последнего из открытых ордеров". определитесь). По всем открытым ордерам/позициям? по символу графика?

 
Александр Князев:
Подскажите. Как получить( желательно в  OnTradeTransaction ) тикет последнего из открытых ордеров, если после него уже были открыты и закрыты(например по SL) другие ордера. Т.е. нужен тикет последнего ордера именно из тех что открыты в данный момент. Как это написать?

PositionGetInteger(POSITION_TICKET)

Тикет позиции. Уникальное число, которое присваивается каждой вновь открытой позиции. Как правило, соответствует тикету ордера, в результате которого она была открыта, за исключением случаев изменения тикета в результате служебных операций на сервере. Например, начисления свопов переоткрытием позиции. Для нахождения ордера, которым была открыта позиция, следует использовать свойство POSITION_IDENTIFIER.
 

Значение POSITION_TICKET соответствует MqlTradeRequest::position.


В    OnTradeTransaction    trans.position или   trans.order   не помню точно.  Поэксперементируйте.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Функции обработки событий - Функции - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksandr Slavskii:

PositionGetInteger(POSITION_TICKET)

Тикет позиции. Уникальное число, которое присваивается каждой вновь открытой позиции. Как правило, соответствует тикету ордера, в результате которого она была открыта, за исключением случаев изменения тикета в результате служебных операций на сервере. Например, начисления свопов переоткрытием позиции. Для нахождения ордера, которым была открыта позиция, следует использовать свойство POSITION_IDENTIFIER.
 

Значение POSITION_TICKET соответствует MqlTradeRequest::position.


В    OnTradeTransaction    trans.position или   trans.order   не помню точно.  Поэксперементируйте.

Ордер это приказ, далее сделка, далее позиция. Определитесь что вам нужно. Номер приказа, сделки или позиции. Закрывают позицию. У нее есть свой тикет, и она привязана к тикету приказа / ордера. Т.е. по тикету приказа можно получить тикеты всех (их может быть не одна) позиций. Это целая операция или функция.

Причина обращения: