Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 14.01.19
Ado Ado ist offline
Neues Mitglied
 
Registriert seit: Jan 2019
Beiträge: 8
Ado befindet sich auf einem aufstrebenden Ast
Standard EA findet scheinbar die richtige Order nicht..

Hallo zusammen,

mein EA läuft auf mehreren Symbolen gleichzeitig.

Grundprinzip ist:

- öffnet Stop-Order bei Vorliegen der entsrechenden Voraussetzungen und trailt den OrderOpenPrice bei Bedarf nach

- bei Vorliegen einer Order (Buy oder Sell) trailt er den StopLoss im Gewinnbereich entsprechend mit

- geht die Order in die falsche Richtung setzt er bei einem bestimmten Abtsnad eine Hedge-Order in gleiche Richtung (Sell-Order => hedge-Order auch Sell mit 3-facher Lotgröße wie

Ursprungs-Order)

- falls Profit der Hedge-Order und Urspungs-Order im Gewinnbereich, schließt er beide

- der EA hat dabei auf jedem Symbol eine andere MagicNumber





Das Ganze funktioniert auch reibungslos, wenn nur eine Order offen ist (zB eine Buy-Order auf EURUSD).



Sind zwei Order offen (zB eine Buy-Order auf EURUSD und eine Sell-Order auf USDJPY) verweigert der EA das Trailing des StopLoss und das mögliche Setzen einer Hedge-Order.



Haber schon alles Mögliche ausprobiert, habe es aber leider nicht hinbekommen, dass der EA auch bei mehreren offenen Order auf unterschiedlichen Symbolen einwandfrei arbeitet und finde den Fehler nicht :-/



Das obene beschriebene Trailing im Gewinnbereich soll mit folgendem Ablauf erreicht werden, wobei die Expert_ID die vergebene Magic ist

Code:
 

 // START OF TRAILING *****************************************************************

    
 TrailingStop=0.00003;
                 
for(int i=OrdersTotal()-1;i>=0;i--)
  
   {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
     

       if(OrderMagicNumber()==Expert_Id && OrderSymbol()==Symbol()) //only primary Order
      {
        switch(OrderType())
         {
         //==========================================================
          
          case OP_BUY:
             //RefreshRates();
             
         
           // TRAILING OF PRIMARY BUY-ORDER *******************
          if(Trail==TRUE && CountOrders(OP_BUY,HedgeMagic,Symbol())<1).... d.h. es ist keine Hedge-Order geöffnet
          {
                                          
            if(TrailingStop>0)  
             {                                    
             if(ND(BidValue-OrderOpenPrice())>ND(TrailingStop+spread))
               {
                  if(OrderStopLoss()<BidValue-spread)
                  {
                  
                  //--- modify order
                   
                   mt=OrderModify(OrderTicket(),OrderOpenPrice(),ND(BidValue-spread),0,0,Green);
                  
                   
                  }
               }
            }
          }  
             OpenOrderCount++;
             CheckHedge(Expert_Id);
             //RefreshRates();
             break;

 

....  usw für Sell..
Hat jemand eine Idee, wo das Problem liegen könnte?....Vielen Dank