Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 142
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
Um die Anzahl der Überschreitungen der Optimierung zu reduzieren, verwende ich zwei Methoden, um eine nichtlineare Skala zu erstellen.
Aufzählung der Dauer in Stunden mit ausreichender Genauigkeit:
Zum Beispiel die SAR-Stufe mit einer Genauigkeit von 2 Ziffern (~1%) aufzählen:
Eine Optimierung von 0,0001 bis 0,99 würde fast 10K Schritte erfordern. Die Verwendung der Codes 001-299 bei der Optimierung würde weniger als 300 Schritte erfordern.
Der Fehler ist in der Tat eindeutig. Aber beim Schreiben von Code wie diesem ist es nicht immer offensichtlich, dass eine solche Prüfung nicht ausreicht, um eine Division durch Null zu vermeiden.
Eine Ausrede, um den ternären Operator nicht zu verwenden.
Wenn es ähnlich ist, natürlich.
Erwarten Sie nur nicht, dass, wenn es keinen Wert gibt, dieser zwangsläufig 0 und damit falsch ist, wenn es sich nicht um eine Variable vom Typ bool handelt. Selbst eine explizite Konvertierung in den Typ bool kann ihn nicht retten.
So funktioniert es ohne Fehler.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Eigenheiten von mql5, Tipps und Tricks
Alexey Viktorov, 2019.10.28 10:22
Man erwartet einfach nicht, dass, wenn es keinen Wert gibt, dieser zwangsläufig 0 ist und daher falsch, wenn es sich nicht um eine Variable vom Typ bool handelt. Auch eine explizite Konvertierung in den Typ bool wird nicht gespeichert.
So funktioniert es ohne Fehler.
Ich kann den Höhepunkt nicht sehen. Worin besteht der Fehler?
Sie haben "==" geschrieben, es sollte "!=" sein.
Es ist "sehr blassgelb" unterstrichen :)
Sie haben "==" geschrieben, es sollte "!=" sein.
Es ist "sehr blassgelb" unterstrichen :)
Nun, nicht jeder weiß, dass ich wie dieser Affe bin: "Ich bin schwach in den Augen, wenn ich alt bin."
Ich denke schon, aber aus irgendeinem Grund funktionierte es ohne Division durch 0. Und im Allgemeinen war meine Botschaft, dass wir keine Variable auf 0 als booleschen Wert für falsch prüfen sollten.
Ich denke schon, aber aus irgendeinem Grund hat es ohne Division durch 0 funktioniert.
Weil TickValue nicht Null ist.