Ich verstehe nicht wirklich, was der Indi. soll aber nicht tut.
Wenn alles ok ist bis auf die neue, trennen die Berechnung in alte und die neue Bar(s) und schau mit dem Debugger (mit hist. Daten) was bei der neuen passiert.
Ich verstehe nicht wirklich, was der Indi. soll aber nicht tut.
Wenn alles ok ist bis auf die neue, trennen die Berechnung in alte und die neue Bar(s) und schau mit dem Debugger (mit hist. Daten) was bei der neuen passiert.
auf dem Bild oben soll der Indie (mal grob gesagt) den graph in etwa so fortführen, wie er das bisher tat, allerdings fängt er an den graph völlig anders zu zeichnen (siehe bild oben, etwa in der Mitte)
Die berechnung der vergangenen Kerzen ist definitiv korrekt.
Zu deinem Hinweis: Wie trenne ich denn die Berechnung in alte und neuen Bars?
auf dem Bild oben soll der Indie (mal grob gesagt) den graph in etwa so fortführen, wie er das bisher tat, allerdings fängt er an den graph völlig anders zu zeichnen (siehe bild oben, etwa in der Mitte)
Die berechnung der vergangenen Kerzen ist definitiv korrekt.
Zu deinem Hinweis: Wie trenne ich denn die Berechnung in alte und neuen Bars?
Was tut man mit einem indi der im wesentliche ein gerader strich ist
Aber es liegt definitiv an der Berechnung der neuen Bars...
@Carl meinst du, ich soll einfach eine
if(Bars = rates_total-10) DebugBreak();
einbauen und mal sehen, was passiert, wenn er bei rates_total ankommt?
erstmal reinzoooOOomen?
Aber es liegt definitiv an der Berechnung der neuen Bars...
@Carl meinst du, ich soll einfach eine
if(Bars = rates_total-10) DebugBreak();
einbauen und mal sehen, was passiert, wenn er bei rates_total ankommt?
Naja, der Index rates_total verursachte einen Fehler (Zugriff außerhalb des Arrays), aber das weißt Du wahrscheinlich.
Ich meine
a) 0(?) .. rates_total - 2 // die ändern sich ja nicht mehr (außer bei Repainting-Indis.)
b) rates_total - 1
Von daher if(Bars >= rates_total-2) DebugBreak();
Oder entsteht das Problem erst, wenn prev_calculated > 0 ist?
Dann muss DebugBreak() da platziert werden!
Naja, der Index rates_total verursachte einen Fehler (Zugriff außerhalb des Arrays), aber das weißt Du wahrscheinlich.
Ich meine
a) 0(?) .. rates_total - 2 // die ändern sich ja nicht mehr (außer bei Repainting-Indis.)
b) rates_total - 1
Von daher if(Bars >= rates_total-2) DebugBreak();
Oder entsteht das Problem erst, wenn prev_calculated > 0 ist?
Dann muss DebugBreak() da platziert werden!
Dass bei rates_total ein "Array out of Range" Fehler auftritt, fiel mir nicht auf..
jedenfalls tritt der Fehler erst bei prev_calculated > 0 auf. Allerdings bleibt prev_calculated, nachdem es größer 0 ist konstant, bzw. prev_calculated == rates_total.
Sollte das prev_calculated nicht stetig um einen wert erhöht werden, sowie auch rates_total..? irgendwo verstehe ich noch nicht so ganz, wie das Programm arbeitet..
Dass bei rates_total ein "Array out of Range" Fehler auftritt, fiel mir nicht auf..
jedenfalls tritt der Fehler erst bei prev_calculated > 0 auf. Allerdings bleibt prev_calculated, nachdem es größer 0 ist konstant, bzw. prev_calculated == rates_total.
Sollte das prev_calculated nicht stetig um einen wert erhöht werden, sowie auch rates_total..? irgendwo verstehe ich noch nicht so ganz, wie das Programm arbeitet..
Mach einfach mal ein time[ rates_total ] :)
Ein Array der Größe n hat Werte mit den Indices 0,..,n-1. Demnach haben die rates_total Kurse Indices von 0,..,rates_total-1.
Lade mal im Indi den Array time[] in den Debugger und prüf die Zeit-Daten.
Wenn prev_calculated == rates_tota, dann gibt es keine neue Bar, erst, wenn prev_calculated < rates_total!
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
bin gerade an den ersten Versuchen eines Indikators. Habe Ihn zu beginn noch relativ einfach gehalten (daher die zeitfressende For-Schleife).
Wenn ich den Indi im StrategyTester überprüfe, erkennt man, dass er den vergangenen chart korrekt berechnet, sobald allerdings neue Kerzen erscheinen, berechnet der Indikator völlig andere Werte. In dem Video im Anhang kann man diese Anomalie feststellen.
ab dem 31.12. um etwa um 17:30 beginnt der Strategy Tester:
Habe ein Video angehangen, welches das ganze zusätzlich zum Bild verdeutlicht:
Hier der Code:
Für einen Hinweis wäre ich euch sehr dankbar...
https://gofile.io/d/mbEeJ0