|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
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); } |
|
|||
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); }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|