Einzelnen Beitrag anzeigen
  #29 (permalink)  
Alt 29.01.15
Benutzerbild von markusrgb
markusrgb markusrgb ist offline
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

nachdem ich die von mir erwähnten änderungen vorgenommen habe klappt nun alles so wie es soll



Zitat:
Zitat von markusrgb Beitrag anzeigen
deshalb hab ich die nachkomma Berechnungen jetzt mal in die if==true Funktionen mit eingebaut ....
die Variablen werd ich auch noch differenzieren - nur zur Sicherheit

Code:
// SL bei Long Deals setzen
if (OrderSelect(LongOrder,SELECT_BY_TICKET)==true)
{
    if(OrderCloseTime()==0 && OrderStopLoss()==0)
      {
       // SL bei Long Deals setzen - Erst aber umrechnung für 0,25 Schritt Broker
       // Umrechnung SL_Prozent in 0,25er Schritten
       StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100.0)),2);  
       SL = (int)StoppLoss;  //zur Sicherheit!
       NachkommaSL = StoppLoss - SL;
       if (NachkommaSL <= 0.12) StoppLoss = SL;
       if (NachkommaSL > 0.12 && NachkommaSL <= 0.37) StoppLoss = SL + 0.25;
       if (NachkommaSL > 0.37 && NachkommaSL <= 0.62) StoppLoss = SL + 0.5;
       if (NachkommaSL > 0.62 && NachkommaSL <= 0.87) StoppLoss = SL + 0.75;
       if (NachkommaSL > 0.87) StoppLoss = SL + 1.0; Alert ("NachkommaSL bei LD = ",DoubleToStr(StoppLoss, 2));
          //StoppLoss = NormalizeDouble(OrderOpenPrice()/(1+(SL_Prozent/100)),Digits);// nur bei ohne Umrechnung in 0,25er Schritten
          OrderAngepasst = OrderModify(OrderTicket(),OrderOpenPrice(),StoppLoss,OrderTakeProfit(),0,Yellow);
          Print("SL für Long Order gesetzt bei = ",StoppLoss); Alert ("SL für Long Order gesetzt ",DoubleToStr(StoppLoss, 2));

      }
}
das einzige was mir aufgefallen ist das der SL/TP manchmal nicht zu 100% richtig berechnet wird ... weicht manchmal um 1-2 Punkte ab (aber das ist in meinem Fall im Moment noch nicht so relevant)