Das kann an Vielem liegen. Auch daran, dass die Darstellung im Visualizer zeitlich verzögert ist - wegen der Ausführungsgeschwindikeit gibt es wenige Aktualisierungen des Bildes. Zeig mal den ganzen Code, nicht nur die Zeile. Übrigens um reelle Zahlen mit genau n-Nachkommastellen darzustellen muss man StringFormat(), PrintFormat() oder DoubleToString() verwenden: https://www.mql5.com/en/articles/1561.
Ist zwar for MQ4 gilt aber auch für MQ5.
Druck das mal ins Log mit PrintFormat()

- www.mql5.com
Mhh, das hat nichts geändert. In der Konsole steht immer 0.00. Mein Code macht noch nichts außer ASK und BID anzeigen. Das geht auch soweit. Also habe ich den nächsten Schritt probiert - nämlich den %-Wert im Vergleich zum Vortag zu holen...
// Ask Preis double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK), _Digits); // Bid Preis double bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID), _Digits); void OnTick() { Comment("Prozent: "+string(NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_PRICE_CHANGE), _Digits))+"%"); PrintFormat(DoubleToString(NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_PRICE_CHANGE), _Digits),2)); }
Log:
2020.10.09 22:09:58.235 2020.10.07 22:58:31 0.00
Vielleicht gibt es diesen Wert nur für Optionen und nicht bei CFDs, wegen der nachfolgenden Werte wie , SYMBOL_PRICE_VOLATILITY?, SYMBOL_PRICE_THEORETICA, ...?
Wen Du den Wert braucht müsstest Du ihn wohl selber berechnen.
Vielleicht gibt es diesen Wert nur für Optionen und nicht bei CFDs, wegen der nachfolgenden Werte wie , SYMBOL_PRICE_VOLATILITY?, SYMBOL_PRICE_THEORETICA, ...?
Wen Du den Wert braucht müsstest Du ihn wohl selber berechnen.
Hallo Rene,
ich habe das so gelöst...
Prozent=NormalizeDouble((((iClose(Symbol(),PERIOD_D1,0)-iClose(Symbol(),PERIOD_D1,1))/iClose(Symbol(),PERIOD_D1,1))*100),4);
Gruß Uwe
Hallo Uwe,
deine Lösung funktioniert bestens. Ich bin zwar noch nicht ganz dahinter gestiegen, wie was funktioniert, aber ich bin dran ;)
Besten Dank jedenfalls :)
Comment("Prozent: "+string(NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_PRICE_CHANGE), _Digits))+"%");
Hallo,
es ist schon sehr lange her, dass hier gepostet wurde.
Trotzdem platziere ich die richtige Abrundung des Nachkommazahlen.
// Statt das Comment("Prozent: "+string(NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_PRICE_CHANGE), _Digits))+"%"); // Das Comment("Prozent: "+DoubleToString(SymbolInfoDouble(_Symbol,SYMBOL_PRICE_CHANGE), _Digits)+"%");
Und jetzt eine Erklärung.
Sie haben beim Comment string() benutzt und das mach alles ungenau.
Weil Comment() ein String ist, sollte man auch den Preis als String definieren.
Statt NormalizeDouble , DoubleToString !!
Gruß Igor

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo @community,
ich beschäftige mich seit erst einer Woche mit der Programmierung im MetaEditor. Ich versuche mittels
den Startwert in % im Vergleich zum Vortag anzuzeigen. Wenn ich nun mittels Strategietester mal so 3-4 Tage laufen lasse, ändert sich nie der Wert. Was muss ich da noch angeben?