Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Schließen von Pending Orders (http://www.expert-advisor.com/forum/showthread.php?t=6355)

Max2018 07.03.19 22:38

Schließen von Pending Orders
 
Hallo,

diese Abfrage schließt immer alle Pending Orders auch die, die gar nicht von dem EA stammen :confused:
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);
}


traderdoc 07.03.19 22:58

JA!

Code:

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

{
  int total = OrdersTotal();
 
  for(int dd=total-1;dd>=0;dd--)
  {
    if (!OrderSelect(dd, SELECT_BY_POS)) continue;
    if (OrderSymbol() != Symbol()) continue;
    if (OrderMagicNumber() != MagicNumber) 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);
}

traderdoc

Max2018 07.03.19 23:08

Super - DANKE :rolleyes::)


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:26 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum