Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 07.03.19
Max2018 Max2018 ist offline
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
Max2018 befindet sich auf einem aufstrebenden Ast
Standard Schließen von Pending Orders

Hallo,

diese Abfrage schließt immer alle Pending Orders auch die, die gar nicht von dem EA stammen
Kann jemand erkennen warum? Oder habe ich die Magicnumber falsch eingebaut?

Code:
if (ADXsell==false&&ADXAusstieg==true&&OrderMagicNumber()==MagicNumber||Hour()==8&&Minute()>58&&OpenAbstandAN==false&&OrderMagicNumber()==MagicNumber||Open[0]>Open[OpenAbstand]&&OpenAbstandAN==true&&OrderMagicNumber()==MagicNumber||Bid>iMA(NULL,0,MAPeriode,0,MODE_SMA,PRICE_CLOSE,1)&&MovingAvarageControl==true&&OrderMagicNumber()==MagicNumber||HandelszeitAN==true&&Hour()<StartStunde&&OrderMagicNumber()==MagicNumber||HandelszeitAN==true&&Hour()>EndStunde&&OrderMagicNumber()==MagicNumber) 

{
  int total = OrdersTotal();
  
  for(int dd=total-1;dd>=0;dd--)
  {
    if (!OrderSelect(dd, SELECT_BY_POS)) continue;
    if (OrderSymbol() != Symbol())      continue; 
    int type   = OrderType();

    bool result1 = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result1 = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result1 = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );
                           
                          break;

      //Close pending orders
      case OP_BUYLIMIT  :
      case OP_BUYSTOP   :
      case OP_SELLLIMIT :
      case OP_SELLSTOP  : result1 = OrderDelete( OrderTicket() );
    }
    
    if(result1 == false)
    {
      Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      Sleep(3000);
    }  
  } 
  return(0);
}