Aprender y escribir juntos en MQL5 - página 38

 

Me pareció una declaración natural, pero el compilador está jurando. Advierte de la siguiente manera

'Tipo' - identificador no declarado orderni.mq5 213 18

'Tipo' - algún operador esperado ordernir.mq5 213 18

'POSITION_TYPE' - la expresión no tiene efecto ordernir.mq5 213 4

No soy un experto en inglés, pero no está claro de ninguna manera. Eficiencia de la expresión... ???? Sí, ¿y qué sentido tiene?

 
Dimka-novitsek:

Me pareció una declaración natural, pero el compilador está jurando. La maldición es la siguiente

'Tipo' - identificador no declarado ordernir.mq5 213 18

'Tipo' - algún operador esperado ordernii.mq5 213 18

POSITION_TYPE' - la expresión no tiene efecto ordernir.mq5 213 4

No soy un experto en inglés, pero de todas formas no lo entiendo.

POSITION_TYPE es sólo un identificador. Mira de qué tipo es este identificador.
 

¡¡¡GRACIAS!!! Voy a echar un vistazo.

¡¡¡Super!!! ¡¡¡Es un int!!!

 
Dimka-novitsek:

'POSITION_TYPE' - la expresión no tiene efecto orderni.mq5 213 4

Traducción: "la expresión no tiene efecto".
 
Dimka-novitsek:

Me pareció una declaración natural, pero el compilador está jurando. Fue maldecida de la siguiente manera

'Tipo' - identificador no declarado orderni.mq5 213 18

'Tipo' - algún operador esperado ordernir.mq5 213 18

'POSITION_TYPE' - la expresión no tiene efecto ordernir.mq5 213 4

No soy un experto en inglés, pero no está claro de ninguna manera.

ENUM_POSITION_TYPE Type
 
notused:

¡¡¡Grandioso!!! No jura así, ¡ya jura de otra manera!
 
'PositionGetInteger' - no se puede aplicar ninguna de las sobrecargas a la orden de llamada de la función.mq5 214 13 En resumen, no la función, sino la llamada. O, más bien, lo que yo introduzco en él.
bool  PositionGetInteger(
   ENUM_POSITION_PROPERTY_INTEGER  property_id,     // идентификатор свойства
   long&                           long_var         // сюда примем значение свойства
   );
Tengo
Bull =PositionGetInteger(POSITION_TYPE,Type);
????????????
 
Dimka-novitsek:

¡¡¡GRACIAS!!! Voy a echar un vistazo.

¡¡¡Super!!! ¡¡¡Es un int!!!

No, no es int. Se busca en el Libro de Referencias para ver qué tipo corresponde al identificador especificado.
 
Dimka-novitsek:
'PositionGetInteger' - no se puede aplicar ninguna de las sobrecargas a la orden de llamada de la función.mq5 214 13 En resumen, no es la función sino la llamada. O, más bien, lo que yo introduzco en él.

Sigues sin leer la documentación, ni siquiera intentas copiarla.

¿Qué tiene eso que ver? ¿No lo encuentras? ¿No funciona?

//--- будем искать позицию по символу графика, на котором работает эксперт
   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 se puede aplicar ninguna de las sobrecargas a la orden de llamada de la función.mq5 214 13 En resumen, no la función, sino la llamada. O, más bien, lo que yo introduzco en él. Tengo ????????????

ENUM_POSITION_TYPE Type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
Razón de la queja: