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