icustom ZigZag - Seite 4

 

Hallo zusammen,

Ich habe auch nach einer Antwort gesucht, wie man die hohen und niedrigen Werte des ZigZag-Indikators erhält. Da ich nicht mit einer Lösung kommen, habe ich es selbst programmiert, und ich bin es teilen, so dass andere Menschen, die das gleiche Problem finden, haben bereits eine Lösung.

Das erste Problem ist, dass der ZigZag-Indikator neu gezeichnet wird, so dass es eines kleinen Tricks bedarf, um das letzte Hoch oder Tief zu ermitteln.

Um andere Werte zu erhalten, sollten wir diesen Code zu Ihrem EA hinzufügen.

Bitte beachten Sie, dass der Zyklus mit i=2 beginnt, 10000 ist die Anzahl der Hochs oder Tiefs, die Sie benötigen, 10.000 ist nur ein Beispiel.

Die Werte werden im Array temp gespeichert, in dem

Position 0 speichert das letzte im Chart gezeichnete Hoch oder Tief, Position 1 speichert das vorherige Hoch oder Tief und so weiter...

for(int i=2;i<10000;i++)

{

zo=iCustom(Symbol(),PERIOD_M15, "ZigZag",0,i);

if(zo!=0) // solange der Zigzag-Indikator kein höheres Hoch erreicht, oder die Bedingungen für Deapth, Deviation usw. noch nicht erfüllt sind, ist der ZigZag-Indikator gleich Null, also müssen wir diese leeren Werte filtern.

{

temp[k]=zo; // Hochs und Tiefs werden im Array temp[] gespeichert

k++;

}

Um den Wert der letzten Welle zu erhalten, müssen Sie nur den aktuellen Preis verwenden und ihn mit dem an Position 0 gespeicherten Wert vergleichen,

if (Ask>temp[0]) bedeutet, dass der letzte Wert ein Tiefstwert war. Um den Abstand zu ermitteln, müssen Sie also nur last_wave=Ask-temp[0] machen

sonst bedeutet, dass der letzte Wert ein High war, um die Entfernung zu ermitteln do last_wave=temp[0]-Ask

wenn du nicht wissen musst, ob es ein Tief oder ein Hoch war, und du nur den Abstand haben willst, dann brauchst du nur last_wave= MathAbs(Ask-temp[0]) (der Abstand ist immer positiv, richtig? ;) )

und das war's auch schon, ich hoffe, es hat geholfen.

Viel Glück beim Programmieren!

 
Sigur:

Hallo zusammen,

Ich habe auch nach einer Antwort gesucht, wie man die hohen und niedrigen Werte des ZigZag-Indikators erhält. Da ich nicht mit einer Lösung kommen, habe ich es selbst programmiert, und ich bin es teilen, so dass andere Menschen, die das gleiche Problem finden, haben bereits eine Lösung.

Das erste Problem ist, dass der ZigZag-Indikator neu gezeichnet wird, so dass es eines kleinen Tricks bedarf, um das letzte Hoch oder Tief zu ermitteln.

Um andere Werte zu erhalten, sollten wir diesen Code zu Ihrem EA hinzufügen.

Bitte beachten Sie, dass der Zyklus mit i=2 beginnt, 10000 ist die Anzahl der Hochs oder Tiefs, die Sie benötigen, 10.000 ist nur ein Beispiel.

Die Werte werden im Array temp gespeichert, in dem

Position 0 speichert das letzte im Chart gezeichnete Hoch oder Tief, Position 1 speichert das vorherige Hoch oder Tief und so weiter...

<CODE DELETED>

Bitte lesen Sie einige andere Beiträge, bevor Sie etwas posten ... .

Bitte editieren SieIhren Beitrag ... bitte verwenden Sie dieSRC-Schaltfläche, um den Code zu posten:Wie man die SRC-Schaltfläche verwendet.

 
RaptorUK:

Bitte lesen Sie einige andere Beiträge, bevor Sie posten. .

Bitte bearbeiten SieIhren Beitrag ... Bitte verwenden Sie dieSRC-Taste, um Code zu posten:Wie man die SRC-Taste verwenden.



Lieber Raptor,

Ich habe die anderen Beiträge gelesen, obwohl es eine Lösung zur Verfügung gestellt, es war nur die beste für mich, wie wir Objekte erstellen und löschen, wo meiner Meinung nach und hat den Code geteilt zeigt, gibt es keine Notwendigkeit.

Aber wenn Sie meinen Beitrag nicht nützlich finden, können Sie ihn jederzeit löschen, Sie sind ja ein Moderator ;)

 
Sigur:


Lieber Raptor,

Ich habe die anderen Beiträge gelesen, obwohl es eine Lösung zur Verfügung gestellt, es war nur das Beste für mich, wie wir Objekte erstellen und löschen, wo meiner Meinung nach und hat den Code geteilt zeigt, gibt es keine Notwendigkeit.

Sie haben also andere Beiträge gelesen und trotzdem Code im Klartext gepostet, warum? sind Sie dem Link gefolgt, den ich gepostet habe?wie man die SRC-Schaltfläche verwendet. verstehen Sie, warum ich Sie gebeten habe, Ihren Beitrag zu bearbeiten?
 
Sigur:


Lieber Raptor,

Ich habe die anderen Beiträge gelesen, obwohl es eine Lösung zur Verfügung gestellt, es war nur das Beste für mich, wie wir Objekte erstellen und löschen, wo meiner Meinung nach und hat den Code geteilt zeigt, gibt es keine Notwendigkeit.

Aber wenn du meinen Beitrag nicht nützlich findest, kannst du ihn jederzeit löschen, du bist doch Moderator, oder? ;)


siehe https://www.mql5.com/en/code/10920

wie bei ZigZag

erster Puffer normales ZigZag

mit den letzten beiden Puffern hat man die Hochs und Tiefs

 
Danke Raptor, ich habe diesen Beitrag tatsächlich vermisst, er macht es sogar einfacher!
 
Sigur:
Danke Raptor, ich habe diesen Beitrag tatsächlich vermisst, das macht es sogar einfacher!
Und trotzdem haben Sie Ihren Beitrag noch nicht bearbeitet...
 
Hallo, ich versuche, den Zickzack-Indikator zu verwenden, wie Sie es getan haben. Muss ich diesen Indikator irgendwie zu definieren, bevor ich es verwenden? Es ist allready in mql4 wie rsi und mehr?
 
qjol:

Hallo gjol,


bitte beraten Sie mich, wie man den stochastischen Wert aus dem Zickzackkurs p0,p1,p2,p3,p4,p5 erhält?


int n, i, 
   double p0, p1, p2, p3, p4, p5;
   i=0;
      while(n<5)
      {
      if(p0>0) {p5=p4; p4=p3; p3=p2; p2=p1; p1=p0; }
      p0=iCustom(Symbol(),0,"zigzag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
      if(p0>0) {n+=1; }
      i++;
      }
 
Abdelrahman Abdelgaied Mahmoud:

Was ist, wenn ich die letzten drei Werte wissen möchte?

Dann lesen Sie weiter für die nächsten zwei Werte.