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
Der Expert Advisor verwendet den Indikator in einem anderen Zeitrahmen. Bei Tests im Expert Advisor erscheinen falsche Daten des Indikators.
Der EA selbst arbeitet auf M5, der Indikator auf H4. Indikatoren, die auf dem gleichen Zeitrahmen (M5) aufgerufen werden, geben die richtigen Werte zurück.
Die zurückgegebenen Werte ähneln den Indikatorwerten, unterscheiden sich aber von den tatsächlichen Werten, die sichtbar sind, wenn der Indikator auf das Preisdiagrammfenster angewendet wird.
Was ist das Problem?
Beispielcode für einen Indikatoraufruf:
Mögliche Ursachen:
- die Regel der ersten 14 Takte wird nicht beachtet: https://www.mql5.com/ru/articles/15 im Indikator;
- die Korrelation zwischen der aktuellen und der voreingestellten TF nicht eingehalten wird (z.B. wird die Seriennummer des Balkens mit dem erforderlichen Wert des Extremums auf einer anderen TF wahrscheinlich anders sein als auf der voreingestellten, und folglich werden das Hoch, das Tief usw. völlig anders sein) - all dies hängt von der spezifischen Realisierung des Indikators ab; Sie sollten genau verstehen, was genau korreliert werden muss, und die Formel unter Verwendung des Verhältnisses der verschiedenen Perioden neu berechnen;
- werden möglicherweise alte Indikatorwerte vom vorherigen Tick im Puffer belassen, und es kann notwendig sein, den Puffer mit leeren Werten neu zu initialisieren: ArrayInitialize(array,EMPTY_VALUE).
Mögliche Ursachen:
- die Regel der ersten 14 Balken wird nicht eingehalten: https://www.mql5.com/ru/articles/15 im Indikator;
- Die Korrelation zwischen dem aktuellen und dem voreingestellten TF wird nicht beachtet (z. B. muss die Seriennummer des Balkens mit dem erforderlichen Wert eines Extremums in einem anderen TF anders sein als im voreingestellten, und folglich werden das Hoch, das Tief usw. anders sein) - all dies hängt von der jeweiligen Implementierung des Indikators ab;
- werden möglicherweise alte Werte vom vorherigen Tick im Indikator belassen, und es kann notwendig sein, den Puffer mit leeren Werten neu zu initialisieren: ArrayInitialize(array,EMPTY_VALUE).
1. Der Indikator wird auf allen Balken des Preisdiagramms angezeigt.
2. Hier ist alles in Ordnung.
3. hat nicht geholfen
Die Referenz besagt, dass das Datum/die Uhrzeit wie folgt dargestellt werden darf:
D'12:00:00'
Ich weise einer Variablen vom Typ datetime einen Wert zu:
Bei der Zusammenstellung wird eine Warnung eingeblendet:
Und warum?
Da kein Datum angegeben ist, wird nur die Uhrzeit 12:00:00 angegeben. Das Datum wird mit einem Punkt und nicht mit einem Doppelpunkt geschrieben.
Die Referenz besagt, dass:
Es kann entweder das Datum (Jahr, Monat, Tag) oder die Uhrzeit (Stunden, Minuten, Sekunden) oder alles zusammen weggelassen werden. Die Spanne der Werte reicht vom 1. Januar 1970 bis zum 31. Dezember 3000.
Beispiele:
D'2004.01.01 00:00' // Neujahr
D'1980.07.19 12:30:27'
D'19.07.1980 12:30:27'
D'19.07.1980 12' //Neujahr d'1980.07.19 12:00:00'
D'01.01.2004' //äquivalent D'01.01.2004 00:00:00'
D'12:30:27' //äquivalent zu D'[Kompilierdatum] 12:30:27'
D' '//äquivalent zu D'[Kompilierdatum] 00:00:00''
Oder habe ich das falsch verstanden?
Der EA selbst läuft auf M5 und der Indikator auf H4. Die Indikatoren, die auf demselben Zeitrahmen (M5) aufgerufen werden, liefern die richtigen Werte.
Ich bestehe weiterhin auf dem zweiten Punkt.
Sie schreiben selbst, dass auf derselben TF die richtigen Werte zurückgegeben werden. Bei anderen werden natürlich auch Werte zurückgegeben, die für die aktuelle TF nicht erwartet werden.
Die zurückgegebenen Werte ähneln den Indikatorwerten, unterscheiden sich aber von den tatsächlichen Werten, die sichtbar sind, wenn der Indikator an ein Preisdiagrammfenster angehängt ist.
Wenn der Indikator in der Lage ist, die richtigen Werte in Übereinstimmung mit der einen oder anderen TF zu liefern, aber nicht in der Lage ist, z.B. auf M5 das anzuzeigen, was er auf H4 tut, was können wir dann von den gelieferten Werten erwarten, wenn wir mit dem Expert Advisor zusammenarbeiten, der nicht auf der gleichen TF ist?
Die Referenz besagt, dass:
Es kann entweder das Datum (Jahr, Monat, Tag) oder die Uhrzeit (Stunden, Minuten, Sekunden) oder alles zusammen weggelassen werden. Die Spanne der Werte reicht vom 1. Januar 1970 bis zum 31. Dezember 3000.
Beispiele:
D'2004.01.01 00:00' // Silvester
D'1980.07.19 12:30:27'
D'19.07.1980 12:30:27'
D'19.07.1980 12' //Neujahr d'1980.07.19 12:00:00'
D'01.01.2004' //äquivalent D'01.01.2004 00:00:00'
D'12:30:27' //äquivalent zu D'[Kompilierdatum] 12:30:27'
D' '//äquivalent zu D'[Kompilierdatum] 00:00:00''
Oder habe ich das falsch verstanden?
Ja, ja, du hast recht, ich habe in der Eile nicht aufgepasst.
Anscheinend war es ursprünglich so, und dann wurde es annulliert und die Bescheinigung wurde nicht korrigiert.
Trotzdem stellt sich die Frage, ob es sich um eine Ungenauigkeit in der Hilfe oder um einen Fehler handelt.
Urain:
...
Trotzdem stellt sich die Frage, ob es sich um eine Ungenauigkeit in der Hilfe oder um einen Fehler handelt.
Ein Beispiel für ein Skript:
So funktioniert es. Ich mag nur die Warnungen nach dem Kompilieren nicht)). Vielleicht wird sich einer der Entwickler dazu äußern.In jedem Fall stellt sich die Frage, ob es sich um eine Ungenauigkeit in der Hilfe oder um einen Fehler handelt.
Der Expert Advisor verwendet den Indikator in einem anderen Zeitrahmen. Bei Tests zeigt der EA falsche Daten des Indikators an.
Der EA selbst arbeitet auf M5, der Indikator auf H4. Indikatoren, die auf dem gleichen Zeitrahmen (M5) aufgerufen werden, geben die richtigen Werte zurück.
Die zurückgegebenen Werte ähneln den Indikatorwerten, unterscheiden sich aber von den tatsächlichen Werten, die sichtbar sind, wenn der Indikator auf das Preisdiagrammfenster angewendet wird.
Was ist das Problem?
Beispielcode für einen Indikatoraufruf:
Das AS_SERIES-Flag kann in mehrdimensionalen Arrays und in statischen Arrays nicht gesetzt werden.
Versuchen Sie
oder wie folgt