NormalizeDouble-Paradoxon - Seite 10

 
barabashkakvn:
Alles kommt allmählich. Zunächst einmal muss man sich vergegenwärtigen, dass Sätze in Großbuchstaben geschrieben werden und dass der Stil des abgehackten Verses keinesfalls für ein Forum geeignet ist. Dann wird die Normalisierung und Indizierung von Grund auf neu durchgeführt.

Ich habe auf diesen Kommentar gewartet )))))

 

es gibt nichts Natürlicheres als schnelles Tippen im Stil eines Chatrooms - eine Zeile

Es ist so selbstverständlich wie das Zählen von 1.

und Rundung einer Zahl, um sie auf die gleiche Weise zu runden.

Komm schon, wo bleibt dein Strom sarkastischer Kommentare voller Formalismus?

Das Leben ist mehr als korrekt gesetzte Punkte und Kommas und binäre Formate.

Es ist der Fluss der Gefühle, und er soll schön sein.

Es geht um Freiheit und Kreativität.

Wie lautet Ihre Antwort darauf?

 
transcendreamer:

Ihr macht euch alle über mich lustig, nicht wahr?

Ich musste einfach nur eine gebrochene Zahl eingeben, ohne dass es Unsinn ist.

und Sie beweisen mir das Gegenteil.

mql ist kein Selbstzweck, es ist ein Werkzeug.

Ich denke, es gibt einige offensichtliche Dinge, wie z.B. - wenn man eine Zahl in eine Variable einträgt, druckt man sie aus, wie man sie einträgt...

es spielt keine Rolle, wie sie intern angeordnet ist oder wie die Nummer gespeichert wird, es ist eine Sache der Systemebene

und es ist offensichtlich, dass diese Schwänze Unsinn und ein Fehler auf der Anwendungsebene sind - unfreundlich

Aber auch hier gibt es wieder einen Programmierer-Witz: "Das ist kein Fehler, das ist eine Funktion".

diese Witze sind nicht umsonst erschienen, nicht umsonst ))))))))

NormalizeDouble() wird benötigt, wenn berechnete Parameter als Preise in Handelsaufträgen gesendet werden. Sie können Brief- und Geldkurse ohne Normalisierung senden, da sie bereits auf die erforderliche Stellenkapazität normalisiert sind. Wenn Sie Preise berechnen, zum Beispiel für einen Bid-stopLoss*Point, dann muss dieser Ausdruck normalisiert werden. Die Preise für schwebende Aufträge sind ebenfalls gleich: Sie werden im Voraus berechnet und müssen daher normalisiert werden.

Wenn man zwei reelle Zahlen vergleicht, muss man ihre normierte Differenz mit Null oder mit dem Minimalwert vergleichen.

Wenn Sie sehen wollen, was Sie berechnet haben, verwenden Sie DoubleToString() mit der gewünschten Genauigkeit. IntegerToString() mit den von Ihnen gewünschten Parametern.

Das ist etwas, das Sie verstehen und lernen sollten.

 
transcendreamer:

es gibt nichts Natürlicheres als schnelles Tippen im Stil eines Chatrooms - eine Zeile

Es ist so selbstverständlich wie das Zählen von 1.

und Rundung einer Zahl, um sie auf die gleiche Weise zu runden.

Komm schon, wo bleibt dein Strom sarkastischer Kommentare voller Formalismus?

Das Leben ist mehr als korrekt gesetzte Punkte und Kommas und binäre Formate.

Es ist der Fluss der Gefühle, und er soll schön sein.

Es geht um Freiheit und Kreativität.

Was sagen Sie dazu?

Die Freiheit... und jemand hält Sie gewaltsam zurück?

Kreativität ... erstellen, schreiben Sie Ihre eigenen Wrapper für sich selbst für alle MK-Funktionen und genießen Sie die Schönheit.

 
artmedia70:

NormalizeDouble() wird benötigt, wenn berechnete Parameter als Preise in Handelsaufträgen gesendet werden. Sie können Brief- und Geldkurse ohne Normalisierung senden, da sie bereits auf die erforderliche Stellenkapazität normalisiert sind. Wenn Sie Preise berechnen, zum Beispiel für einen Bid-stopLoss*Point, dann muss dieser Ausdruck normalisiert werden. Die Preise für schwebende Aufträge sind ebenfalls gleich: Sie werden im Voraus berechnet und müssen daher normalisiert werden.

Wenn man zwei reelle Zahlen vergleicht, muss man ihre normierte Differenz mit Null oder mit dem Minimalwert vergleichen.

Wenn Sie sehen wollen, was Sie berechnet haben, verwenden Sie DoubleToString() mit der gewünschten Genauigkeit. IntegerToString() mit den benötigten Parametern.

Das sollten Sie besser verstehen und verinnerlichen.

Ja, ich verstehe es sehr gut, man kann nicht eine Bestellung 1.234567 senden, wenn der Kurs eine 5-stellige Zahl ist.

über den Vergleich von doppelten Zahlen habe ich Hinweise auf ..... gesehen und es ist schrecklich

aber soweit ich weiß, ist es sicher, A>B zu vergleichen, solange sich A und B merklich unterscheiden

nur wenn sich herausstellt, dass, wenn ich z. B. ausdrücklich A=1,23456 und B=1,23456 setze und if(A==B) falsch ergibt, dies bereits ein Verbrechen ist

 
artmedia70:

NormalizeDouble() wird benötigt, wenn berechnete Parameter als Preise in Handelsaufträgen gesendet werden. Sie können Brief- und Geldkurse ohne Normalisierung senden, da sie bereits auf die erforderliche Stellenkapazität normalisiert sind. Wenn Sie Preise berechnen, zum Beispiel für einen Bid-stopLoss*Point, dann muss dieser Ausdruck normalisiert werden. Die Preise für schwebende Aufträge sind ebenfalls gleich: Sie werden im Voraus berechnet und müssen daher normalisiert werden.

Wenn man zwei reelle Zahlen vergleicht, muss man ihre normierte Differenz mit Null oder mit dem Minimalwert vergleichen.

Wenn Sie sehen wollen, was Sie berechnet haben, verwenden Sie DoubleToString() mit der gewünschten Genauigkeit. IntegerToString() mit den benötigten Parametern.

Das ist etwas, das Sie verstehen und lernen sollten.

Druck und Alarm sind schief - ich habe es schon verstanden
 

Was mich stört, ist, dass ich, wenn ich eine Bruchzahl berechne, sie normalisiere, sie in eine Variable schreibe, sie dann lese und wieder normalisiere, Schwänze erhalte

z.B..

basis[0]=NormalizeDouble(sum_A,2);

GlobalVariableSet("Equity-"+portfolio_id,basis[0]); 

...

current=NormalizeDouble(GlobalVariableGet("Equity-"+portfolio_id),2);

text = "Positions synchronized at " + current + " for portfolio: " + portfolio_name;

if(!automatic) MessageBox(text,""); else Print(text);

Jetzt habe ich es geändert in

text = "Positions synchronized at " + DoubleToStr(current,2) + " for portfolio: " + portfolio_name;

if(!automatic) MessageBox(text,""); else Print(text);

und es scheint keine Schwänze zu geben, whew, whew, whew...

 

genauer gesagt - in der ursprünglichen Version war es (string)current

d.h. Umwandlung einer normierten Zahl in linke Schwänze

manchmal (nicht immer)

 

das Problem des Vergleichs zweier Doppelzahlen entsteht, wenn z. B. eine Zahl eine Konstante ist und die andere durch Division/Multiplikation berechnet wird

 

Jedenfalls noch einmal vielen Dank, dass Sie Ihre Zeit mit einem hoffnungslosen Menschenfreund verschwendet haben. Wenn ich jemanden verärgert habe, tut es mir leid, ich sage nur, was ich denke, ohne böse Absicht.

In der Zwischenzeit gibt es gute Nachrichten.