Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1206
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
Alert("Разбег "+DoubleToString(delta,_Digits));
oder Alert(StringFormat("Spread %.5f",delta));
im Allgemeinen, gewöhnen Sie sich daran, es sind nur verschiedene Darstellungen derselben Zahl. Denken Sie an Ihre wunderbare Schulzeit zurück - daher kommt es.
Ich danke Ihnen. Was aber, wenn ich den Deltawert als Zahl verwenden und vergleichen muss? Zum Beispiel.
Wäre das richtig?Ich danke Ihnen. Was ist, wenn ich den Deltawert als Zahl verwenden und vergleichen muss? Zum Beispiel.
Ist dies richtig?Sie können zwei reelle Zahlen auf diese Weise vergleichen:
https://www.mql5.com/ru/docs/basis/types/double
Sie können zwei reelle Zahlen auf diese Weise vergleichen:
https://www.mql5.com/ru/docs/basis/types/double
Das können Sie, wenn Sie sicher sind, dass der Wert nicht sehr nahe beieinander liegt. Schließlich wird "weich" mit "warm" verglichen.
Das verstehe ich nicht. Zum Beispiel. Ich nehme die Anzahl der Pips, die der Kurs in einem Tick überschritten hat. Wenn der Kurs um mehr als 20 Punkte gefallen ist, erhalte ich einen Alert.
Ich vergleiche die Preisdifferenz (1,12300-1,12321=0,00021) mit dem erforderlichen Höchstwert (0,00020).
0.00021>0.00020.
Was hat das mit weich und warm zu tun?
Das verstehe ich nicht. Zum Beispiel. Ich nehme die Anzahl der Pips, die der Kurs in einem Tick überschritten hat. Wenn der Kurs um mehr als 20 Punkte gefallen ist, erhalte ich einen Alert.
Ich vergleiche die Preisdifferenz (1,12300-1,12321=0,00021) mit dem erforderlichen Höchstwert (0,00020).
0.00021>0.00020.
Was hat das mit weich und warm zu tun?
Sie brauchen Punkte, also vergleichen Sie die Punkte.
und double wird mit epsilon verglichen (DBL_EPS, wenn ich mich recht erinnere), sonst könnte man 3.0-0.2 > 2.0+0.8 erhalten (im übertragenen Sinne, die Zahlen können unterschiedlich sein)
Du brauchst Punkte, also vergleiche die Punkte. Es sind übrigens ganze Zahlen.
während double mit epsilon verglichen wird (DBL_EPS, wenn ich mich recht erinnere), sonst erhält man 3.0-0.2 > 2.0+0.8 (im übertragenen Sinne, die Zahlen können unterschiedlich sein)
Verwenden Sie zu diesem Zweck besser das Beispiel von @fxsaber:
Skript zu überprüfen:
Das verstehe ich nicht. Zum Beispiel. Ich nehme die Anzahl der Pips, die der Preis in einem Tick überschritten hat. Wenn der Kurs um mehr als 20 Punkte gefallen ist, erhalte ich einen Alert.
Ich vergleiche die Preisdifferenz (1,12300-1,12321=0,00021) mit dem erforderlichen Höchstwert (0,00020).
0.00021>0.00020.
Was hat das mit weich und warm zu tun?
Nun, manchmal muss man nicht alles lesen, was geschrieben wird.
Sie haben Zahlen genommen, die normalerweise vom System dargestellt werden. Nehmen Sie diese...
und Sie erhalten
Die Idee ist a-b==c, aber der Computer wird Ihnen solche Fehler anzeigen. Es wurde viel darüber im Forum geschrieben, suchen und lesen Sie.
Aber man kann die normalisierte Differenz und den normalisierten Kontrollwert nehmen und sie vergleichen.
Ich wünsche Ihnen allen eine gute Zeit. Frage: Wie berechnet der MT4-Tester bei der Arbeit mit Crosses (Paare ohne Pfund) die Ergebnisse geschlossener Positionen, wenn es sich bei dem Konto, auf dem die Tests durchgeführt werden, um ein Dollarkonto handelt? Nimmt der Prüfer für die Neuberechnung der Positionssummen in Dollar den Wechselkurs der Basiswährung des Kreuzes zum Dollar zum aktuellen Zeitpunkt oder zum Zeitpunkt des geprüften Intervalls? Ich habe den starken Verdacht, dass dies zum jetzigen Zeitpunkt der Fall ist. Wenn ja, ist es unmöglich, sie zum Zeitpunkt des Intervalls zu berechnen?
Weiß das jemand?
den MODE_TICKVALUE selbst für jeden Tick zählen.
Das können Sie, wenn Sie sicher sind, dass der Wert nicht sehr nahe beieinander liegen kann. Schließlich wird "weich" mit "warm" verglichen.
Wennprom18 zwei Zahlen innerhalb von Ziffernzeichen vergleichen muss, ist dies die einzige Methode, die funktioniert:
Aber wie Sie sehen können, gibt es noch mehr Variationen: https://www.mql5.com/ru/forum/160683/page1205#comment_17247843. Deshalb habe ich im Beispiel die Vergleichsgenauigkeit absichtlich um zwei Stellen reduziert. Natürlich ist eine solche Preisspanne ziemlich ungenau... Aber wie soll man sonst in solchen Fällen zwei Zahlen vergleichen...? Wenn die Abweichung über Digits liegt, können wir nicht EqualDoubles verwenden, sondern NormalizeDouble, um alles Unnötige abzuschneiden.
Sie könnten es aber auch so machen: