|
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 |
|
|||
pending Orders löschen
Hallo,
ich habe 2 Pending Orders 1xBuy und 1x Sell. Diese Anweisung schließt nur die Pending Sell Order, nicht aber die Pending Buy Order - Warum ? Ich möchte beide schließen..... Ich stehe auf dem Schlauch..... Code:
for(int i=0;i<OrdersTotal();i++) { if(OrderType()==OP_BUYLIMIT) if(OrderDelete(OrderTicket(),ColorBuy)) ; if(OrderType()==OP_BUYSTOP) if(OrderDelete(OrderTicket(),ColorBuy)) ; if(OrderType()==OP_SELLSTOP) if(OrderDelete(OrderTicket(),ColorSell)) ; if(OrderType()==OP_SELLLIMIT) if(OrderDelete(OrderTicket(),ColorSell)) ; } |
|
|||
z.B. OrdersTotal ist 5, dann macht er i=0 i=1 i=2 i=3 i=4, also nur bis 4 weil er ja machen soll solange i kleiner ist als OrdersTotal ist. AVT
|
|
|||
Ja aber auch wenn ich
Code:
for(int i=0;i-1<OrdersTotal();i++) { if(OrderType()==OP_BUYLIMIT) if(OrderDelete(OrderTicket(),ColorBuy)) ; if(OrderType()==OP_BUYSTOP) if(OrderDelete(OrderTicket(),ColorBuy)) ; if(OrderType()==OP_SELLSTOP) if(OrderDelete(OrderTicket(),ColorSell)) ; if(OrderType()==OP_SELLLIMIT) if(OrderDelete(OrderTicket(),ColorSell)) ; Ich habe ja auch nur ZWEI Orders - 1x BuyLimit und 1xSellStop |
|
|||
Was wäre denn nu richtig ?
|
|
|||
Code:
color ColorBuy=clrGreen; color ColorSell=clrRed; for(int i=OrdersTotal()-1; i>=0; i--) { Print(" i=",IntegerToString(i)); if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { int ord_type=OrderType(); Print(" ord_type=",IntegerToString(ord_type)); if(OrderType()==OP_BUYLIMIT) { Print("Type i=(",IntegerToString(i),") ist OP_BUYLIMIT"); if(OrderDelete(OrderTicket(),ColorBuy)) Print(" OrderTicket (",IntegerToString(OrderTicket()), ") wurde gelöscht"); else Print(" OrderTicket (",IntegerToString(OrderTicket()), ") NICHT gelöscht"); } if(OrderType()==OP_BUYSTOP) { Print("Type i=(",IntegerToString(i),") ist OP_BUYSTOP"); if(OrderDelete(OrderTicket(),ColorBuy)) Print(" OrderTicket (",IntegerToString(OrderTicket()), ") wurde gelöscht"); else Print(" OrderTicket (",IntegerToString(OrderTicket()), ") NICHT gelöscht"); } if(OrderType()==OP_SELLSTOP) { Print("Type i=(",IntegerToString(i),") ist OP_SELLSTOP"); if(OrderDelete(OrderTicket(),ColorSell)) Print(" OrderTicket (",IntegerToString(OrderTicket()), ") wurde gelöscht"); else Print(" OrderTicket (",IntegerToString(OrderTicket()), ") NICHT gelöscht"); } if(OrderType()==OP_SELLLIMIT) { Print("Type i=(",IntegerToString(i),") ist OP_SELLLIMIT"); if(OrderDelete(OrderTicket(),ColorSell)) Print(" OrderTicket (",IntegerToString(OrderTicket()), ") wurde gelöscht"); else Print(" OrderTicket (",IntegerToString(OrderTicket()), ") NICHT gelöscht"); } } // OrderSelect } // OrdersTotal // === sind wir jetzt clean? if( OrdersTotal()==0 ) Print(" keine Order mehr offen"); else Print(" ups, noch was OFFEN"); |
Lesezeichen |
Stichworte |
pending orders, schließen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|