Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 22.06.21
Benutzerbild von Indikator-Trading
Indikator-Trading Indikator-Trading ist offline
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

MqlTradeRequest ist ein Struct, dieses kannst du somit nicht einfach auf 0 setzten. Es reicht die Struct zu deklarieren und dann die einzelnen Teile zu definieren.

Code:
   MqlTradeRequest request;
   MqlTradeResult  result;
    
//--- parameters of request
   request.action   =TRADE_ACTION_DEAL;                   // type of trade operation
   request.symbol   =symbol;                              // symbol
   request.volume   =lot;                                 // volume of 0.1 lot
   request.deviation=dev;                                 // allowed deviation from the price
   request.magic    =magic;  
   request.comment  =comment;                             // MagicNumber of the order
   request.sl       =sl;
   request.tp       =tp;
Falls du beim definieren eines echten Enum Feldes einmal so einen Fehler kommen solltest, dann kannst du die entsprechende Enum einfach in Klammern davor setzten. Der Compiler weiß dann, dass es sich um eine Enum handelt.

Beispiel:

Code:
ENUM_ORDER_TYPE OrderType1 = 0;                     // ist Ordertype Buy, könnte aber evtl. jetzt einen Fehler oder eine Warnung rausgeben
ENUM_ORDER_TYPE OrderType2 = (ENUM_ORDER_TYPE) 0;   // Wir keinen Compilerfehler geben
ENUM_ORDER_TYPE OrderType3 = ORDER_TYPE_BUY;        // Beste und lesbarste Variante
Gruß Timo