Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo!
Wie kann man "double" in der "for"-Schleife richtig verwenden? Es scheint kein Verbot zu geben, in der Hilfe "double" zu verwenden.
Wie auch immer, meine Schlussfolgerung ist, dass "double" in der"for"-Schleife wegen der fehlenden Normalisierung von ExpressionZ nach jeder Iteration nicht empfohlen wird. Dies kann zu mindestens 2 Problemen führen:
1) Falsche Anzahl von Iterationen;
2) Falsche Ergebnisse, wenn Sie ExpressionZ für Berechnungen in einer Anweisung verwenden.
Danke, ich verstehe, warum das passiert, deshalb habe ich versucht, es zu normalisieren. Bei mir hat es nicht funktioniert. Die Option von Alexey Viktorov hat das Problem auch nicht behoben, die Werte bleiben nicht normalisiert. Es bleibt also die Frage, ob "double" in einer Schleife verwendet werden kann und immer die richtige Anzahl von Iterationen erhält.
Multipliziere mit 10 bis zum richtigen Grad, bis du ganze Zahlen erhältst. Am Anfang hatte ich auch Schwierigkeiten, jetzt konvertiere ich sogar Preise in ganze Zahlen und arbeite mit ganzen Zahlen oder runde auf ganze Zahlen. Ich habe weniger Fehler und eine bessere Lesbarkeit.
Wie ein Programmierer nach Erhalt der Zusammenfassungen der Börse sagte, verstehe ich im Allgemeinen nicht, warum Zahlen mit einer bestimmten Ziffernkapazität durch reelle Zahlen und nicht durch ganze Zahlen dargestellt werden. Dies ist logisch nicht korrekt. ))))
Multipliziere mit 10 bis zum richtigen Grad, bis du ganze Zahlen erhältst. Am Anfang hatte ich auch Schwierigkeiten, aber jetzt konvertiere ich sogar den Preis in eine ganze Zahl und arbeite mit ganzen Zahlen oder runde auf ganze Zahlen. Ich habe weniger Fehler und eine bessere Lesbarkeit.
Wie ein Programmierer nach dem Erhalt von Zusammenfassungen aus dem Austauschprogramm sagte, verstehe ich im Allgemeinen nicht, warum Zahlen mit einer bestimmten Ziffernkapazität durch reelle Zahlen und nicht durch ganze Zahlen dargestellt werden. Dies ist logisch nicht korrekt. ))))
Danke, ich werde int auf die alte Weise verwenden und dann durch double dividieren. ;)
Danke, aber Ihr Beispiel hat auch nicht das richtige Ergebnis geliefert. In printf ist zu sehen, dass keine Normalisierung stattfindet:
Entschuldigung, ich hätte es überprüfen sollen. Und hier heißt es: "Ich wollte es richtig machen, aber es hat sich herausgestellt, dass es dasselbe ist wie immer".
Ergebnis
Korrekter Code
Korrekter Code
Achten Sie darauf, dass Sie nicht step=0.04 eingeben ;)
Achten Sie darauf, dass Sie nicht step=0.04 eingeben ;)
Dies ist nur ein Ratschlag für diejenigen, die nicht wissen, wie sie ihr Gehirn benutzen sollen.)))
Entschuldigung, ich hätte es überprüfen sollen. Es heißt nur: "Ich habe es gut gemeint, aber es ist immer das Gleiche".
Ergebnis
Korrekter Code.
i=NormalizeDouble(i+step, 1)
Ah, danke! Daran habe ich selbst nicht gedacht. Das ist genau die Art von Dingen, die uns Neulingen beim Programmieren helfen ;)
Ich bin auf der Suche nachMethoden zum Sortieren eines Arrays von Strukturen. Hat jemand eine funktionierende Variante?
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
https://www.mql5.com/ru/forum/170952/page134#comment_11532251
Es funktioniert nicht...