Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1754
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
Die Situation ist wie folgt: die Variable X speichert den Index des Balkens in der Historie, wir wissen, dass wenn ein neuer Balken erscheint, es eine Verschiebung gibt, und deshalb zeigt X bereits auf einen anderen Balken. Wie kann man das beheben? Die Idee: Mit jedem neuen Balken erhöhen wir den Zähler (count++) und addieren ihn zu X. Somit zeigt X unabhängig vom Versatz immer auf denselben Takt. Aber es gibt ein Problem - wenn der EA initialisiert wird, sollte der erste aktuelle Balken nicht berücksichtigt werden. Ich denke, es kann leicht gelöst werden, wenn count anfänglich nur gleich -1 ist. Das heißt, beim aktuellen Takt nach der Inkrementierung steht der Zähler auf "0", und beim nächsten neuen Takt (wenn die erste Verschiebung um 1 Takt nach der Initialisierung stattgefunden hat) wird er auf "1" gesetzt. Was meinen Sie dazu? Vielleicht denke ich überhaupt an der falschen Stelle?
Wenn es sich um einen Indikator handelt, ist er ausreichend
zu allen Arrays und Puffern des verwendeten Indikators.
Dann wird der Null-Balken zu rates_total-1
Die Situation ist wie folgt: die Variable X speichert den Index des Balkens in der Historie, wir wissen, dass wenn ein neuer Balken erscheint, es eine Verschiebung gibt, und deshalb zeigt X bereits auf einen anderen Balken. Wie kann man das beheben? Die Idee: Mit jedem neuen Balken erhöhen wir den Zähler (count++) und addieren ihn zu X. Somit zeigt X unabhängig vom Versatz immer auf denselben Takt. Aber es gibt ein Problem - wenn der EA initialisiert wird, sollte der erste aktuelle Balken nicht berücksichtigt werden. Ich denke, es kann leicht gelöst werden, wenn count anfänglich nur gleich -1 ist. Das heißt, beim aktuellen Balken nach der Inkrementierung ist der Zähler "0" und beim nächsten neuen Balken (wenn die erste Verschiebung um 1 Balken nach der Initialisierung stattgefunden hat) ist er "1". Was meinen Sie dazu? Vielleicht denke ich überhaupt an der falschen Stelle?
Warum sollte man sich diese Mühe machen?
Es ist einfacher für mich)
Aber der Prozessor ist schwerer...
Aber der Prozessor ist schwerer...
Die Situation ist wie folgt: Die Variable X speichert den Index des Balkens in der Historie, und wir wissen, dass, wenn ein neuer Balken erscheint, dieser verschoben wird und X daher bereits auf einen anderen Balken zeigt. Wie kann man das beheben? Die Idee: Mit jedem neuen Balken erhöhen wir den Zähler (count++) und addieren ihn zu X. Somit zeigt X unabhängig vom Versatz immer auf denselben Takt. Aber es gibt ein Problem - wenn der EA initialisiert wird, sollte der erste aktuelle Balken nicht berücksichtigt werden. Ich denke, es kann leicht gelöst werden, wenn count anfänglich nur gleich -1 ist. Das heißt, beim aktuellen Takt nach der Inkrementierung steht der Zähler auf "0", und beim nächsten neuen Takt (wenn die erste Verschiebung um 1 Takt nach der Initialisierung stattgefunden hat) wird er auf "1" gesetzt. Was meinen Sie dazu? Vielleicht denke ich überhaupt an der falschen Stelle?
Nicht da. Beim Laden von EA/Indicator steht nichts in X, wenn es sich innerhalb des Terminals befindet, es sei denn, es handelt sich um eine intu- oder externe oder globale Variable außerhalb des Terminals, so dass dort erst etwas geschrieben werden muss. Und dann lesen wir einfach die Änderungen der Gesamtzahl der Balken ab (unter Berücksichtigung des Auftretens eines neuen Balkens).
datetime BarTime;
Grüße. Können Sie mir einen Tipp geben? Wie in mt5 bei der Initialisierung oder bei Tick zu definieren Prüfung?
Bislang habe ich nur OnTester() gefunden, das kurz vor OnDeinit() aufgerufen wird.
@Valeriy Yastremskiy Der Index wird noch in OnInit() in X platziert. Mein Code sieht wie folgt aus:
Die Bedingung mit FlagNewBar erscheint mir überflüssig.