iHighest der letzten 20 Tage und länger

 

Hallo liebe MQL5er,


ich will mir das Höchste Hoch der letzten 20 Tage auf den Chart anzeigen lassen. Soweit gant einfach. Ich erstelle einfach eine neue Linie mittels ObjectCreate, nehme dort die HLine und sag ihm mittels iHighest und MODE_HIGH das er den höchsten Wert nehmen soll:


//Linie wird erstellt
ObjectCreate(_Symbol,"20 Tage Hoch", OBJ_HLINE,0,0,iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,20,0)));

//Einstellungen der Linie
ObjectSetInteger(_Symbol,"20 Tage Hoch",OBJPROP_COLOR,clrBlue);

So, da wird mir meine Blaue Linie auf die höchste kerze gesetzt. So weit so gut. Aber jetzt möchte ich vom Vortag wieder die letzten 20 Tage betrachten und davon wieder die höchste Kerze nehmen, und dann von dem Vortag, etc.


Ich denke ihr wisst worauf ich hinaus will. und jetzt will ich dann natürlich nicht, das dort 30 Linien sind, welche ich dann nochmal verbinden muss, sondern, es soll eine durchgezogene Linie sein. So wie bei dem Indikator "Bollinger Bands".


Sry, wenn es eine doch einfache Frage evtl. ist, aber ich bin neu im Programmieren

 
iHigh und iHighest gibt es nicht für MQ5, Du musst https://www.mql5.com/de/docs/series/copyhigh verwenden. Dort gibt es auch Beispiele!
Dokumentation zu MQL5: Zugang zu Zeitreihen und Indikatoren / CopyHigh
Dokumentation zu MQL5: Zugang zu Zeitreihen und Indikatoren / CopyHigh
  • www.mql5.com
Funktion erhaelt im Feld high_array historische Daten der Eroeffnungszeit der Bars für das angegebene Paar Symbol-Periode in der angegebenen Menge.  Es muss bemerkt werden, dass Abzählen der Elemente von der Startposition von der Gegenwart zur Vergangenheit durchgeführt wird, d.h. die Anfangsposition, 0, bedeutet die laufende Bar.   Beim...
 
Carl Schreiber:
iHigh und iHighest gibt es nicht für MQ5, Du musst https://www.mql5.com/de/docs/series/copyhigh verwenden. Dort gibt es auch Beispiele!

Doch carl, das wurde vor 2 oder 3 Jahren eingeführt 

 
trix0:

Hallo liebe MQL5er,


ich will mir das Höchste Hoch der letzten 20 Tage auf den Chart anzeigen lassen. Soweit gant einfach. Ich erstelle einfach eine neue Linie mittels ObjectCreate, nehme dort die HLine und sag ihm mittels iHighest und MODE_HIGH das er den höchsten Wert nehmen soll:


So, da wird mir meine Blaue Linie auf die höchste kerze gesetzt. So weit so gut. Aber jetzt möchte ich vom Vortag wieder die letzten 20 Tage betrachten und davon wieder die höchste Kerze nehmen, und dann von dem Vortag, etc.


Ich denke ihr wisst worauf ich hinaus will. und jetzt will ich dann natürlich nicht, das dort 30 Linien sind, welche ich dann nochmal verbinden muss, sondern, es soll eine durchgezogene Linie sein. So wie bei dem Indikator "Bollinger Bands".


Sry, wenn es eine doch einfache Frage evtl. ist, aber ich bin neu im Programmieren

 In hu deiner frage,


du musst dir einen indikator bauen, welcher die linie anzeigt

wie kann ich dir nicht genau sagen, bei indikatoren bin ich ganz schlecht, aber such mal in der codebase, das gibts sicher schon

 
amando:

Doch carl, das wurde vor 2 oder 3 Jahren eingeführt 

Stimmt - aber wahrscheinlich ist CopyHigh(9 und verwandte schneller als iHigh(iHighest(..));

 
Carl Schreiber:

Stimmt - aber wahrscheinlich ist CopyHigh(9 und verwandte schneller als iHigh(iHighest(..));

mag sein, ich nehme an, das wurde aufgrund der einfacheren verwendung von MQL4 implementiert

 

Also ich hab mir den Code mal angeschaut.


im prizip ist es ja eine Funktion, mit dem Namen iHigh (im Beispiel) mit 3 Überladungen. Dort wird dann die Balken anzahl x geladen und nach größe Sortiert und der Höchste wird dann als wert Double zurück gegeben. Sehe ich das so richtig?

Carl Schreiber:
iHigh und iHighest gibt es nicht für MQ5, Du musst https://www.mql5.com/de/docs/series/copyhigh verwenden. Dort gibt es auch Beispiele!

Also ich hab mir den Code mal angeschaut.


im prizip ist es ja eine Funktion, mit dem Namen iHigh (im Beispiel) mit 3 Überladungen. Dort wird dann die Balken anzahl x geladen und nach größe Sortiert und der Höchste wird dann als wert Double zurück gegeben. Sehe ich das so richtig?


Okay das habe ich dann so verstanden. Aber wie bekomme ich jetzt eben die Linie Durchgängig gezeichnet?  Ich müsste ja die Funktion mittels einer For-Schleife ausführen und mittels CreateObject dann die besagten Linien zeichen, aber a würde ich ja ständig eine neue Linie dann zeichnen und keine zusammen hängende...

 

Such einfach mal nach linie.

Da findest Du zB. diesen Artikel: https://www.mql5.com/de/articles/3186

sicherlich mit Beispielen, Du kannst aber auch andere nehmen.

Übrigens ich verwende diese Seite: https://www.mql5.com/de/docs/function_indices

um mit Ctrl+F mit "Schlagworten" nach geeigneten Funktionen zu suchen.

Das Beispiel eines Indikators, der die Linien Unterstützung / Widerstands zeichnet
Das Beispiel eines Indikators, der die Linien Unterstützung / Widerstands zeichnet
  • www.mql5.com
Mit Hilfe dieses Artikels wird die älteste Weise (in der technischen Analyse) der Prognose der Preisniveaus für alle verfügbar sein, wer nach ihm arbeiten will. Sie haben die Möglichkeit, den Indikator für den Aufbau der Trend-Linien (die Linien Unterstützung/Widerstands) zu verwenden, aber verstehen auch nebenbei, wie einfach es ist, das zu...
 

So ich hab jetzt mal bisschen mit dem Code herumprobiert bzw. mich mit der Funktion CopyHigh außeinander gesetzt.

leider gibt er mir, egal wie ich die Funktion einsetzte, mir immer nur den höchststand der Kerze von der 20. Kerze. und nicht aus dem Zeitraum der letzten Zwanzig Kerzen:


Hier erkennt man gut, das die Linie nur auf das höchste Hoch der 20. Kerze gezeichnet worden ist. Und nicht auf Höchste Hoch innerhalb der letzten 20 Kerzen.

 

Das liegt am Code, den müsstest Du posten.

Übrigens es gibt für Array neben anderen: https://www.mql5.com/de/docs/array/arraymaximum

Dokumentation zu MQL5: Operationen mit Arrays / ArrayMaximum
Dokumentation zu MQL5: Operationen mit Arrays / ArrayMaximum
  • www.mql5.com
// die letzte Zeit auf dem älteren Zeitrahmen, für den die Berechnung erzeugt war // die Flagge für die Bestimmung der Ordnung der Speicherung von Daten in die Bären Indikator Puffers // die Flagge für die Bestimmung der Ordnung der Speicherung von Daten in die Bullen Indikator Puffers //
 

Willst du das nur auf dem Chart eingezeichnet haben, oder auch für eine EA als Indikator haben?

Grund der Beschwerde: