Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 820

 

Rechnen Sie nach. Verwirrt zwischen zwei Kiefern...

Da ist das hier:

int OnCalculate (const int rates_total,      // размер массива price[] 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const int begin,            // откуда начинаются значимые данные 
                 const double& price[]       // массив для расчета 

Fragen zum Beginn:

1. Was ist das? Sein Wert = 0. Ist es ein Index?

2. Was ist das im Wesentlichen? Was sind aussagekräftige Daten? Welche anderen Arten von Daten gibt es?

3. auf welcher Grundlage wird dieser Wert berechnet? Und welche Varianten sind prinzipiell möglich? Können aussagekräftige Daten zum Beispiel nicht bei Index 0, sondern bei Index 5 beginnen?

4. Warum wird dieser Parameter in OnCalculate eingefügt?

Wenn ich nicht weiß, wo das in der Hilfe steht, weisen Sie mich bitte darauf hin.

 

Kann mir jemand sagen, wie ich diese mehrstelligen Werte im Debug-Fenster loswerden kann (die Variablen sind normalisiert)?


 
Андрей:

Kann mir jemand sagen, wie ich diese mehrstelligen Werte im Debug-Fenster loswerden kann (die Variablen sind normalisiert)?


Fügen Sie eine String-Variable hinzu, setzen Sie sie auf DoubleToString() und beobachten Sie sie im Debug-Fenster.

Man könnte das alles in ein Makro packen #ifdef _DEBUG

 
Alexey Viktorov:

Fügen Sie eine String-Variable hinzu, setzen Sie sie auf DoubleToString() und beobachten Sie sie im Debug-Fenster.

Man könnte das alles in ein Makro packen #ifdef _DEBUG

Danke, aber es stellt sich die Frage - diese mehrstelligen Werte, entsprechen sie der Realität oder so ein "Lichtspiel".

Es geht nicht darum, dass es schön aussehen soll, sondern darum, welche Werte für weitere Berechnungen verwendet werden.

 
Андрей:

Vielen Dank, aber es stellt sich die Frage, ob diese mehrwertigen Werte der Wahrheit entsprechen oder ob es sich nur um "Spielereien" handelt.

Es geht nicht darum, es schön aussehen zu lassen, sondern darum, welche Werte für weitere Berechnungen verwendet werden.

Diese mehrstelligen Werte entsprechen der Realität. Und manchmal verderben sie das Bild, vor allem, wenn es um Vergleiche geht.
Um sicherzugehen, wird empfohlen , NormalizeDouble() mit einer bestimmten Genauigkeit zu verwenden.
 
Und niemand hat sich auch nur die Mühe gemacht, etwas über den Beguine zu sagen. Es muss etwas völlig Fremdes sein...
 
User_mt5:
Das sind die mehrdeutigen. Und manchmal verderben sie das Bild, vor allem bei Vergleichsausdrücken.
Um sicher zu gehen, wird empfohlen, NormalizeDouble() mit einer bestimmten Genauigkeit zu verwenden.
Diese "Schleicher" gehen also aus normalisierten Werten hervor. Es scheint, dass in dieser Suppe (MT5) etwas fehlt.
 
Андрей:
Es sind also diese "Fehler", die aus den normalisierten Werten hervorgehen. In dieser Suppe scheint etwas zu fehlen (MT5).

Bisher habe ich naiverweise geglaubt, dass die Normalisierung die Wahrheit in letzter Instanz ist.
Könnten Sie mir bitte ein Codefragment zeigen, in dem das Problem auftritt. Vielleicht ist die Ursache eine andere.

 
User_mt5:

Bisher habe ich naiverweise geglaubt, dass die Normalisierung die Wahrheit in letzter Instanz ist.
Könnten Sie mir bitte ein Codefragment zeigen, in dem das Problem auftritt. Vielleicht ist die Ursache eine andere.

Hier ist jedoch ein Ausschnitt, der ausreicht, um die "Wirkung" zu erkennen.

Hier ist das Ergebnis:

Es ist dasselbe mit oder ohne Normalisierung.

 

Андрей:

Es ist dasselbe mit oder ohne Normalisierung.

Ja, ja.

Bei Vergleichsausdrücken (sozusagen "on the fly") funktioniert die Normalisierung tatsächlich.
Soweit ich weiß, entstehen Probleme bei der einfachen Berechnung.
Wenn aber eine Zahl normalisiert wird, sollte auch die normalisierte Zahl gespeichert werden.

Aber leider.

Ich frage mich, was die Entwickler dazu zu sagen haben.

Grund der Beschwerde: