???iATR Point abrunden auf ganzes Pip???

 

Hallo liebe Programmierer.

Mein mq4-Code sieht folgendermaßen aus...

In Zeile 161 bekomm ich es aber, verflucht noch eins, nicht gebacken, dass mir im Chart die Trigger-Dots nicht auf den Punkt genau angezeigt werden. Die sollen auf das volle Pip abgerundet angezeigt werden.

Probiert habe ich bereits MathPow(), MathFloor() und NormalizeDouble(). Aber nix will funktionieren.

Es ist zum Verzweifeln. Kann jemand bitte helfen? Riesen Dank

 
janseninvestings:

Hallo liebe Programmierer.

Mein mq4-Code sieht folgendermaßen aus...

In Zeile 161 bekomm ich es aber, verflucht noch eins, nicht gebacken, dass mir im Chart die Trigger-Dots nicht auf den Punkt genau angezeigt werden. Die sollen auf das volle Pip abgerundet angezeigt werden.

Probiert habe ich bereits MathPow(), MathFloor() und NormalizeDouble(). Aber nix will funktionieren.

Es ist zum Verzweifeln. Kann jemand bitte helfen? Riesen Dank

Verwende doch DoubleToString()
 
Bitte keine Double-Posts! Den anderen Beitrag habe ich gelöscht!
 
Otto Pauser:
Verwende doch DoubleToString()
Leider brachte es kein Erfolg. Dafür hast mich aber auf DoubleToStr() gebracht. :-D Danke. Warum auch immer nimmt er dennoch das fünfte Digit zur Berechnung. Soll heißen, dass er, wie gewünscht, schön abrundet, wenn er unter 0.00005 bleibt. Aber ab 0.00005 rundet er noch auf.
 
alphatrading:
Klappt nicht. Nimmt weiterhin 5 Digits. Danke für die Hilfe aber.
 
alphatrading , otto pauser:
Hilft es vielleicht weiter, wenn ich meine ganze mql4 zeige? Würde das für die Lösung meines Probs vielleicht mehr helfen? Danke im Voraus.
 

Könnte Ihr keine Mathe mehr?

double atr = ( floor( iAtr(..) * pow(10,_Digits) + 0.5) )/pow(10,_Digits);

ungestestet, so ähnlich!

 

Vorab einen ganz lieben Dank an alle, die helfen wollten und haben.

Warum schwer machen, wenn es doch einfach geht. Konnte mein Problem lösen und es schaut wie folgt aus:



Für alle 3-Digits ist der Faktor 100 und für alle 5-Digits ist es 10.000. So einfach kann man es sich machen. :-)

Endlich kann das "Geld schei***" weitergehn, nur mit der letzten Optimierung des Arbeitsaufwandes.

Lieben Dank nochmal und Traidts Systems wünscht euch weiterhin viel Erfolg bei euren Programmierungen und Trades.

 

Damit rundest Du alles ab also auch zB 1.123459 auf : 1.12345 statt mathem. korrekt 1.12346.

Aber wenn Du das so willst ist das natürlich ok!

 
Carl Schreiber:

Damit rundest Du alles ab also auch zB 1.123459 auf : 1.12345 statt mathem. korrekt 1.12346.

Aber wenn Du das so willst ist das natürlich ok!

Falsch. Dies ist der Grund, weshalb ich nachfragte, ob ich euch nicht die komplette .mql zeigen soll, um alles zu verstehen und Missverständnissen aus dem Weg zu gehen. Da der Indikator auch optisch dargestellt wird, sehe ich es und kann es genau nachprüfen. Und ja, egal wann, er rundet alle 3-Digits auf die zweite Dezimale ab und alle 5-Digits auf die vierte Dezimale. Kurz...perfekt.


Beweis:


 
Ich kann da zwar keinen Beweis erkennen, aber wenn Du glücklich bist, ist alles ok!
Grund der Beschwerde: