在MQL5中一起学习和写作 - 页 38

 

我发现这是一个自然的声明,但编译器在骂人。它被诅咒的方式如下

'类型'--未声明的标识符 orderni.mq5 213 18

'POSITION_TYPE' - 表达式没有影响 ordernir.mq5 213 4

我不是英语专家,但这两点都不清楚。表达的效率...????是的,而且有什么意义?

 
Dimka-novitsek:

我发现这是一个自然的声明,但编译器在骂人。它被诅咒的方式如下

'类型'--未声明的标识符 ordernir.mq5 213 18

POSITION_TYPE' - 表达式没有影响 ordernir.mq5 213 4

我不是英语专家,但我反正不懂英语。

POSITION_TYPE 只是一个标识符。看看这个标识符是什么类型。
 

谢谢你!!!我去看看。

它是一个Int!!!。

 
Dimka-novitsek:

'POSITION_TYPE' - 表达式没有影响 orderni.mq5 213 4

翻译:"表达没有效果"。
 
Dimka-novitsek:

我发现这是一个自然的声明,但编译器在骂人。它被诅咒的方式如下

'类型'--未声明的标识符 orderni.mq5 213 18

'POSITION_TYPE' - 表达式没有影响 ordernir.mq5 213 4

我不是英语专家,但这两点都不清楚。

ENUM_POSITION_TYPE Type
 
notused:

太好了!!!。它不会这样骂人,它骂人的方式已经不同了!
 
'PositionGetInteger'--没有一个重载可以应用于函数调用 顺序。mq5 214 13 总之,不是函数,而是调用。或者说,我给它输入了什么。
bool  PositionGetInteger(
   ENUM_POSITION_PROPERTY_INTEGER  property_id,     // идентификатор свойства
   long&                           long_var         // сюда примем значение свойства
   );
我有
Bull =PositionGetInteger(POSITION_TYPE,Type);
????????????
 
Dimka-novitsek:

谢谢你!!!我去看看。

它是一个Int!!!。

不,这不是Int。你在参考书中查看什么类型与指定的标识符相对应。
 
Dimka-novitsek:
'PositionGetInteger'--没有一个重载可以应用于函数调用顺序。mq5 214 13 总之,不是函数的问题,而是调用的问题。或者说,我给它输入了什么。

你还是不看文档,你甚至不尝试去复制它。

这有什么关系,找不到吗?它不起作用?

//--- будем искать позицию по символу графика, на котором работает эксперт
   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'--没有一个重载可以应用于函数调用顺序。mq5 214 13 总之,不是函数,而是调用。或者说,我给它输入了什么。我有????????????

ENUM_POSITION_TYPE Type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);