iHighest der letzten 20 Tage und länger

Einloggen oder registrieren, um einen Kommentar zu schreiben
trix0
21
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:


//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

Carl Schreiber
Moderator
10274
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!
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...
amando
2964
amando  
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 

amando
2964
amando  
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

Carl Schreiber
Moderator
10274
Carl Schreiber  
amando:

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

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

amando
2964
amando  
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

trix0
21
trix0  

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...

Carl Schreiber
Moderator
10274
Carl Schreiber  

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...
trix0
21
trix0  

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.

Carl Schreiber
Moderator
10274
Carl Schreiber  

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 //
Otto Pauser
2205
Otto Pauser  

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

12
Einloggen oder registrieren, um einen Kommentar zu schreiben