Erweitertes Nachkomma Stellen Problem
Hallo Zusammen,
Bin schon ne ganze weile am googeln aber finde nichts zu meinem Spezielen Problem und das ich noch Anfänger auf dem Gebiet MT Programmierung bin macht es auch nicht leichter :p Mit dem Befehl "Digits" kann ich ja soweit ich das Richtig verstanden habe, die Nachkommastellen je nach Broker auf die richtige Anzahl Nachkommastellen Reduzieren. Jetzt ist es aber so dass mein Broker im Falle des DAX die Daten in 0,25er Schritten ... (0,25 - 0,5 - 0,75 - 0,00) z.B. 10744.75 ... 10744.00 ... 10745.25 liefert Als SL oder TP werden aber häufig Werte errechnet, die als Nachkommastelle keine 0, 0,25, 0,50 oder 0,75 haben sondern so sachen wie : 10744.43 oder 10745.77 Code:
TakeProfit = NormalizeDouble(OrderOpenPrice()*(1+(TP_Prozent/100)),Digits); Jetzt ist meine Frage welche Möglichkeit es gibt diesen Berechneten "NormalizeDouble" Wert in 0,25 oder gerne auch 0,5 er schritten zu Runden? Soll also z.B. aus 10744.43 --> 10744.50 machen Code:
// TP bei Long Deals setzen |
Code:
|
TakeProfit = NormalizeDouble(10744,75*(1+(10/100)),1);
TakeProfit = 11819,2 11819,2 ??:confused: traderdoc |
Liste der Anhänge anzeigen (Anzahl: 1)
Code:
void OnStart() |
Zitat:
ich kann das jetzt im moment nicht testen, aber ich nehm mal an dass das auch wieder einen fehler Produziert? :confused: da es nicht mit 0,25 - 0,5 - 0,75 - 0,00 endet? |
Zitat:
|
Zitat:
Rounding floating point number to a specified accuracy. |
Code:
|
void OnStart()
{ //--- double TakeProfit = NormalizeDouble(10744.75*(1+(10/100)),1); Alert(DoubleToString(TakeProfit,3)); Print(DoubleToString(TakeProfit,3)); } //+------------------------------------------------------------------+ Auch falsch: ergibt dann 10744,8 Er braucht aber .25 oder .5 oder .75 oder .0 und wenn dann double TakeProfit = NormalizeDouble(10744.75*(1+(10.0/100.0)),1); TakeProfit = 11819.2 Das wäre aber auch nicht das, was er braucht! traderdoc |
Auf die Schnelle mal eine Hilfslösung:
Code:
double TP_Prozent = 10.0; |
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum