Thema: error 4108
Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 02.12.20
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

Hallo Berlin,

bezüglich deines Codes: Beim Öffnen des Trades, also bei OrderSend(...) ist die Rückgabe der Funktion die Ticketnummer. Diese speicherst du und überschreibst Sie erst wieder, sobald du die Order schließen solltest. Besser ist es aber die offenen Order in einer Schleife durchzugehen und abzufragen, ob es sich um eine Sell oder eine Buy Order handelt und ob diese zum EA und den Symbol passt.

Code:
   int res;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
         break;
      if(OrderMagicNumber()!=MagicNumber || OrderSymbol()!=Symbol())
         continue;
      //--- check order type
      if(OrderType()==OP_BUY)
         res=OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
      if(OrderType()==OP_SELL)
         res=OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
     }