Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 23.12.11
forexAlexPH forexAlexPH ist offline
Mitglied
 
Registriert seit: Jul 2010
Beiträge: 47
forexAlexPH befindet sich auf einem aufstrebenden Ast
Question EA Feststellen ob eine offene Position zu dem Kurs bereits existiert?

Hallo,

Ich habe einen EA zusammen gebastelt. Bei einer bestimmten Konstellation öffnet der EA einen Trade. Nun sollte aber bevor der Trade geöffnet wird, überprüft werden, ob zu dem Kurs bereits ein Trade im Markt ist. Wenn ja, soll der gleiche Trade nicht noch einmal geöffnet werden.

Aktuell sieht der Codeblock wie folgt aus:

Code:
// Feststellen ob zum Preis schon eine offene Order existiert
for(int ij = 0; ij < OrdersTotal( ); ij++)
   if(OrderSelect(ij, SELECT_BY_POS, MODE_TRADES) == true) {
      if(OrderSymbol() == Symbol())
         if(OrderOpenPrice() == Ask)
            OrderinMarket = true;
    } else {
            OrderinMarket = false;
    }
// - End check order in market ----------------------

   if(Entertradebuy==1  && OrderinMarket==false)
   {
   double Ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Ask, slip, 0, Ask+TP*Point, "Buy(#" + 1 + ")", 1, 0, DodgerBlue) ;         
   }

   if(Entertradesell==1  && OrderinMarket==false)
   {
   double Ticket2 = OrderSend(Symbol(), OP_SELL, Lots, Bid, slip, 0, Bid-TP*Point, "Sell(#" + 1 + ")", 1, 0, DeepPink) ;
   }
Aber irgend wo ist da der Hund begraben. Das funktioniert beim ersten Öffnen der Order Problemlos. Schließt dann die Order im Gewinn, der Kurs lauft zurück und sollte zum gleichen Kurs nochmals die gleiche Order absetzen geschieht nichts. Ich vermute mal es wird dann vom EA angenommen, dass bereits eine Order im Markt ist.

Hat da jemand eine Lösung für das Problem?