Bei einer Normalisierung auf 8 Stellen ist der ma>Preis korrekt. Eine Normalisierung auf weniger Stellen führt zu gleich - falsch. So wird die höchste Genauigkeit erreicht.
Das ist ein Scherz, oder? :) Im Allgemeinen ist es auch richtig, den Preis nicht zu normalisieren. Warum sollte man eine maximale Genauigkeit anstreben, wenn sie bereits vorhanden und bekanntermaßen größer ist als das, was man erreichen kann?
Die Normalisierung auf 9 Ziffern funktioniert nicht. Der Eindruck ist, dass der Preis eine Art von 9 Ziffern ist und der Indikator hat 8 oder umgekehrt (ich erinnere mich nicht), kurz gesagt, es ist durch das Geheimnis des Unbekannten bedeckt.
Ja, höchstwahrscheinlich ist es in NormalizeDouble selbst zählt nur bis zu 8 Ziffern. Ich sage Ihnen, es ist eine lächerliche Funktion, egal wie man es dreht und wendet.
Irtron: Ja, natürlich! Wenn die Genauigkeit bekannt ist, was bei Handelswerten der Fall ist. Fixpunkt.
Ich stimme zu. Es ist nur notwendig, es zahlreichen Autoren von Themen "über den Vergleich von Doppelgängern" zu erklären. Aus diesem Grund habe ich eine _universelle_ (aber bei weitem nicht optimale) Art des Vergleichs vorgeschlagen. Und es funktioniert. Langsam, aber zuverlässig. Und zwar in allen Fällen.
Und wenn ein Thema "Über die Optimierung des Doppelvergleichs" erscheint, werden wir es entwickeln können ;)
Wir haben absichtlich den normalisierten Preis zu den Handelsanfragen hinzugefügt, um zu vermeiden, dass versehentlich falsche Preise an den Server gesendet werden.
Ich möchte mich bei allen Profis für ihre Einsichten bedanken!
Irtron, ich habe mich für deine Variante entschieden, sie hat mir sehr gut gefallen. Ich habe sie für allgemeine Fälle ein wenig korrigiert und überprüft:
int ComparePrice(double a, double b, double digit) { a -= b; b = Ziffer; wenn (a > b) zurück (1); wenn (a < -b) zurück (-1); zurück (0); } Danke.
Jede Ziffer wird Probleme verursachen. Ich verstehe nicht, was eine Ziffer ist und was der Sinn einer Änderung ist.
Ganzzahlig: Außerdem ist die Funktion langsamer als ein einzelner Aufruf vonNormalizeDouble().
Außerdem wird es langsamer sein als MathAbs, 2+3 usw. :)
Was hat es mit dem Vergleich von Funktionen mit unterschiedlicher Funktionalität auf sich? Eine vereinfachte (allerdings nicht praktikabel), jetzt ist es NormalizeDouble. Was und wem wollen Sie mit einer so eklatanten... (Wort selbst einfügen)?
VBAG schauen Sie sich dieses Skript an
Preis = 1,1111
ma = 1,11110001
Bei einer Normalisierung auf 8 Stellen ist der ma>Preis korrekt. Eine Normalisierung auf weniger Stellen führt zu gleich - falsch. So wird die höchste Genauigkeit erreicht.
Im Allgemeinen ist es auch richtig, den Preis nicht zu normalisieren. Warum sollte man eine maximale Genauigkeit anstreben, wenn sie bereits vorhanden und bekanntermaßen größer ist als das, was man erreichen kann?
Die Normalisierung auf 9 Ziffern funktioniert nicht. Der Eindruck ist, dass der Preis eine Art von 9 Ziffern ist und der Indikator hat 8 oder umgekehrt (ich erinnere mich nicht), kurz gesagt, es ist durch das Geheimnis des Unbekannten bedeckt.
Ja, höchstwahrscheinlich ist es in NormalizeDouble selbst zählt nur bis zu 8 Ziffern. Ich sage Ihnen, es ist eine lächerliche Funktion, egal wie man es dreht und wendet.
Und in vereinfachter Form funktioniert es genauso schnell wie ComparePrice:
Und in seiner ursprünglichen Form ist es nur ein Lied :)
Oder ist ComparePrice auch geeignet, um beliebige Zahlen mit beliebiger Genauigkeit zu vergleichen?
Oder ist ComparePrice auch geeignet, um beliebige Zahlen mit beliebiger Genauigkeit zu vergleichen?
Ja, natürlich! Wenn die Genauigkeit bekannt ist, was bei Handelswerten der Fall ist. Fixpunkt.
Es ist nur notwendig, es zahlreichen Autoren von Themen "über den Vergleich von Doppelgängern" zu erklären.
Aus diesem Grund habe ich eine _universelle_ (aber bei weitem nicht optimale) Art des Vergleichs vorgeschlagen.
Und es funktioniert. Langsam, aber zuverlässig. Und zwar in allen Fällen.
Und wenn ein Thema "Über die Optimierung des Doppelvergleichs" erscheint, werden wir es entwickeln können ;)
Ist eine Preisnormalisierung irgendwo notwendig?
In der Dokumentation steht, dass die Preise in Handelsanfragen normalisiert werden müssen.
Im Zweig "Unnormalisierte Historie und Eröffnungspositionen" steht Folgendes:
Irtron, ich habe mich für deine Variante entschieden, sie hat mir sehr gut gefallen. Ich habe sie für allgemeine Fälle ein wenig korrigiert und überprüft:
int ComparePrice(double a, double b, double digit)
{
a -= b;
b = Ziffer;
wenn (a > b)
zurück (1);
wenn (a < -b)
zurück (-1);
zurück (0);
}
Danke.
Ziffer=0 wird Probleme verursachen.
Jede Ziffer wird Probleme verursachen. Ich verstehe nicht, was eine Ziffer ist und was der Sinn einer Änderung ist.
Außerdem ist die Funktion langsamer als ein einzelner Aufruf vonNormalizeDouble().
Was hat es mit dem Vergleich von Funktionen mit unterschiedlicher Funktionalität auf sich? Eine vereinfachte (allerdings nicht praktikabel), jetzt ist es NormalizeDouble.
Was und wem wollen Sie mit einer so eklatanten... (Wort selbst einfügen)?