Неопределенный идентификатор ORDER_POSITION_ID

 

При попытке получить идентификатор позиции для ордера (ORDER_POSITION_ID)

OrdersList[z].position_id = OrderGetInteger(ORDER_POSITION_ID);

 

выдается ошибка 'ORDER_POSITION_ID' - undeclared identifier

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
 
Меня, возможно, не поняли. Или я чего-то не понимаю. Эта ошибка выдается на этапе компиляции, а сам идентификатор свойства ORDER_POSITION_ID в коде даже не подсвечивается! Как будто в языке его нет. И это, естественно, не зависит от того какую функцию я вызываю! Просто компилятор думает, что такого свойства в языке нет!
 
CoreWinTT писал(а) # :


а ORDER_POSITION_ID действительно нету....

Вот тут нету.

Скажите, пожалуйста, а какой у Вас билд терминала?
 

действительно этот индификатор должен быть одним из списка

https://www.mql5.com/ru/docs/constants/tradingconstants/positionproperties#enum_position_property_integer

а по сути вопроса тут надо дальше прочитать

Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию. Идентификатор этой позиции и устанавливается исполненному ордеру в этот момент.

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

260

вот только переустановил


этот индификатор относиться к 

HistoryOrderGetInteger()

потому что после того как ордер исполнился он попадает в историю и появляется позиция

и его надо искать уже в истории

если я правильно понял а если нет киньте в меня тапком....


 
alexvd писал(а) # :
Скажите, пожалуйста, а какой у Вас билд терминала?

Отбой! только что обновился до 261 билда, теперь все впорядке!

CoreWinTT писал(а) # :

если я правильно понял а если нет киньте в меня тапком....

 Кидаю в тебя тапком :)

Во-первых, это свойство читается не только HistoryOrderGetInteger(), но и OrderGetInteger(). Об этом написано тут в самом начале.

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

 

правый есть ,а левого нету....
Причина обращения: