Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 23.04.14
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Richi777 Beitrag anzeigen
Hallo Leute,

nachdem ich meine ersten EA super hinbekommen habe, der allerdings nur auf bestimmte Zeitfenster reagiert, bastel ich gerade an einen neuen, der 24 h laufen soll.....

Folgendes Problem habe ich:

Wie im Titel beschrieben, soll nach long- oder short-Signal nur eine Buy- bzw. Sell-Order geöffnet werde bis zum Trendwechsel.
Eigentlich sollte es funktionieren aber nach jedem geschossene Order öffnet sich eine.
Hier der Code--->

Code:
int offeneorders= 0;

int anzahlorders=OrdersTotal();

   for(i=0;i<anzahlorders;i++) 
     {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)) 
      
       if (OrderSymbol()== Symbol()&& OrderMagicNumber()==MagicNumber) 
            {
             offeneorders++;
            }       
        } 
     
//-------------------------------------------------------------------+
    if(offeneorders == 0 ) {   
    
      if(signal ==  "long" && !BuyOrder)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Buy",MagicNumber,0,Green);

         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Kauforder geöffnet : ",OrderOpenPrice());
            BuyOrder = true;
            SellOrder = false;
           }
         else Print("Error opening BUY order : ",GetLastError(), kauf); 
         return(0); 
        }
        
//+------------------------------------------------------------------+

      if(signal == "short" && !SellOrder)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Sell",MagicNumber,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
            SellOrder = true;
            BuyOrder = false;
           }
         else Print("Error opening SELL order : ",GetLastError(), kauf); 
         return(0); 
        }
      return(0);
     

}
Vielleicht habe ich etwas übersehen aber momentan drehe ich am Rad.

Bitte um Hilfe.

Viel Erfolg!

traderdoc