Gemeinsam lernen und schreiben in MQL5 - Seite 38

 

Ich fand, dass dies eine natürliche Erklärung ist, aber der Compiler flucht. Sie warnt auf folgende Weise

Typ' - nicht deklarierter Bezeichner orderni.mq5 213 18

Typ' - irgendein Operator erwartet ordernir.mq5 213 18

POSITION_TYPE' - Ausdruck hat keine Wirkung ordernir.mq5 213 4

Ich bin kein Experte für Englisch, aber es ist so oder so nicht klar. Effizienz des Ausdrucks... ???? Ja, und was bringt das?

 
Dimka-novitsek:

Ich fand, dass dies eine natürliche Erklärung ist, aber der Compiler flucht. Es ist auf folgende Weise verflucht

Typ' - nicht deklarierter Bezeichner ordernir.mq5 213 18

Typ' - irgendein Operator erwartet ordernii.mq5 213 18

POSITION_TYPE' - Ausdruck hat keine Wirkung ordernir.mq5 213 4

Ich bin kein Experte der englischen Sprache, aber ich verstehe sie sowieso nicht.

POSITION_TYPE ist nur ein Bezeichner. Schauen Sie sich an, welcher Art dieser Identifikator ist.
 

DANKESCHÖN!!! Ich werde es mir ansehen.

Super!!! Es ist ein int!!!

 
Dimka-novitsek:

POSITION_TYPE' - Ausdruck hat keine Wirkung orderni.mq5 213 4

Übersetzung: "Ausdruck hat keine Wirkung".
 
Dimka-novitsek:

Ich fand, dass dies eine natürliche Erklärung ist, aber der Compiler flucht. Es wurde auf folgende Weise verflucht

Typ' - nicht deklarierter Bezeichner orderni.mq5 213 18

Typ' - irgendein Operator erwartet ordernir.mq5 213 18

POSITION_TYPE' - Ausdruck hat keine Wirkung ordernir.mq5 213 4

Ich bin kein Experte für Englisch, aber es ist so oder so nicht klar.

ENUM_POSITION_TYPE Type
 
notused:

Toll!!! Er flucht nicht so, er flucht schon anders!
 
'PositionGetInteger' - keine der Überladungen kann auf die Reihenfolge der Funktionsaufrufe angewendet werden.mq5 214 13 Kurz gesagt, nicht die Funktion, sondern der Aufruf. Oder vielmehr das, was ich in sie einführe.
bool  PositionGetInteger(
   ENUM_POSITION_PROPERTY_INTEGER  property_id,     // идентификатор свойства
   long&                           long_var         // сюда примем значение свойства
   );
Ich habe
Bull =PositionGetInteger(POSITION_TYPE,Type);
????????????
 
Dimka-novitsek:

DANKESCHÖN!!! Ich werde es mir ansehen.

Super!!! Es ist ein int!!!

Nein, es ist nicht int. Sie sehen im Referenzbuch nach, welcher Typ dem angegebenen Bezeichner entspricht.
 
Dimka-novitsek:
'PositionGetInteger' - keine der Überladungen kann auf den Funktionsaufruf order.mq5 214 13 angewendet werden. Oder vielmehr das, was ich in sie einführe.

Sie lesen immer noch nicht die Dokumentation, Sie versuchen nicht einmal, sie zu kopieren.

Was hat das damit zu tun? Können Sie es nicht finden? Funktioniert es nicht?

//--- будем искать позицию по символу графика, на котором работает эксперт
   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' - keine der Überladungen kann auf die Reihenfolge der Funktionsaufrufe angewendet werden.mq5 214 13 Kurz gesagt, nicht die Funktion, sondern der Aufruf. Oder vielmehr das, was ich in sie einführe. Ich habe ????????????

ENUM_POSITION_TYPE Type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);