Fragen von einem "Dummy" - Seite 79

 
Rosh:
Ja, ganz allein. Im Prinzip könnte ich den Code für die Berechnung in MQL5 veröffentlichen.
Es würde einige der Aufgaben vereinfachen.
 

Bitte sagen Sie mir, wie ich Double ( == < > ) richtig vergleichen kann. Muss sie normalisiert werden? Zum Beispiel gab es eine solche Funktion in MT4:

CompareDoubles(double Zahl1,double Zahl2)
{
if(NormalizeDouble(number1-number2,8)==0) return(true);
sonst return(false);
}

Und wie lautet im Allgemeinen der ungefähre Algorithmus der Funktion NormalizeDouble()?

Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - Документация по MQL5
 
220Volt:

Bitte sagen Sie mir, wie ich Double ( == < > ) richtig vergleichen kann. Muss sie normalisiert werden? In MT4 gab es zum Beispiel eine solche Funktion:

CompareDoubles(double Zahl1,double Zahl2)
{
if(NormalizeDouble(number1-number2,8)==0) return(true);
sonst return(false);
}

Sie können die Empfehlungen im Handbuch nachlesen. Schauen Sie selbst.
 
220Volt:

Bitte sagen Sie mir, wie ich Double ( == < > ) richtig vergleichen kann. Muss sie normalisiert werden? Zum Beispiel gab es eine solche Funktion in MT4:

CompareDoubles(double Zahl1,double Zahl2)
{
if(NormalizeDouble(number1-number2,8)==0) return(true);
sonst return(false);
}

Und wie lautet im Allgemeinen der ungefähre Algorithmus der Funktion NormalizeDouble()?

Im Allgemeinen wird beim Vergleich zweier Zahlen vom Typ Double empfohlen, deren Differenz zu nehmen und mit dem zulässigen Schwellenwert zu vergleichen. Aber ich vergleiche normalerweise direkt - ich hatte noch nie Probleme.
 

Es ist bekannt, dass die Geschichte zu Beginn des Diagramms falsch ist, die Frage "warum ist sie falsch" stellt sich nicht.

Es stellt sich eine weitere Frage: Wie können wir programmatisch die Grenze bestimmen, über die hinaus die falschen historischen Daten folgen?

Die rote vertikale Linie zeigt die Grenze an.

 
joo:

Es ist bekannt, dass die Geschichte zu Beginn des Diagramms falsch ist, die Frage "warum ist sie falsch" stellt sich nicht.

Es stellt sich eine weitere Frage: Wie können wir programmatisch die Grenze bestimmen, über die hinaus die falschen historischen Daten folgen?

Die rote vertikale Linie zeigt die Grenze an.


Gibt es eine Möglichkeit, dies anhand der Häufigkeit der Lücken festzustellen? Zählen Sie die Lücken über einen bestimmten Zeitraum.
 
tol64:
Vielleicht kann man versuchen, die Häufigkeit der Lücken irgendwie zu bestimmen? Lücken für einen bestimmten Zeitraum zählen.

Es gibt viele Möglichkeiten, sich zu verdrehen. Aber ich sehe keine, die wirklich zuverlässig sind. Denn es gibt kein wirkliches Kriterium, um die "Echtheit" der Daten jedes einzelnen Balkens zu beurteilen.

Alle Charts basieren auf Minutenbalken. Sie könnte programmatisch bis zu dem Datum berechnet werden, an dem die korrekte Erstellung eines älteren erforderlichen Zeitrahmens möglich ist. Aber auch hier gibt es ein "aber". Allerdings sind die winzigen TFs auch nicht für die gesamte Tiefe der Geschichte korrekt:

Ich weiß nicht, IMHO brauchen wir einen Standardmechanismus für die Identifizierung solcher Grenzen, etwa wie folgt

int Correct_Boundary_of_Timeframe
(
string symbol_name,       // имя символа
ENUM_TIMEFRAMES timeframe  // период
);

-gibt den Index des letzten gültigen Balkens des angeforderten Symbols der gewünschten TF zurück.

 
joo:

Ich weiß nicht, IMHO brauchen wir einen internen Mechanismus für die Festlegung solcher Grenzen, etwas wie

-gibt den Index des letzten gültigen Balkens des angeforderten Instruments des gewünschten TF zurück.

Das wäre ideal. Wozu werden diese fehlerhaften Daten überhaupt bereitgestellt?
 
joo:

-gibt den Index des letzten gültigen Balkens des angeforderten Instruments des gewünschten TF zurück.

Ich möchte auch so etwas haben.
 
joo:

Es gibt viele Möglichkeiten, sich zu verdrehen. Aber ich sehe keine, die wirklich zuverlässig sind. Denn es gibt kein wirkliches Kriterium, um die "Echtheit" der Daten jedes einzelnen Balkens zu beurteilen.

Alle Charts basieren auf Minutenbalken. Sie könnte programmatisch bis zu dem Datum berechnet werden, an dem der entsprechende Zeitrahmen korrekt erstellt werden kann. Aber auch hier gibt es ein "aber". Allerdings sind auch die winzigen TFs nicht in der ganzen Tiefe der Geschichte korrekt:

Ich weiß nicht, ich denke, wir brauchen einen speziellen Mechanismus, um solche Grenzen zu definieren, etwas wie

-gibt den Index des letzten korrekten Balkens des angeforderten Symbols der gewünschten TF zurück.

Wenn es Ihnen also nichts ausmacht, die gesamte Geschichte in die Vergangenheit zu verlegen, dann sehe ich kein Problem. Ermitteln Sie den Eröffnungs- und Schlusszeitpunkt jedes Balkens und schauen Sie sich die Anzahl der Sekunden in diesen Intra-Bar-Bereichen an. Wenn weniger als erwartet, schreiben Sie einen "falschen" Balken. Dies wird der Wendepunkt sein, nach dem alle anderen Balken unvollständig sein werden. Es hat keinen Sinn, weiter zu suchen.