Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 27.09.15
skynat skynat ist offline
Mitglied
 
Registriert seit: Sep 2015
Beiträge: 30
skynat befindet sich auf einem aufstrebenden Ast
Standard SL wird gesetzt TP aber nicht Fehler 130

Mahlzeit,

ich habe einen EA (mit Hilfe) auf der Basis von Puria programmiert und nun folgendes Problem.

StopLoss und TakeProfit werden prozentual berechnet und die Abstände habe ich auch schon recht groß gewählt sodass ich nicht glaube dass es am Broker liegt

StopLoss wird auch brav gesetzt, TakeProfit jedoch nicht was natürlich ungünstig ist. Des Weiteren ist mir aufgefallen, dass der StopLoss ab einer bestimmten Marke (ich nehme an dass es die ursprüngliche TP Marke ist) nachgezogen.

Allerdings finde ich ums Verrecken den Fehler nicht



Code:
 //StopLoss Longdeals setzen
      if(OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
         {
            if(OrderCloseTime()==0&&OrderStopLoss()==0)
               {
                  double StopLoss=NormalizeDouble(OrderOpenPrice()/(1+(StopLoss_Prozent/100)),Digits);
                  bool OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,Yellow);
               }
         }
         
         
      //StopLoss Shortdeals setzen
      if(OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
         {
            if(OrderCloseTime()==0&&OrderStopLoss()==0)
               {
                  double StopLoss=NormalizeDouble(OrderOpenPrice()*(1+(StopLoss_Prozent/100)),Digits);
                  bool OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,Yellow);
               }
         }
         
      //TakeProfit Longdeals setzen
      if(OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
         {
            if(OrderCloseTime()==0&&OrderTakeProfit()==0)
               {
                  double TakeProfit=NormalizeDouble(OrderOpenPrice()*(1+(TakeProfit_Prozent/100)),Digits);
                  bool OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),TakeProfit,OrderTakeProfit(),0,Yellow);
               }
         }
      
      
      //TakeProfit Shortdeals setzen
      if(OrderSelect(ShortOrder,SELECT_BY_TICKET)==true)
         {
            if(OrderCloseTime()==0&&OrderTakeProfit()==0)
               {
                  double TakeProfit=NormalizeDouble(OrderOpenPrice()/(1+(TakeProfit_Prozent/100)),Digits);
                  bool OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),TakeProfit,OrderTakeProfit(),0,Yellow);
               }
         }