Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 23.04.14
Richi777 Richi777 ist offline
Mitglied
 
Registriert seit: Mar 2014
Beiträge: 39
Richi777 befindet sich auf einem aufstrebenden Ast
Standard Bei Trendsignal nur eine Order öffnen aber nach geschlossene öffnet wieder eine!?

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")
        {
         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());       
           }
         else Print("Error opening BUY order : ",GetLastError(), kauf); 
         return(0); 
        }
        
//+------------------------------------------------------------------+

      if(signal == "short" )
        {
         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());
           }
         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.