Indikatoren: Harmonic Pattern Finder V2 - Seite 4

 
davesarge1:

Hallo André,


Eine weitere Idee für die Verbesserung des Indikators (sowie die 1.618 AB=CD und klicken Sie auf Pattern zu markieren) wäre es, den Preis neben dem Punkt D Ebenen zeigen. Zum Beispiel: "D Projected Bullish Cypher 110.821" auf dem beigefügten Chart. Gerade jetzt muss ich vom Cursor zum Fadenkreuz auf MT5 wechseln, um zu sehen, was der projizierte Preis ist. Ich überprüfe Muster auf allen Zeitrahmen und es wäre toll, einfach den Preis neben dem projizierten Punkt D zu sehen.

Vielen Dank!

David

Hallo nochmal,


wie bereits erwähnt, sind viele kleine Anpassungen möglich. Was Sie wünschen, kann durch eine kleine Codeänderung erreicht werden. Öffnen Sie also den Code-Editor und navigieren Sie zu Zeile 1634, ändern Sie die Zeile, die lautet

...      
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k]);
...

in

...
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k] + " " + NormalizeDouble(D, _Digits));
...

indem Sie den gelben Teil hinzufügen. Drücken Sie dann auf "Kompilieren" und Sie erhalten das gewünschte Ergebnis für die projizierten 5-Punkt-Muster. Machen Sie dasselbe in Zeile 1523 für 4-Punkt-Muster.


Das Prinzip dahinter ist in der folgenden Farbkodierung festgehalten:

+ " " + NormalizeDouble(D, _Digits)

entspricht "D Projected Bullish Cypher 110.821". Wenn Sie stattdessen "D Projected Bullish Cypher - 110.821" (mit einem Trennzeichen -) eingeben würden, sähe der Code wie folgt aus:

...
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k] + " - " + NormalizeDouble(D, _Digits));
...
 
Andre Enger:

Hallo nochmal,


wie bereits erwähnt, sind viele kleine Anpassungen möglich. Was Sie wünschen, kann durch eine kleine Codeänderung erreicht werden. Öffnen Sie also den Code-Editor und navigieren Sie zu Zeile 1634, ändern Sie die Zeile, die lautet

in

indem Sie den gelben Teil hinzufügen. Drücken Sie dann auf "Kompilieren" und Sie erhalten das gewünschte Ergebnis für die projizierten 5-Punkt-Muster. Machen Sie dasselbe in Zeile 1523 für 4-Punkt-Muster.


Das Prinzip dahinter ist in der folgenden Farbkodierung festgehalten:

entspricht "D Projected Bullish Cypher 110.821". Wenn Sie also stattdessen "D Projected Bullish Cypher - 110.821" (mit Trennzeichen -) eingeben würden, würde der Code so aussehen:

Vielen Dank! Ich erhalte eine Warnmeldung, "implizite Konvertierung von 'Zahl' in 'String'", aber es funktioniert gut.
 
davesarge1:
Vielen Dank! Ich erhalte eine Warnmeldung, "implizite Konvertierung von 'Zahl' nach 'String'", aber es funktioniert gut.

Es sollte funktionieren, ja.

Die Warnung ist in diesem Fall nicht bösartig und kann sicher ignoriert werden. Um eine Kompilierung ohne Warnung zu erreichen, kann die Konvertierung auch explizit gemacht werden, indem die Zahl (der voraussichtliche Preis) in einen DoubleToString()-Aufruf eingeschlossen wird:

... + " " + DoubleToString(NormalizeDouble(D, _Digits),_Digits));

oder, noch einfacher, durch einen expliziten Cast

... + " " + (string)NormalizeDouble(D, _Digits);
 

Wenn Sie zusätzlich den PRZ-Endpreis auf den Projektionen im Text sehen möchten, wie z.B. "D Projected Bullish Cypher 110.821 to 110.678", können Sie dies in drei Änderungen tun:

  1. Die beiden Zeilen, die wir bis jetzt geändert haben, sollten stattdessen lauten
    ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k]+ " " + (string)NormalizeDouble(D, _Digits)+" to "+(string)NormalizeDouble(farD, _Digits));
  2. Die Methodendeklarationen (Zeile 1537 und 1471) müssen den neuen Parameter
    datetime DDateTime,double D,double farD)
  3. Die Methodenaufrufe (Zeile 953 und 955) müssen den Parameter senden
    ...                     
       DisplayProjection(patternIndex,bullish,ADateTime,A,BDateTime,B,CDateTime,C,DDateTime,D,farD);
    else
       DisplayProjection(patternIndex,bullish,XDateTime,X,ADateTime,A,BDateTime,B,CDateTime,C,DDateTime,D,farD);
    ...

 
Andre Enger:

Wenn Sie zusätzlich den PRZ-Endpreis auf den Projektionen im Text sehen möchten, wie z.B. "D Projected Bullish Cypher 110.821 to 110.678", können Sie dies in drei Änderungen tun:

  1. Die beiden Zeilen, die wir bis jetzt geändert haben, sollten stattdessen sein
  2. Die Methodendeklarationen (Zeile 1537 und 1471) müssen den neuen Parameter erhalten
  3. Die Methodenaufrufe (Zeile 953 und 955) müssen den Parameter senden.

OK, interessant. Das würde es mir also ermöglichen, den PRZ-Stopp zu sehen, bevor Punkt D erreicht wird? Übrigens, wie wird der PRZ-Stopp berechnet? Ist es ein bestimmter %-Punkt von Punkt D entfernt, oder die letzte Ebene in der PRZ?
 
davesarge1:
OK, interessant. Das würde es mir also ermöglichen, den PRZ-Stopp zu sehen, bevor Punkt D erreicht wird? Wie wird der PRZ-Stopp übrigens berechnet? Ist es ein bestimmter %-Punkt von Punkt D entfernt oder das letzte Niveau in der PRZ?

Ja, es wäre möglich, den Preis des PRZ-Stopps in der Textbeschriftung der Projektion zu sehen.

Er wird nach der oben beschriebenen "Schnittpunktmethode" berechnet, wobei ein bestimmter Spielraum angewendet wird. Nehmen wir noch einmal das bullische Gartley-Beispiel mit der Annahme von 0 Intervall-Slack und der (0,786 + skalarer Slack) XA, der die 1,272 BC Ratio schneidet - d.h. mit ihr zusammenfällt -, würde die PRZ dort enden und sich nicht bis zur 1,618 BC erstrecken, WEIL die XA-Regel und die Ratio dort nicht erfüllt wären. Das bedeutet, dass das Muster ungültig ist, wenn der Stopp erreicht wird, weil nicht alle Verhältnisse (selbst mit zusätzlichem Spielraum) erfüllt sind , WENN der Kurs schließlich umkehrt.

Etwas vereinfacht ausgedrückt, handelt es sich um den letzten "gemeinsamen" Preis, der von jeder der Ratios zugelassen wird
 
Andre Enger:

Ja, es wäre möglich, den Preis der PRZ-Haltestelle in der Projektionsbeschriftung zu sehen.

Er wird mit der zuvor beschriebenen "Schnittpunktmethode" berechnet, wobei ein bestimmter Slack angewendet wird. Nehmen wir noch einmal das bullische Gartley-Beispiel mit 0 Intervall-Slack, und der (0,786 + skalarer Slack) XA würde die 1,272 BC Ratio schneiden - d.h. mit ihr zusammenfallen -, dann würde die PRZ dort enden und sich nicht bis zur 1,618 BC erstrecken, weil die XA-Regel und die Ratio dort nicht erfüllt wären. Das bedeutet, dass das Muster ungültig ist, wenn der Stopp erreicht wird, weil nicht alle Verhältnisse (selbst mit zusätzlichem Spielraum) erfüllt sind , WENN der Kurs schließlich umkehrt.

Etwas vereinfacht gesagt, ist es der letzte "gemeinsame" Preis, der von jeder der Ratios zugelassen wird.

Hallo Andre,

ich bin mir immer noch nicht sicher, was einige der projizierten Muster und die von ihm gewählten PRZ-Niveaus angeht. Ich habe zum Beispiel ein Diagramm mit einem projizierten Bearish Bat mit XAD 79 und CD 218 angehängt. Bei dieser Gelegenheit lagen XAD 88,6 und CD 2,618 jedoch sehr nahe beieinander, nur ein wenig höher (bei 111,3), doch der Indikator wählte dies nicht als projizierten Punkt D. Gibt es einen Grund dafür?

Vielen Dank!

David

Dateien:
 
davesarge1:

Hallo Andre,

ich bin mir immer noch nicht sicher, was einige der projizierten Muster und die von ihm gewählten PRZ-Niveaus angeht. Ich habe zum Beispiel einen Chart mit einem projizierten Bearish Bat mit XAD 79 und CD 218 angehängt. Bei dieser Gelegenheit lagen XAD 88,6 und CD 2,618 jedoch sehr nahe beieinander, nur ein wenig höher (bei 111,3), doch der Indikator wählte dies nicht als projizierten Punkt D. Gibt es einen Grund dafür?

Vielen Dank!

David

Das Fledermausmuster hat XAD idealerweise bei 88,6, und CD bei 161 bis 261.

Der Indikator wendet jedoch einen Durchhang von 10 bei den einstelligen Zahlenverhältnissen und 1 bei den Intervallverhältnissen an. Diese Zahlen können jedoch in den Einstellungen als unary slack und range slack geändert werden.

Der Indikator sucht also nach einem Bereich von 78,6 (88,6 - 10) bis 98,6 (88,6 + 10), in dem er das XAD-Verhältnis als erfüllt ansieht. Die Projektion beginnt bei der ersten möglichen Zahl, in diesem Fall 79. Sie würde nur dann eine höhere Zahl wählen, wenn sie durch ein anderes Verhältnis, z. B. das CD, gezwungen wäre.

Wäre der CD-Wert zu diesem Preis beispielsweise nur 150, würde die Projektion bei CD 160 (161 - 1) beginnen, was einen XAD-Wert ergeben würde, der näher am idealen Wert liegt oder sogar höher. Wenn der Preis über XAD 98,6 steigen müsste, um einen CD von 160 zu erreichen, würde der Indikator feststellen, dass das Muster nicht erfüllt werden kann, und die Projektion entfernen.

Wird die Projektion hingegen erreicht, zeigt er die PRZ-Endlinie entweder bei XAD 98,6 oder CD 262 (261 + 1) an, je nachdem, was zuerst eintritt. In gewissem Sinne wird also aus der XAD-Ratio-Zone die letztmögliche Zahl gewählt, es sei denn, sie wird durch eine andere Ratio erzwungen.

Wenn sich der Kurs in der PRZ-Zone befindet, ist es dem Indikator egal, wo die idealen Verhältnisse liegen, er berücksichtigt nur, dass der Kurs innerhalb jedes Verhältnisses plus/minus dem Spielraum liegt.

 
Andre Enger:

Das Fledermausmuster hat XAD idealerweise bei 88,6, und CD in 161 bis 261.

Der Indikator wendet jedoch einen Durchhang von 10 bei den einstelligen Verhältnissen und 1 bei den Intervallverhältnissen an. Diese Zahlen können jedoch in den Einstellungen als "unary slack" und "range slack" geändert werden.

Der Indikator sucht also nach einem Bereich von 78,6 (88,6 - 10) bis 98,6 (88,6 + 10), in dem er das XAD-Verhältnis als erfüllt ansieht. Die Projektion beginnt bei der ersten möglichen Zahl, in diesem Fall 79. Sie würde nur dann eine höhere Zahl wählen, wenn sie durch ein anderes Verhältnis, z. B. das CD, gezwungen wäre.

Wäre der CD-Wert zu diesem Preis beispielsweise nur 150, würde die Projektion bei CD 160 (161 - 1) beginnen, was einen XAD-Wert ergeben würde, der näher am idealen Wert liegt oder sogar höher. Wenn der Preis über XAD 98,6 steigen müsste, um einen CD von 160 zu erreichen, würde der Indikator feststellen, dass das Muster nicht erfüllt werden kann, und die Projektion entfernen.

OK, ich verstehe. Der Projektionspunkt D ist also in Wirklichkeit der erste Preis, bei dem beide Schenkelverhältnisse innerhalb des Bereichs der akzeptablen Zahlen gemäß der Slack-Einstellung liegen. In diesem Fall sollte ich den Punkt D wirklich als den Beginn der PRZ betrachten und nicht unbedingt als optimalen oder idealen Preis.
Vielen Dank!
 
davesarge1:
OK, ich verstehe. Der Projektionspunkt D ist also wirklich der erste Preis, bei dem beide Schenkelverhältnisse innerhalb des Bereichs der akzeptablen Zahlen gemäß der Slack-Einstellung liegen. In diesem Fall sollte ich den Punkt D wirklich als den Beginn der PRZ und nicht unbedingt als optimalen oder idealen Preis betrachten.
Vielen Dank!

Das ist richtig, wenn Sie die Verhältnisse als "ideale Zahlen, die aber etwas Spielraum haben können" betrachten. Beim XAB-Verhältnis von Gartley zum Beispiel muss der Punkt B nicht exakt bei 61,8 XA liegen, aber er sollte "nahe genug" sein. Andernfalls wäre ich die ganze Zeit im Abseits.

Im puristischen Sinne ist der projizierte Punkt D wirklich eine Begrenzung der reinen PRZ, eine Begrenzung, die je nach dem Spielraum, den der Purist zulässt, und je nach der besonderen Ausrichtung der Verhältnisse entweder freizügig oder restriktiv für die PRZ sein kann. Die genauen Verhältnisse liegen entweder dicht unter dem angegebenen Punkt (permissive Schranke), oder ein Schenkelverhältnis ist bereits erreicht, aber der projizierte Punkt zeigt, wo dieses Verhältnis "nahe genug" am anderen liegt (restriktive Schranke).

Punkt D kann also nur als Beginn der PRZ für Holisten und Puristen mit null Spielraum betrachtet werden. Er ist der Punkt, an dem das gesamte Muster "nahe genug" an der Spezifikation liegt, aber nicht unbedingt in einem exakten Verhältnis.

Der ungünstigste Fall für den Puristen wäre, wenn die reine PRZ durch den Punkt D begrenzt wird und der nachfolgende PRZ-Stopp dort liegt, wo das bereits besuchte Verhältnis nicht mehr "nahe genug" an dem anderen Verhältnis ist, das noch weiter unten liegt. Dann läge die vom Indikator angezeigte PRZ zwischen den beiden exakten Verhältnissen, hätte aber selbst kein Verhältnis. Der Holist würde sagen, dass das Muster vorhanden ist, schließlich ist es "nah genug" an jeder Ratio - während der Purist sagen würde, dass dies nicht der Fall ist, da es keine PRZ gibt.