Indikator wird beschädigt - Seite 4

 
RaptorUK:

Wenn ich nach Linien suche, die nicht mit den Diagrammbalken verbunden zu sein scheinen (wie in Ihrem ersten Beitrag), dann habe ich keine Probleme.

Der vierte Bildschirmausdruck sieht interessant aus. Soweit ich sehen kann, sollte der reduzierte Code alle 25 Minuten eine Linie zwischen den Tiefs/Hochs der letzten 20 Balken zeichnen. Es handelt sich also um eine Reihe von Linien mit einem Abstand von 5 Minuten zwischen ihnen. In Ihrem letzten Screenshot gibt es jedoch überlappende Linien. Die Ursache dafür könnte z. B. darin liegen, dass der Indikator neu kompiliert wird, wenn er bereits an ein Diagramm angehängt ist, aber wissen Sie, woran das liegt?
 
jjc:
Könnte möglicherweise durch Dinge wie die Neukompilierung des Indikators verursacht werden, wenn er bereits an ein Diagramm angehängt ist, aber haben Sie eine Idee, was dies verursacht hat?
Der Indikator war angehängt und sonst nichts ... keine Neustarts aus irgendeinem Grund.
 
jjc:
Der vierte Bildschirmausdruck sieht interessant aus.
Es fehlen Balken, von 17:08 ist der nächste Balken 17:15, der 17:00 Balken fehlt auch...
 
RaptorUK:
Es fehlen Takte, ab 17:08 ist der nächste Takt 17:15, der 17:00 Takt fehlt auch.
Ja, das erklärt es natürlich. Die Linien werden alle 25 Minuten gezogen, nicht alle 25 M1-Takte. Daher können sie sich überschneiden. Ignorieren Sie mich; meine Beobachtung war völlig irrelevant für das Hauptphänomen - das Sie (noch) nicht replizieren können - dass sich die Linien von den Balken lösen.
 
jjc:
Ignorieren Sie mich; meine Beobachtung war für das Hauptphänomen - das Sie (noch) nicht wiederholen können -, dass sich die Linien von den Balken ablösen, völlig irrelevant.
...natürlich unter der Annahme, dass dieser reduzierte Indikator in der Lage sein soll, das ursprüngliche Phänomen der sich ablösenden Linien zu replizieren, und dass die Überlappung der Linien ein erwartetes Problem ist und nicht etwas, das als Fehler und Beweis für ein Problem angesehen wird.
 
Ich habe eine Idee ... aber ich muss jetzt weg, ich habe den Indikator zu einem neuen Diagramm hinzugefügt, werde meine Idee testen, wenn ich zurückkomme und die Ergebnisse posten.
 
RaptorUK:
Ich habe eine Idee ... aber ich muss jetzt weg, ich habe den Indikator zu einem neuen Diagramm hinzugefügt, werde meine Idee testen, wenn ich zurückkomme und die Ergebnisse posten.
Ich würde auf eine Bestätigung von AnkaSoftware warten, dass dieser reduzierte Indikator das ursprüngliche Problem (abgetrennte Linien) repliziert, anstatt dass die überlappenden Linien angeblich ein Hinweis auf ein Problem sind.

Ich hätte das sofort bemerken müssen, denn ich dachte: "Verwendung von TimeCurrent() in einem Indikator? Wie seltsam". Es ist offensichtlich seltsam, weil es - wie hier - fast zwangsläufig mit der ungültigen Annahme verbunden ist, dass es eine ununterbrochene Reihe von Balken geben wird. Wenn Sie TimeCurrent() in einem verkürzten Beispiel wie diesem verwenden, dann deutet das wahrscheinlich darauf hin, dass Sie auch im ursprünglichen Code etwas Ähnliches gemacht haben und dass es daher Probleme mit Lücken in der Balkenfolge geben wird.

Ich kann mir immer noch nicht vorstellen, wie der gekürzte Code zu abgetrennten Zeilen führen könnte, ohne dass es tatsächlich ein MT4-Problem irgendeiner Art gibt, aber die Verwendung von TimeCurrent() macht mich mehr denn je misstrauisch, dass es sich um die Art von Fehler handelt, die in den vorherigen Screenshots angedeutet wurde.
 
jjc:
Ich würde auf eine Bestätigung von AnkaSoftware warten, dass dieser reduzierte Indikator das ursprüngliche Problem (abgetrennte Linien) reproduziert und nicht die überlappenden Linien, die angeblich ein Hinweis auf ein Problem sind.

Ich hätte dies sofort bemerken müssen, denn ich dachte: "Verwendung von TimeCurrent() in einem Indikator? Wie seltsam". Es ist offensichtlich seltsam, weil es - wie hier - fast zwangsläufig mit der ungültigen Annahme verbunden ist, dass es eine ununterbrochene Reihe von Balken geben wird. Wenn Sie TimeCurrent() in einem verkürzten Beispiel wie diesem verwenden, dann deutet das wahrscheinlich darauf hin, dass Sie auch im Originalcode etwas Ähnliches gemacht haben, und dass es daher Probleme mit Lücken in der Balkenfolge geben wird.

Ich kann mir immer noch nicht vorstellen, wie der gekürzte Code zu abgetrennten Zeilen führen könnte, ohne dass es tatsächlich ein MT4-Problem irgendeiner Art gibt, aber die Verwendung von TimeCurrent() macht mich mehr denn je misstrauisch, dass es sich um die Art von Fehler handelt, die in den vorherigen Screenshots angedeutet wurde.

Auf meinem System ist der gekürzte Code in der Lage, das ursprüngliche Problem der abgetrennten Zeilen zu reproduzieren.

Wenn man die xls-Datei mit dem Indikator-Array-Dump durchgeht, verschieben sich die Indizes der Indikatorzeilen-Daten im Array. So wird eine Indikatorlinie, die zwischen den Balken t1 und t2 gültig war, zu den Balken t3 und t4 verschoben und erscheint abgetrennt.

TimeCurrent wird nur verwendet, um ein Signal zum Zeichnen der Linien in bestimmten Intervallen zu erhalten, wobei die Balken immer von T - 1 bis T - 20 gezeichnet werden.

Raptor - Wie lautet Ihre Einstellung für "Max bars on chart"? Versuchen Sie es mit einer Einstellung von 10.000.

 
AnkaSoftware:

Auf meinem System ist der gekürzte Code in der Lage, das ursprüngliche Problem der abgetrennten Zeilen zu reproduzieren. [...]

Wenn Sie einen weiteren möglichen MT4-Fehler verfolgen wollen, was passiert, wenn Sie Low[i] und High[i] statt iLow() und iHigh() verwenden?
 
AnkaSoftware:
Anbei ein Beispielindikator, der das Problem reproduziert. Hängen Sie den Indikator auf einer 64-Bit-Windows-Plattform an einen M1-Chart an und lassen Sie ihn mindestens 4 Stunden lang laufen.

Was meinen Sie mit Beschädigungen? Ich habe Ihren Indikator gerade an EURUSD M1 angehängt und sehe keine Werte.