Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 23.05.20
stoffel stoffel ist offline
Neues Mitglied
 
Registriert seit: Apr 2019
Beiträge: 20
stoffel befindet sich auf einem aufstrebenden Ast
Standard

hallo MA-EA,

wenn ich eine bool Variable deklariere ist sie automatisch true? ok.

@ Indikator-Trading
du hast völlig recht.Ich habe den Code etwas eingekürzt weil noch ein paar andere Dinge über diese Funktion geregelt werden.
Es ist aber nur der Teil den ich kopiert habe fehlerhaft.

Leider habe ich kein Idee woran es liegen kann.

hier noch der Teil für die Market Orders.
Und Danke für eure Bemühungen.

Code:
   void CloseAllOpenPositions(string f, int intMaxSlippage) {
      if(debug)
         Print(">>>",f,"::",__FUNCTION__+"()");
      bool checkOrderClose=true;
      int index=OrdersTotal()-1;
      while(index>=0) {
         if(OrderSelect(index,SELECT_BY_POS,MODE_TRADES)) {
            Print(f,"::Close all Positions durchlauf ",cap,"| ",TimeCurrent());
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
               RefreshRates();
               if(OrderType()==OP_BUY || OrderType()==OP_SELL) {
                  Print("::index market Order ",index,"|type ",OrderType(),"|ticket ",OrderTicket());
                  if(OrderType()==OP_BUY) {
                     checkOrderClose=OrderClose(OrderTicket(),OrderLots(),Bid,Deviation,CLR_NONE);
                     if(checkOrderClose){
                        if(pLable)
                           ProfitLable(__FUNCTION__);
                        if(Optimizer)
                           VirtualTrades(__FUNCTION__+"()"+"()",OrderTicket(),OrderType(),_Symbol,TimeToStr(OrderOpenTime(),TIME_MINUTES),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),"22:55",OrderClosePrice(),OrderLots(),"Life");
                     }
                  }
                  if(OrderType()==OP_SELL) {
                     checkOrderClose=OrderClose(OrderTicket(),OrderLots(),Ask,Deviation,CLR_NONE);
                     if(checkOrderClose){
                        if(pLable)
                           ProfitLable(__FUNCTION__);
                        if(Optimizer)
                           VirtualTrades(__FUNCTION__+"()"+"()",OrderTicket(),OrderType(),_Symbol,TimeToStr(OrderOpenTime(),TIME_MINUTES),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),"22:55",OrderClosePrice(),OrderLots(),"Life");
                     }
                  }
                  if(checkOrderClose==false) {
                     int errorCode=GetLastError();
                     if(errorCode==1 || errorCode==2 || errorCode==5 || errorCode==6 || errorCode==64 || errorCode==65 || errorCode==132 || errorCode==133 || errorCode==139) {
                        Print(__FUNCTION__," Error: marketOrder",ErrorDescription(errorCode));
                        break;
                     } else continue;
                  }
               }
               if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) {
                  checkOrderClose=OrderDelete(OrderTicket(),CLR_NONE);
                  if(!checkOrderClose) {
                     int errorCode=GetLastError();
                     if(errorCode==1 || errorCode==2 || errorCode==5 || errorCode==6 || errorCode==64 || errorCode==65 || errorCode==132 || errorCode==133 || errorCode==139) {
                        Print(__FUNCTION__," Error: delete pendingOrder ",OrderTicket(),"|",OrderComment(),"|",ErrorDescription(errorCode));
                     }
                  }
               }
            }
         }
         index--;
      }