Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 20.03.18
Karabiner Karabiner ist offline
Neues Mitglied
 
Registriert seit: Jun 2017
Beiträge: 20
Karabiner befindet sich auf einem aufstrebenden Ast
Standard

Hallo AVT,

danke für deine Antwort.

Deine Tips waren super nützlich für mich, allerdings stehe ich vor einem neuen Problem.

Wenn ich meinen zusammengeschusterten EA im Backtest laufen lasse, dann hab ich in der LongOrder den TakeProfit und definitv jetzt meinen TrailingStop. freu

Aber nun hab ich das Problem das ich keine TP´s und SL´s mehr bei der ShortOrder bekomme. Seltsam find ich es, da der TP für die LongOrder erst nach dem TrailingStop Programmteil bearbeitet wird und da funktioniert es.

Könntest Du mir da vielleicht bitte noch einmal helfen?

Code:
//Stopp Loss Long setzen
{
   if (OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
      {
          if(OrderCloseTime() ==0 && OrderStopLoss() ==0 )
          {
          
              StoppLoss= NormalizeDouble (OrderOpenPrice()/(1+(SL_prozent/100)),Digits);
              OrderAngepasst = OrderModify (OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
         
          }

  else if(OrderCloseTime () == 0 && OrderAngepasst == true)
   {
   
   O_Sym = OrderSymbol();
   O_Point = MarketInfo(O_Sym,MODE_POINT);   // Größe eines Punktes im Symbol der Order
   
   if(_Digits == 3 || _Digits == 5)
      O_Point = O_Point*10;
   
   if(OrderType() == OP_BUY)
   {
      O_Price = MarketInfo(O_Sym,MODE_BID);  // Aktuellen Preis des entsprechenden Symbols
      
      if(OrderStopLoss() < O_Price-((TrailingStop_Abstand+TrailingStop_Schritt) * O_Point))
      {
         if(!OrderModify(OrderTicket(),OrderOpenPrice(),O_Price-(TrailingStop_Abstand*O_Point),OrderTakeProfit(),0))
            Alert("Order #",IntegerToString(OrderTicket())," konnte nicht modifiziert werden! Fehler Nr: ",IntegerToString(GetLastError()));
      }   
   }
   else if(OrderType() == OP_SELL)
   {
      O_Price = MarketInfo(O_Sym,MODE_ASK);  // Aktuellen Preis des entsprechenden Symbols
      
      if(OrderStopLoss() > O_Price+((TrailingStop_Abstand+TrailingStop_Schritt) * O_Point))
      {
         if(!OrderModify(OrderTicket(),OrderOpenPrice(),O_Price+(TrailingStop_Abstand*O_Point),OrderTakeProfit(),0))
            Alert("Order #",IntegerToString(OrderTicket())," konnte nicht modifiziert werden! Fehler Nr: ",IntegerToString(GetLastError()));
      }
   }

      }
//Stopp Loss Short setzen
 if (OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
      {
          if(OrderCloseTime() ==0 && OrderStopLoss() ==0)
          {
                         StoppLoss= NormalizeDouble (OrderOpenPrice()*(1+(SL_prozent/100)),Digits);
              OrderAngepasst = OrderModify (OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
     
}}
    else if(OrderCloseTime () == 0 && OrderAngepasst == true)
   {
   
   O_Sym = OrderSymbol();
   O_Point = MarketInfo(O_Sym,MODE_POINT);   // Größe eines Punktes im Symbol der Order
   
   if(_Digits == 3 || _Digits == 5)
      O_Point = O_Point*10;
   
   if(OrderType() == OP_SELL)
   {
      O_Price = MarketInfo(O_Sym,MODE_ASK);  // Aktuellen Preis des entsprechenden Symbols
      
      if(OrderStopLoss() > O_Price+((TrailingStop_Abstand+TrailingStop_Schritt) * O_Point))
      {
         if(!OrderModify(OrderTicket(),OrderOpenPrice(),O_Price+(TrailingStop_Abstand*O_Point),OrderTakeProfit(),0))
            Alert("Order #",IntegerToString(OrderTicket())," konnte nicht modifiziert werden! Fehler Nr: ",IntegerToString(GetLastError()));
      }   
   }
  else if(OrderType() == OP_BUY)
   {
      O_Price = MarketInfo(O_Sym,MODE_BID);  // Aktuellen Preis des entsprechenden Symbols
      
      if(OrderStopLoss() < O_Price-((TrailingStop_Abstand+TrailingStop_Schritt) * O_Point))
      {
         if(!OrderModify(OrderTicket(),OrderOpenPrice(),O_Price-(TrailingStop_Abstand*O_Point),OrderTakeProfit(),0))
            Alert("Order #",IntegerToString(OrderTicket())," konnte nicht modifiziert werden! Fehler Nr: ",IntegerToString(GetLastError()));
      }
   }

      }
Ich hab irgendwo gelesen das man z.B. bei der LongOrder den TrailSL mit OrderType() == OP_BUY modifizieren muss, aber unbedingt auch den OP_SELL einbauen soll. ??? Keine Ahnung ob das richtig ist ???

Gruß
Karabiner