Изучаем и пишем вместе на MQL5 - страница 38

 

Я счел такое обьявление естественым, но компилятор ругается.  Ругается так 

 'Type' - undeclared identifier ордерній.mq5 213 18

'Type' - some operator expected ордерній.mq5 213 18

'POSITION_TYPE' - expression has no effect ордерній.mq5 213 4

Я не знаток английского, но в любом случае непонятно.      Эффективность экспрессии..   ????   Да и в чем же дело?

 

 
Dimka-novitsek:

Я счел такое обьявление естественым, но компилятор ругается.  Ругается так 

 'Type' - undeclared identifier ордерній.mq5 213 18

'Type' - some operator expected ордерній.mq5 213 18

'POSITION_TYPE' - expression has no effect ордерній.mq5 213 4

Я не знаток английского, но в любом случае непонятно.

 

POSITION_TYPE - это всего лишь идентификатор. Посмотрите, какой тип имеет этот идентификатор.
 

СПАСИБО!!! Щас посмотрю.

Супер!! Это инт! 

 
Dimka-novitsek:

'POSITION_TYPE' - expression has no effect ордерній.mq5 213 4

Перевод: "выражение не имеет эффекта".
 
Dimka-novitsek:

Я счел такое обьявление естественым, но компилятор ругается.  Ругается так 

 'Type' - undeclared identifier ордерній.mq5 213 18

'Type' - some operator expected ордерній.mq5 213 18

'POSITION_TYPE' - expression has no effect ордерній.mq5 213 4

Я не знаток английского, но в любом случае непонятно.

ENUM_POSITION_TYPE Type
 
notused:

Супер!! Так не ругается, ругается уже по-другому!
 
'PositionGetInteger' - no one of the overloads can be applied to the function call ордерній.mq5 214 13        Короче, не функция, а   call. Вернее видимо то что я в нее подаю.  
bool  PositionGetInteger(
   ENUM_POSITION_PROPERTY_INTEGER  property_id,     // идентификатор свойства
   long&                           long_var         // сюда примем значение свойства
   );
У меня 
Bull =PositionGetInteger(POSITION_TYPE,Type);
                   ????????????
 
Dimka-novitsek:

СПАСИБО!!! Щас посмотрю.

Супер!! Это инт! 

Нет, это нет int. Вы в Справочнике посмотрите, какой тип соответствует указанному идентификатору.
 
Dimka-novitsek:
'PositionGetInteger' - no one of the overloads can be applied to the function call ордерній.mq5 214 13        Короче, не функция, а   call. Вернее видимо то что я в нее подаю.  

Вы по прежнему не читаете документацию.Даже скопировать не пробуете.

С чем это связано?Не можете найти? Не работает?

//--- будем искать позицию по символу графика, на котором работает эксперт
   string symbol=Symbol();
//--- попробуем получить позицию
   bool selected=PositionSelect(symbol);
   if(selected) // если позиция выбрана
     {
      long pos_id            =PositionGetInteger(POSITION_IDENTIFIER);
      double price           =PositionGetDouble(POSITION_PRICE_OPEN);
      ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
      long pos_magic         =PositionGetInteger(POSITION_MAGIC);
      string comment         =PositionGetString(POSITION_COMMENT);
      PrintFormat("Позиция #%d по %s: POSITION_MAGIC=%d, цена=%G, тип=%s, комментарий=%s",
                  pos_id, symbol, pos_magic, price,EnumToString(type), comment);
     }
   else        // если выбрать позицию не удалось
     {
      PrintFormat("Не удалось выбрать позицию по символу %s. Ошибка",symbol,GetLastError());
     }
  }

 https://www.mql5.com/ru/articles/211

Ордерa, позиции и сделки в MetaTrader 5
Ордерa, позиции и сделки в MetaTrader 5
  • 2011.01.05
  • MetaQuotes Software Corp.
  • www.mql5.com
Надежный торговый робот не может быть создан без понимания механизмов работы торговой системы MetaTrader 5. Клиентский терминал получает от торгового сервера информацию о позициях, ордерах и сделках. Чтобы правильно обработать эти данные средствами MQL5 необходимо хорошо представлять как происходит взаимодействие mql5-программы и среды исполнения терминала.
 
Dimka-novitsek:
'PositionGetInteger' - no one of the overloads can be applied to the function call ордерній.mq5 214 13        Короче, не функция, а   call. Вернее видимо то что я в нее подаю.  У меня                    ????????????

 

ENUM_POSITION_TYPE Type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);