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)
-   -   Schliessen nur bei iClose (http://www.expert-advisor.com/forum/showthread.php?t=6218)

Max2018 24.09.18 09:36

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);
                }
 
          }


Max2018 24.09.18 09:58

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);
                }
 
          }
        }


Max2018 24.09.18 10:07

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);
            }
      }}}


Leopold 24.09.18 10:21

Hallo,

wie wärs mit iOpen(NULL, Timeframe, 0); ?

aber vielleicht verstehe ich dein Problematik auch falsch ...

---Leopold---

Max2018 24.09.18 10:43

JAAAA

Ich bin sowas von Blind :cool:
DANKE :rolleyes:

Max2018 24.09.18 11:53

Geht leider immer noch nicht
 
GEHT LEIDER IMMER NOCH NICHT :( :confused:
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);
            }
      }}}


Leopold 24.09.18 12:04

Fehler im Journal?

---Leopold---

Leopold 24.09.18 12:11

Ich habe schon einen Fehler gefunden, aber bitte schau dir mal die Fehlermeldungen an und versuche den Fehler selber zu finden.

---Leopold---

Max2018 24.09.18 12:18

Er schließt immer die letzte Order OHNE Rücksicht auf die MagicNumber.... aber warum ???

Max2018 24.09.18 12:33

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....:confused:
:confused:


ICH HABE KEINE AHNUNG

Leopold 24.09.18 12:45

Ich glaube da stimmt mehr nicht, du musst erst mal die Order selectieren (OrderSelect()) schau mal im Forum da findest du sicher was.

Was mir noch aufgefallen ist bei OrderClose musst du Bid bzw. Ask beim ClosePrice eintragen.

---Leopold---

Max2018 24.09.18 12:56

...und jetzte erhalte ich im Journal ständig widerholend

2018.09.24 12:53:43.623 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:53:43.607 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:53:31.932 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:53:31.917 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:48:42.718 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:48:42.703 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:48:20.199 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:48:20.183 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:45:07.453 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:45:07.437 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:44:59.890 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:44:59.859 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:44:23.074 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:44:23.043 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:44:09.043 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:44:09.012 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:43:42.818 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:43:42.802 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed
2018.09.24 12:42:52.632 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: loaded successfully
2018.09.24 12:42:52.616 Expert BreakEvenNEUund_CLOSE_merhere2 EURUSD,M5: removed


:confused:

Max2018 24.09.18 13:06

Jetzt hab ich es mal auf dieses Problem heruntergebrochen
MAN MERKT DASS ICH ANFÄNGER BIN :(
Code:

extern int MagicNumber1=18091;
input ENUM_TIMEFRAMES  Zeiteinheit1=0;
//10080=W1 - 1440=D1 - 240=H4 - 60=H1 - 30=M30 - 15=M15 -5=M5 - 1=M1 - 0=Current 
// 
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()
{
  if(OrderMagicNumber()==MagicNumber1) 
        { 
           
                  OrderClose(OrderTicket(),OrderLots(),Ask,10,Red);
           
             
          } }

Das geht aber auch nicht - wenn ich das als EA starte und die Magicnumber eingebe, wird diese Position mit der genannten MagicNumber nicht geschlossen....

Leopold 24.09.18 13:34

Hallo,

schau dir mal folgendes an:

http://www.expert-advisor.com/forum/...g-gesucht.html

---Leopold---

Max2018 24.09.18 14:17

DANKE
...Aber da kann man die Fortsetzungen leider nicht aufrufen und kaufen steht auch dass das nicht geht....

ABER
Ich habe mir jetzt aus anderen CodeSchnipseln dass gebastelt, was auch wunderbar läuft

Code:

//+------------------------------------------------------------------+
//| Parameters                                                      |
//+------------------------------------------------------------------+
//extern string __s7="-----  Close Settings  -----------------------"; 
bool PO = true; //Close Pending Orders
bool MO = true; //Close Market Orders
 
extern string __s4="-----  MAGIC  ---------------------";
extern int MagicNumber1=1;
input ENUM_TIMEFRAMES  Zeiteinheit1=0;
//10080=W1 - 1440=D1 - 240=H4 - 60=H1 - 30=M30 - 15=M15 -5=M5 - 1=M1 - 0=Current
extern double SchliessenBei1=222222;
//
extern int MagicNumber2=2;
input ENUM_TIMEFRAMES  Zeiteinheit2=0;
extern double SchliessenBei2=222222; 
//
extern int MagicNumber3=3;
input ENUM_TIMEFRAMES  Zeiteinheit3=0;
extern double SchliessenBei3=222222;
//
extern int MagicNumber4=4;
input ENUM_TIMEFRAMES  Zeiteinheit4=0;
extern double SchliessenBei4=222222;
//
extern int MagicNumber5=5;
input ENUM_TIMEFRAMES  Zeiteinheit5=0;
extern double SchliessenBei5=222222;
//
extern int MagicNumber6=6;
input ENUM_TIMEFRAMES  Zeiteinheit6=0;
extern double SchliessenBei6=222222;
//
extern int MagicNumber7=7;
input ENUM_TIMEFRAMES  Zeiteinheit7=0;
extern double SchliessenBei7=222222;
//
extern int MagicNumber8=8;
input ENUM_TIMEFRAMES  Zeiteinheit8=0;
extern double SchliessenBei8=222222;
//
extern int MagicNumber9=9;
input ENUM_TIMEFRAMES  Zeiteinheit9=0;
extern double SchliessenBei9=222222;
//
extern int MagicNumber10=10;
input ENUM_TIMEFRAMES  Zeiteinheit10=0;
extern double SchliessenBei10=222222;
//
extern int MagicNumber11=11;
input ENUM_TIMEFRAMES  Zeiteinheit11=0;
extern double SchliessenBei11=222222;
//
extern int MagicNumber12=12;
input ENUM_TIMEFRAMES  Zeiteinheit12=0;
extern double SchliessenBei12=222222;
//
extern int MagicNumber15=15;
input ENUM_TIMEFRAMES  Zeiteinheit15=0;
extern double SchliessenBei15=222222;
//
extern int MagicNumber16=16;
input ENUM_TIMEFRAMES  Zeiteinheit16=0;
extern double SchliessenBei16=222222;
//
extern int MagicNumber17=17;
input ENUM_TIMEFRAMES  Zeiteinheit17=0;
extern double SchliessenBei17=222222;
//
extern int MagicNumber18=18;
input ENUM_TIMEFRAMES  Zeiteinheit18=0;
extern double SchliessenBei18=222222;
//
extern int MagicNumber19=19;
input ENUM_TIMEFRAMES  Zeiteinheit19=0;
extern double SchliessenBei19=222222;
//
extern int MagicNumber20=20;
input ENUM_TIMEFRAMES  Zeiteinheit20=0;
extern double SchliessenBei20=222222;
//
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;
//
extern int MagicNumber23=23;
input ENUM_TIMEFRAMES  Zeiteinheit23=0;
extern double SchliessenBei23=11111;
//
extern int MagicNumber24=24;
input ENUM_TIMEFRAMES  Zeiteinheit24=0;
extern double SchliessenBei24=11111;
//
extern int MagicNumber25=25;
input ENUM_TIMEFRAMES  Zeiteinheit25=0;
extern double SchliessenBei25=11111;
//+------------------------------------------------------------------+
//| Functions                                                        |
//+------------------------------------------------------------------+
int init()
  {
  return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
  return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {

      for(int i=OrdersTotal()-1; i>=0; i--)
        {
//BUY
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber1&&iOpen(NULL,Zeiteinheit1,1)<SchliessenBei1&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber2&&iOpen(NULL,Zeiteinheit2,1)<SchliessenBei2&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber3&&iOpen(NULL,Zeiteinheit3,1)<SchliessenBei3&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber4&&iOpen(NULL,Zeiteinheit4,1)<SchliessenBei4&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber5&&iOpen(NULL,Zeiteinheit5,1)<SchliessenBei5&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber6&&iOpen(NULL,Zeiteinheit6,1)<SchliessenBei6&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber7&&iOpen(NULL,Zeiteinheit7,1)<SchliessenBei7&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber8&&iOpen(NULL,Zeiteinheit8,1)<SchliessenBei8&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber9&&iOpen(NULL,Zeiteinheit9,1)<SchliessenBei9&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber10&&iOpen(NULL,Zeiteinheit10,1)<SchliessenBei10&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber11&&iOpen(NULL,Zeiteinheit11,1)<SchliessenBei11&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber12&&iOpen(NULL,Zeiteinheit12,1)<SchliessenBei12&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber15&&iOpen(NULL,Zeiteinheit15,1)<SchliessenBei15&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber16&&iOpen(NULL,Zeiteinheit16,1)<SchliessenBei16&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber17&&iOpen(NULL,Zeiteinheit17,1)<SchliessenBei17&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber18&&iOpen(NULL,Zeiteinheit18,1)<SchliessenBei18&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber19&&iOpen(NULL,Zeiteinheit19,1)<SchliessenBei19&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber20&&iOpen(NULL,Zeiteinheit20,1)<SchliessenBei20&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber21&&iOpen(NULL,Zeiteinheit21,1)<SchliessenBei21&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber22&&iOpen(NULL,Zeiteinheit22,1)<SchliessenBei22&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber23&&iOpen(NULL,Zeiteinheit23,1)<SchliessenBei23&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber24&&iOpen(NULL,Zeiteinheit24,1)<SchliessenBei24&&OrderType()==OP_BUY) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber25&&iOpen(NULL,Zeiteinheit25,1)<SchliessenBei25&&OrderType()==OP_BUY) {CloseProcess();}
//SELL
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber1&&iOpen(NULL,Zeiteinheit1,1)>SchliessenBei1&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber2&&iOpen(NULL,Zeiteinheit2,1)>SchliessenBei2&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber3&&iOpen(NULL,Zeiteinheit3,1)>SchliessenBei3&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber4&&iOpen(NULL,Zeiteinheit4,1)>SchliessenBei4&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber5&&iOpen(NULL,Zeiteinheit5,1)>SchliessenBei5&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber6&&iOpen(NULL,Zeiteinheit6,1)>SchliessenBei6&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber7&&iOpen(NULL,Zeiteinheit7,1)>SchliessenBei7&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber8&&iOpen(NULL,Zeiteinheit8,1)>SchliessenBei8&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber9&&iOpen(NULL,Zeiteinheit9,1)>SchliessenBei9&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber10&&iOpen(NULL,Zeiteinheit10,1)>SchliessenBei10&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber11&&iOpen(NULL,Zeiteinheit11,1)>SchliessenBei11&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber12&&iOpen(NULL,Zeiteinheit12,1)>SchliessenBei12&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber15&&iOpen(NULL,Zeiteinheit15,1)>SchliessenBei15&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber16&&iOpen(NULL,Zeiteinheit16,1)>SchliessenBei16&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber17&&iOpen(NULL,Zeiteinheit17,1)>SchliessenBei17&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber18&&iOpen(NULL,Zeiteinheit18,1)>SchliessenBei18&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber19&&iOpen(NULL,Zeiteinheit19,1)>SchliessenBei19&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber20&&iOpen(NULL,Zeiteinheit20,1)>SchliessenBei20&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber21&&iOpen(NULL,Zeiteinheit21,1)>SchliessenBei21&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber22&&iOpen(NULL,Zeiteinheit22,1)>SchliessenBei22&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber23&&iOpen(NULL,Zeiteinheit23,1)>SchliessenBei23&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber24&&iOpen(NULL,Zeiteinheit24,1)>SchliessenBei24&&OrderType()==OP_SELL) {CloseProcess();}
        if(OrderSelect(i,SELECT_BY_POS)==true && OrderMagicNumber()==MagicNumber25&&iOpen(NULL,Zeiteinheit25,1)>SchliessenBei25&&OrderType()==OP_SELL) {CloseProcess();}

        }
   
  return(0);
  }
//+------------------------------------------------------------------+
//| Close process                                                    |
//+------------------------------------------------------------------+
void CloseProcess()
  {
  int error;
  int MaxSlippage=3;
  double AskOrBid;

  string DigitsS=StringConcatenate(MarketInfo(StringConcatenate(OrderSymbol()),MODE_DIGITS));
  int vDigits=StrToInteger(DigitsS);

  RefreshRates();
  if(OrderType()==OP_BUY) { AskOrBid=NormalizeDouble(MarketInfo(StringConcatenate(OrderSymbol()),MODE_BID),vDigits); } else { AskOrBid=NormalizeDouble(MarketInfo(StringConcatenate(OrderSymbol()),MODE_ASK),vDigits); }

//---Pending orders

  if(PO==true)
    {
      if(OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
        {
        if(!OrderDelete(OrderTicket()))
          {
            error=GetLastError();
            Print("Error deleting order for ticket:"+StringConcatenate(OrderTicket())+" Error: "+StringConcatenate(error)+" : "+ErrorDescription(error));
          }
        }
    }

//---Positions in market

  if(MO==true)
    {
      if(OrderType()==OP_BUY || OrderType()==OP_SELL)
        {
        if(OrderClose(OrderTicket(),OrderLots(),AskOrBid,MaxSlippage)==false)
          {
            error=GetLastError();
            Print("Error closing order for ticket:"+StringConcatenate(OrderTicket())+" Error: "+StringConcatenate(error)+" : "+ErrorDescription(error));
            Sleep(1000);

            RefreshRates();
            if(OrderType()==OP_BUY) { AskOrBid=NormalizeDouble(MarketInfo(StringConcatenate(OrderSymbol()),MODE_BID),vDigits); } else { AskOrBid=NormalizeDouble(MarketInfo(StringConcatenate(OrderSymbol()),MODE_ASK),vDigits); }

            //Retries 2//
            if(OrderClose(OrderTicket(),OrderLots(),AskOrBid,MaxSlippage)==false)
              {
              error=GetLastError();
              Print("Error closing order for ticket:"+StringConcatenate(OrderTicket())+" Error: "+StringConcatenate(error)+" : "+ErrorDescription(error));
              Sleep(1000);

              RefreshRates();
              if(OrderType()==OP_BUY) { AskOrBid=NormalizeDouble(MarketInfo(StringConcatenate(OrderSymbol()),MODE_BID),vDigits); } else { AskOrBid=NormalizeDouble(MarketInfo(StringConcatenate(OrderSymbol()),MODE_ASK),vDigits); }

              //Retries 3//
              if(OrderClose(OrderTicket(),OrderLots(),AskOrBid,MaxSlippage)==false)
                {
                  error=GetLastError();
                  Print("Error closing order for ticket:"+StringConcatenate(OrderTicket())+" Error: "+StringConcatenate(error)+" : "+ErrorDescription(error));
                }
              }
          }
        }
    }
  return;
  }
//+------------------------------------------------------------------+
//| Error description                                                |
//+------------------------------------------------------------------+
string ErrorDescription(int error_code)
  {
  string error_string;
//----
  switch(error_code)
    {
      //---- codes returned from trade server
      case 0:
      case 1:  error_string="no error";                                                  break;
      case 2:  error_string="common error";                                              break;
      case 3:  error_string="invalid trade parameters";                                  break;
      case 4:  error_string="trade server is busy";                                      break;
      case 5:  error_string="old version of the client terminal";                        break;
      case 6:  error_string="no connection with trade server";                          break;
      case 7:  error_string="not enough rights";                                        break;
      case 8:  error_string="too frequent requests";                                    break;
      case 9:  error_string="malfunctional trade operation (never returned error)";      break;
      case 64:  error_string="account disabled";                                          break;
      case 65:  error_string="invalid account";                                          break;
      case 128: error_string="trade timeout";                                            break;
      case 129: error_string="invalid price";                                            break;
      case 130: error_string="invalid stops";                                            break;
      case 131: error_string="invalid trade volume";                                      break;
      case 132: error_string="market is closed";                                          break;
      case 133: error_string="trade is disabled";                                        break;
      case 134: error_string="not enough money";                                          break;
      case 135: error_string="price changed";                                            break;
      case 136: error_string="off quotes";                                                break;
      case 137: error_string="broker is busy (never returned error)";                    break;
      case 138: error_string="requote";                                                  break;
      case 139: error_string="order is locked";                                          break;
      case 140: error_string="long positions only allowed";                              break;
      case 141: error_string="too many requests";                                        break;
      case 145: error_string="modification denied because order too close to market";    break;
      case 146: error_string="trade context is busy";                                    break;
      case 147: error_string="expirations are denied by broker";                          break;
      case 148: error_string="amount of open and pending orders has reached the limit";  break;
      case 149: error_string="hedging is prohibited";                                    break;
      case 150: error_string="prohibited by FIFO rules";                                  break;
      //---- mql4 errors
      case 4000: error_string="no error (never generated code)";                          break;
      case 4001: error_string="wrong function pointer";                                  break;
      case 4002: error_string="array index is out of range";                              break;
      case 4003: error_string="no memory for function call stack";                        break;
      case 4004: error_string="recursive stack overflow";                                break;
      case 4005: error_string="not enough stack for parameter";                          break;
      case 4006: error_string="no memory for parameter string";                          break;
      case 4007: error_string="no memory for temp string";                                break;
      case 4008: error_string="not initialized string";                                  break;
      case 4009: error_string="not initialized string in array";                          break;
      case 4010: error_string="no memory for array\' string";                            break;
      case 4011: error_string="too long string";                                          break;
      case 4012: error_string="remainder from zero divide";                              break;
      case 4013: error_string="zero divide";                                              break;
      case 4014: error_string="unknown command";                                          break;
      case 4015: error_string="wrong jump (never generated error)";                      break;
      case 4016: error_string="not initialized array";                                    break;
      case 4017: error_string="dll calls are not allowed";                                break;
      case 4018: error_string="cannot load library";                                      break;
      case 4019: error_string="cannot call function";                                    break;
      case 4020: error_string="expert function calls are not allowed";                    break;
      case 4021: error_string="not enough memory for temp string returned from function"; break;
      case 4022: error_string="system is busy (never generated error)";                  break;
      case 4050: error_string="invalid function parameters count";                        break;
      case 4051: error_string="invalid function parameter value";                        break;
      case 4052: error_string="string function internal error";                          break;
      case 4053: error_string="some array error";                                        break;
      case 4054: error_string="incorrect series array using";                            break;
      case 4055: error_string="custom indicator error";                                  break;
      case 4056: error_string="arrays are incompatible";                                  break;
      case 4057: error_string="global variables processing error";                        break;
      case 4058: error_string="global variable not found";                                break;
      case 4059: error_string="function is not allowed in testing mode";                  break;
      case 4060: error_string="function is not confirmed";                                break;
      case 4061: error_string="send mail error";                                          break;
      case 4062: error_string="string parameter expected";                                break;
      case 4063: error_string="integer parameter expected";                              break;
      case 4064: error_string="double parameter expected";                                break;
      case 4065: error_string="array as parameter expected";                              break;
      case 4066: error_string="requested history data in update state";                  break;
      case 4099: error_string="end of file";                                              break;
      case 4100: error_string="some file error";                                          break;
      case 4101: error_string="wrong file name";                                          break;
      case 4102: error_string="too many opened files";                                    break;
      case 4103: error_string="cannot open file";                                        break;
      case 4104: error_string="incompatible access to a file";                            break;
      case 4105: error_string="no order selected";                                        break;
      case 4106: error_string="unknown symbol";                                          break;
      case 4107: error_string="invalid price parameter for trade function";              break;
      case 4108: error_string="invalid ticket";                                          break;
      case 4109: error_string="trade is not allowed in the expert properties";            break;
      case 4110: error_string="longs are not allowed in the expert properties";          break;
      case 4111: error_string="shorts are not allowed in the expert properties";          break;
      case 4200: error_string="object is already exist";                                  break;
      case 4201: error_string="unknown object property";                                  break;
      case 4202: error_string="object is not exist";                                      break;
      case 4203: error_string="unknown object type";                                      break;
      case 4204: error_string="no object name";                                          break;
      case 4205: error_string="object coordinates error";                                break;
      case 4206: error_string="no specified subwindow";                                  break;
      default:  error_string="unknown error";
    }
//----
  return(error_string);
  }
//+------------------------------------------------------------------+


Leopold 24.09.18 14:27

Zitat:

Zitat von Max2018 (Beitrag 41656)
DANKE
...Aber da kann man die Fortsetzungen leider nicht aufrufen und kaufen steht auch dass das nicht geht....

Wie wärs mit dem/einen Buch?

---Leopold---

Max2018 24.09.18 14:31

Habe schon eins .... bin aber noch nicht dazu gekommen zu lernen :(

Aber Du hast recht - das muss sein
Ich fange heute mal an


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:15 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