|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Schliessen nur bei iClose
Hallo,
ich eröffne eine Position wenn diese einen bestimmten Kurs erreicht hat und schließe diese, wenn der SCHLUSSKURS einer eingestellten Zeitebene z.B. bei BUY unter einem SL liegt. ABER wenn ich nun in H4 Zeitebene der Kurs z.B. bei 100 eröffnet wurde, der Schlusskurs der vorhergehenden Kerze aber noch unter dem SL liegt, dann wird die Position ja wieder direkt geschlossen. Wie kann ich das ausschließen, dass der SL nach iClose erst AB der Eröffnungskerze gerechnet wird? Bei diesem Code schließt er die Position sofort wieder unter der oben genannten Situation: Code:
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber1 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit1,1)<SchliessenBei1)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit1,1)>SchliessenBei1)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } |
|
|||
auch das geht nicht
Code:
extern int MagicNumber1=26350; extern double SchliessenBei1=1.17457; //+------------------------------------------------------------------+ // expert start function //+------------------------------------------------------------------+ int start() { if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber1 ) { if(OrderType()==OP_BUY) { if((NormalizeDouble(Close[1],5)<NormalizeDouble(SchliessenBei1,5))) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((NormalizeDouble(Close[1],5)>NormalizeDouble(SchliessenBei1,5))) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } |
|
|||
und so sieht der ganze Code aus - da wollte ich dann je Position die SL Marken eintragen und verwalten lassen.... was aber aus dem oben genannten Grund nicht geht:
Code:
extern int MagicNumber1=12052; input ENUM_TIMEFRAMES Zeiteinheit1=1440; //10080=W1 - 1440=D1 - 240=H4 - 60=H1 - 30=M30 - 15=M15 -5=M5 - 1=M1 - 0=Current extern double SchliessenBei1=1.17649; // extern int MagicNumber2=2052; input ENUM_TIMEFRAMES Zeiteinheit2=1440; extern double SchliessenBei2=1.17649; // extern int MagicNumber3=10189; input ENUM_TIMEFRAMES Zeiteinheit3=1440; extern double SchliessenBei3=1.21426; // extern int MagicNumber4=20189; input ENUM_TIMEFRAMES Zeiteinheit4=1440; extern double SchliessenBei4=1.21426; // extern int MagicNumber5=9220; input ENUM_TIMEFRAMES Zeiteinheit5=1440; extern double SchliessenBei5=1.23418; // extern int MagicNumber6=19220; input ENUM_TIMEFRAMES Zeiteinheit6=1440; extern double SchliessenBei6=1.23418; // extern int MagicNumber7=7786; input ENUM_TIMEFRAMES Zeiteinheit7=1440; extern double SchliessenBei7=1.17450; // extern int MagicNumber8=13006; input ENUM_TIMEFRAMES Zeiteinheit8=1440; extern double SchliessenBei8=1.17450; // extern int MagicNumber9=28776; input ENUM_TIMEFRAMES Zeiteinheit9=60; extern double SchliessenBei9=1.17306; // extern int MagicNumber10=18776; input ENUM_TIMEFRAMES Zeiteinheit10=60; extern double SchliessenBei10=1.17306; // extern int MagicNumber11=24541; input ENUM_TIMEFRAMES Zeiteinheit11=60; extern double SchliessenBei11=1.17905; // extern int MagicNumber12=34541; input ENUM_TIMEFRAMES Zeiteinheit12=60; extern double SchliessenBei12=1.17905; // extern int MagicNumber15=10491; input ENUM_TIMEFRAMES Zeiteinheit15=60; extern double SchliessenBei15=1.18270; // extern int MagicNumber16=20491; input ENUM_TIMEFRAMES Zeiteinheit16=60; extern double SchliessenBei16=1.18270; // extern int MagicNumber17=16350; input ENUM_TIMEFRAMES Zeiteinheit17=5; extern double SchliessenBei17=1.17462; // extern int MagicNumber18=26350; input ENUM_TIMEFRAMES Zeiteinheit18=5; extern double SchliessenBei18=1.17462; // extern int MagicNumber19=41821; input ENUM_TIMEFRAMES Zeiteinheit19=5; extern double SchliessenBei19=1.17672; // extern int MagicNumber20=31821; input ENUM_TIMEFRAMES Zeiteinheit20=5; extern double SchliessenBei20=1.17672; // extern int MagicNumber21=21; input ENUM_TIMEFRAMES Zeiteinheit21=0; extern double SchliessenBei21=11111; // extern int MagicNumber22=22; input ENUM_TIMEFRAMES Zeiteinheit22=0; extern double SchliessenBei22=11111; // string JPYPairName = "dss"; input double BreakEvenEntfernung=2.0; //+------------------------------------------------------------------+ // expert start function //+------------------------------------------------------------------+ int start() { if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber1 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit1,1)<SchliessenBei1)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit1,1)>SchliessenBei1)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber2 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit2,1)<SchliessenBei2)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit2,1)>SchliessenBei2)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber3 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit3,1)<SchliessenBei3)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit3,1)>SchliessenBei3)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber4 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit4,1)<SchliessenBei4)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit4,1)>SchliessenBei4)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber5 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit5,1)<SchliessenBei5)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit5,1)>SchliessenBei5)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber6 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit6,1)<SchliessenBei6)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit6,1)>SchliessenBei6)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber7 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit7,1)<SchliessenBei7)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit7,1)>SchliessenBei7)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber8 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit8,1)<SchliessenBei8)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit8,1)>SchliessenBei8)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber9 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit9,1)<SchliessenBei9)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit9,1)>SchliessenBei9)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber10 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit10,1)<SchliessenBei10)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit10,1)>SchliessenBei10)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber11 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit11,1)<SchliessenBei11)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit11,1)>SchliessenBei11)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber12 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit12,1)<SchliessenBei12)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit12,1)>SchliessenBei12)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber15 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit15,1)<SchliessenBei15)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit15,1)>SchliessenBei15)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber16 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit16,1)<SchliessenBei16)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit16,1)>SchliessenBei16)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber17 ) { if(OrderType()==OP_BUY) { if((Close[1]<SchliessenBei17)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((Close[1]>SchliessenBei17)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber18 ) { if(OrderType()==OP_BUY) { if((Close[1]<SchliessenBei18)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((Close[1]>SchliessenBei18)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber19 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit19,1)<SchliessenBei19)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit19,1)>SchliessenBei19)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber20 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit20,1)<SchliessenBei20)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit20,1)>SchliessenBei20)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber21 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit21,1)<SchliessenBei21)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit21,1)>SchliessenBei21)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber22 ) { if(OrderType()==OP_BUY) { if((iClose(0,Zeiteinheit22,1)<SchliessenBei22)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iClose(0,Zeiteinheit22,1)>SchliessenBei22)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //------------------------- //------------------------- if(Symbol()!= JPYPairName) { int type; int ticket; int total = OrdersTotal(); double openPrice, stopPrice,NachziehenBuy,NachziehenSell; for(int i=total-1;i>=0;i--) { for(int j=i;j>=0;j--) if(OrderSelect(i, SELECT_BY_POS)) { ticket = OrderTicket(); type = OrderType(); openPrice = OrderOpenPrice(); stopPrice = OrderStopLoss(); NachziehenBuy=openPrice+(openPrice-stopPrice); NachziehenSell=openPrice-((stopPrice-openPrice)*BreakEvenEntfernung); if(type == OP_SELL && stopPrice > openPrice && OrderSymbol()==Symbol()&&Ask<=NachziehenSell) OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red); else if(type == OP_BUY && stopPrice < openPrice && Bid>= NachziehenBuy*BreakEvenEntfernung&& OrderSymbol()==Symbol() ) OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue); } }}} |
|
|||
Hallo,
wie wärs mit iOpen(NULL, Timeframe, 0); ? aber vielleicht verstehe ich dein Problematik auch falsch ... ---Leopold--- |
|
|||
JAAAA
Ich bin sowas von Blind DANKE |
|
|||
Geht leider immer noch nicht
GEHT LEIDER IMMER NOCH NICHT
Das Ding schließt die Positionen nicht .... Er schließt immer nur eine Position wenn mehrere zu schließen sind Code:
extern int MagicNumber1=12052; input ENUM_TIMEFRAMES Zeiteinheit1=1440; //10080=W1 - 1440=D1 - 240=H4 - 60=H1 - 30=M30 - 15=M15 -5=M5 - 1=M1 - 0=Current extern double SchliessenBei1=1.17649; // extern int MagicNumber2=2052; input ENUM_TIMEFRAMES Zeiteinheit2=1440; extern double SchliessenBei2=1.17649; // extern int MagicNumber3=10189; input ENUM_TIMEFRAMES Zeiteinheit3=1440; extern double SchliessenBei3=1.21426; // extern int MagicNumber4=20189; input ENUM_TIMEFRAMES Zeiteinheit4=1440; extern double SchliessenBei4=1.21426; // extern int MagicNumber5=9220; input ENUM_TIMEFRAMES Zeiteinheit5=1440; extern double SchliessenBei5=1.23418; // extern int MagicNumber6=19220; input ENUM_TIMEFRAMES Zeiteinheit6=1440; extern double SchliessenBei6=1.23418; // extern int MagicNumber7=7786; input ENUM_TIMEFRAMES Zeiteinheit7=1440; extern double SchliessenBei7=1.17450; // extern int MagicNumber8=13006; input ENUM_TIMEFRAMES Zeiteinheit8=1440; extern double SchliessenBei8=1.17450; // extern int MagicNumber9=28776; input ENUM_TIMEFRAMES Zeiteinheit9=60; extern double SchliessenBei9=1.17306; // extern int MagicNumber10=18776; input ENUM_TIMEFRAMES Zeiteinheit10=60; extern double SchliessenBei10=1.17306; // extern int MagicNumber11=24541; input ENUM_TIMEFRAMES Zeiteinheit11=60; extern double SchliessenBei11=1.17905; // extern int MagicNumber12=34541; input ENUM_TIMEFRAMES Zeiteinheit12=60; extern double SchliessenBei12=1.17905; // extern int MagicNumber15=10491; input ENUM_TIMEFRAMES Zeiteinheit15=60; extern double SchliessenBei15=1.18270; // extern int MagicNumber16=20491; input ENUM_TIMEFRAMES Zeiteinheit16=60; extern double SchliessenBei16=1.18270; // extern int MagicNumber17=18716; input ENUM_TIMEFRAMES Zeiteinheit17=5; extern double SchliessenBei17=1.17607; // extern int MagicNumber18=28425; input ENUM_TIMEFRAMES Zeiteinheit18=5; extern double SchliessenBei18=2.17607; // extern int MagicNumber19=41821; input ENUM_TIMEFRAMES Zeiteinheit19=5; extern double SchliessenBei19=1.17672; // extern int MagicNumber20=31821; input ENUM_TIMEFRAMES Zeiteinheit20=5; extern double SchliessenBei20=1.17672; // extern int MagicNumber21=21; input ENUM_TIMEFRAMES Zeiteinheit21=0; extern double SchliessenBei21=11111; // extern int MagicNumber22=22; input ENUM_TIMEFRAMES Zeiteinheit22=0; extern double SchliessenBei22=11111; // string JPYPairName = "dss"; input double BreakEvenEntfernung=2.0; //+------------------------------------------------------------------+ // expert start function //+------------------------------------------------------------------+ int start() { if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber1 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit1,0)<SchliessenBei1)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit1,0)>SchliessenBei1)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber2 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit2,0)<SchliessenBei2)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit2,0)>SchliessenBei2)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber3 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit3,0)<SchliessenBei3)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit3,0)>SchliessenBei3)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber4 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit4,0)<SchliessenBei4)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit4,0)>SchliessenBei4)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber5 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit5,0)<SchliessenBei5)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit5,0)>SchliessenBei5)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber6 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit6,0)<SchliessenBei6)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit6,0)>SchliessenBei6)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber7 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit7,0)<SchliessenBei7)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit7,0)>SchliessenBei7)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber8 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit8,0)<SchliessenBei8)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit8,0)>SchliessenBei8)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber9 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit9,0)<SchliessenBei9)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit9,0)>SchliessenBei9)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber10 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit10,0)<SchliessenBei10)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit10,0)>SchliessenBei10)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber11 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit11,0)<SchliessenBei11)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit11,0)>SchliessenBei11)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber12 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit12,0)<SchliessenBei12)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit12,0)>SchliessenBei12)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber15 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit15,0)<SchliessenBei15)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit15,0)>SchliessenBei15)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber16 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit16,0)<SchliessenBei16)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit16,0)>SchliessenBei16)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber17 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit17,0)<SchliessenBei17)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit17,0)>SchliessenBei17)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() &&OrderMagicNumber()==MagicNumber18 ) { if(OrderType()==OP_BUY) { if((NormalizeDouble(iOpen(NULL,Zeiteinheit18,0),5))<NormalizeDouble(SchliessenBei18,5)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit18,0)>SchliessenBei18)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber19 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit19,0)<SchliessenBei19)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit19,0)>SchliessenBei19)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber20 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit20,0)<SchliessenBei20)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit20,0)>SchliessenBei20)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber21 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit21,0)<SchliessenBei21)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit21,0)>SchliessenBei21)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //-------------------------//------------------------- if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber22 ) { if(OrderType()==OP_BUY) { if((iOpen(NULL,Zeiteinheit22,0)<SchliessenBei22)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } } else { if((iOpen(NULL,Zeiteinheit22,0)>SchliessenBei22)) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red); } } //------------------------- //------------------------- if(Symbol()!= JPYPairName) { int type; int ticket; int total = OrdersTotal(); double openPrice, stopPrice,NachziehenBuy,NachziehenSell; for(int i=total-1;i>=0;i--) { for(int j=i;j>=0;j--) if(OrderSelect(i, SELECT_BY_POS)) { ticket = OrderTicket(); type = OrderType(); openPrice = OrderOpenPrice(); stopPrice = OrderStopLoss(); NachziehenBuy=openPrice+(openPrice-stopPrice); NachziehenSell=openPrice-((stopPrice-openPrice)*BreakEvenEntfernung); if(type == OP_SELL && stopPrice > openPrice && OrderSymbol()==Symbol()&&Ask<=NachziehenSell) OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red); else if(type == OP_BUY && stopPrice < openPrice && Bid>= NachziehenBuy*BreakEvenEntfernung&& OrderSymbol()==Symbol() ) OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue); } }}} |
|
|||
Fehler im Journal?
---Leopold--- |
|
|||
Ich habe schon einen Fehler gefunden, aber bitte schau dir mal die Fehlermeldungen an und versuche den Fehler selber zu finden.
---Leopold--- |
|
|||
Er schließt immer die letzte Order OHNE Rücksicht auf die MagicNumber.... aber warum ???
|
|
|||
Ich stehe echt auf dem Schlauch.... ICH FINDE DEN FEHLER NICHT
Folgendes habe ich nochmal überprüft: 1. MagicNumber habe ich als int Variable eingeben 2. Ich habe nochmal versucht die Werte iOpen und SchliessenBei1 mit NormalizeDouble anzugleichen - das war aber auch nicht der Fehler. 3. Dann habe ich die "Break Even" Funktion ganz unten mal raus genommen - das war´s auch nicht 4. Dann habe ich mir das JOURNAL angeschaut - dort stand bei der geschlossenen Order zuerst 2018.09.24 12:17:19.924 '500399427': close order #84112102 buy 0.01 EURUSD at 1.17732 sl: 0.00000 tp: 0.00000 at price 0.00000 und dann 2018.09.24 12:17:20.033 '500399427': order #84112102 buy 0.01 EURUSD at 1.17732 sl: 0.00000 tp: 0.00000 closed at price 1.17734 aber das war die Order, deren Magicnumber ich gar nicht definiert habe und die gar nicht geschlossen werden sollte. 5. Dann habe ich nochmal kontrolliert ob ich die Close Funktion richtig eingegeben habe OrderClose( int ticket, // ticket double lots, // volume double price, // close price int slippage, // slippage color arrow_color // color ); Aber soweit ich gesehen habe, sind alle Variablen angegeben.... ICH HABE KEINE AHNUNG |
Lesezeichen |
Stichworte |
iclose |
|
|