Jump to content


Photo

Frage zu iHighest


Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.

  • Please log in to reply
14 replies to this topic

#1 Tibo

Tibo

    Floor Trader

  • Addict
  • PipPipPipPip
  • 97 posts
  • 685 thanks
  • Wohnsitz:Berlin

Posted 10 April 2012 - 09:30 PM

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)
Returns the shift of the maximum value over a specific number of periods depending on type.
Parameters:
symbol - Symbol the data of which should be used to calculate indicator. NULL means the current symbol.
timeframe - Timeframe. It can be any of Timeframe enumeration values. 0 means the current chart timeframe.
type - Series array identifier. It can be any of the Series array identifier enumeration values.
count - Number of periods (in direction from the start bar to the back one) on which the calculation is carried out.
start - Shift showing the bar, relative to the current bar, that the data should be taken from.
Sample:

double val;  // calculating the highest value on the 20 consequtive bars in the range  // from the 4th to the 23rd index inclusive on the current chart  val=High[iHighest(NULL,0,MODE_HIGH,20,4)];

Quelle: http://docs.mql4.com/series/iHighest

Zu dieser Funktion habe ich eine Frage...

Verstehe ich dies richtig, dass ich mir dazu zu den letzten x Bars den Hochpunkt ausgeben lassen kann? Bzw mit iLowest den Tiefpunkt der letzten x Bars?

Da einen ja (i.d.R.) nur die abgeschlossen Bars interessieren, frage ich mich noch wie ich die letzte abgeschlossene Bar finde. Muss ich meim Parameter 'start' dann eine 0 oder eine 1 eintragen? Ich würde mir jetzt denken, dass eine 0 als letzter Parameter die noch unfertige Bar bezeichnet und 1 die letzte fertige Bar. Oder werden nur die fertigen gezählt und ich müsste eine 0 an der Stelle nehmen?

:cleanglasses:

Edited by Tibo, 10 April 2012 - 09:31 PM.

  • 0
Eine Familie ist der schlimmste Eingriff ins Privatleben. (Woody Allen)
Ich bereue nicht meine Vergangenheit! Sondern nur die Zeit..die ich für falsche Menschen opferte!
Die meisten Menschen sind bereit zu lernen, aber nur die wenigsten, sich belehren zu lassen. (Winston Churchill)

Thanked by 6 Members:
chimbonda , Der Wolf , Licens , Kleinerbroker , Vola , RAiNWORM

#2 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,206 posts
  • 13785 thanks
  • Wohnsitz:O-Town

Posted 10 April 2012 - 10:04 PM

Verstehe ich dies richtig, dass ich mir dazu zu den letzten x Bars den Hochpunkt ausgeben lassen kann? Bzw mit iLowest den Tiefpunkt der letzten x Bars?

Du verstehst es dann richtig, wenn Du meinst, dass iHighest (bzw. iLowest) Dir nur die Kerze angeben, wo sich Hoch- bzw. Tiefpunkt befindet nicht jedoch den Hoch- bzw. Tiefpunkt selber. Dazu musst Du dann so vorgehen wie in dem Beispiel. Die letzte abgeschlossene Bar hat immer den Wert 1, 0 ist die aktuelle Bar (jeweils bei einem Shift von 0).
  • 0

Wann kaufen? Schau in den Investment Kalender auf Marktgedanken.

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 7 Members:
chimbonda , Der Wolf , Licens , Kleinerbroker , Tibo , Vola , RAiNWORM

#3 Bull68

Bull68

    Floor Broker

  • *_skilled
  • 1,382 posts
  • 8660 thanks

Posted 10 April 2012 - 10:07 PM

Hi Tibo,

die letzte/ aktuelle Bar wird nie abgeschlossen sein, denn wenn sie abgeschlossen ist, ist sie nicht mehr die letzte. :wink:
Die Entscheidung liegt daher bei Dir, ob Du die aktuelle Bar mitberücksichtigen willst oder eben nicht.

Willst Du sie mitberücksichtigen, dann wählst für Parameter "Start" den Wert 0, sonst den Wert 1.
  • 0
Wer meint alles sei zu jeder Zeit in den Kursen eingepreist, hat den Laden leider noch nicht verstanden!

Happy Trading - Ralf

Thanked by 6 Members:
Der Wolf , Licens , RAiNWORM , Kleinerbroker , Tibo , Vola

#4 Tibo

Tibo

    Floor Trader

  • Addict
  • PipPipPipPip
  • 97 posts
  • 685 thanks
  • Wohnsitz:Berlin

Posted 10 April 2012 - 10:10 PM

achso
dann muss ich wohl um auch den Wert zu erhalten ihigh und ihighest verschachteln

nach dem Schema:
iHigh(iHighest)

natürlich mit allen nötigen Parametern. Das war jetzt nur als ausgeschriebene Skizze gedacht...

Soweit korrekt?
:declare:


Nachtrag
@Bull:
Danke! Dann habe ich es ja richtig verstanden

Edited by Tibo, 10 April 2012 - 10:11 PM.

  • 0
Eine Familie ist der schlimmste Eingriff ins Privatleben. (Woody Allen)
Ich bereue nicht meine Vergangenheit! Sondern nur die Zeit..die ich für falsche Menschen opferte!
Die meisten Menschen sind bereit zu lernen, aber nur die wenigsten, sich belehren zu lassen. (Winston Churchill)

Thanked by 6 Members:
Der Wolf , Licens , RAiNWORM , Kleinerbroker , Bull68 , Vola

#5 Bull68

Bull68

    Floor Broker

  • *_skilled
  • 1,382 posts
  • 8660 thanks

Posted 10 April 2012 - 10:29 PM

High[iHighest(......)]


würde es auch tun.

iHigh hat mehr Parameter und ich bin schreibfaul. :mocking:
  • 0
Wer meint alles sei zu jeder Zeit in den Kursen eingepreist, hat den Laden leider noch nicht verstanden!

Happy Trading - Ralf

Thanked by 6 Members:
Der Wolf , Licens , RAiNWORM , Vola , Tibo , Kleinerbroker

#6 Kleinerbroker

Kleinerbroker

    Floor Broker

  • Validating
  • PipPipPipPipPipPip
  • 1,504 posts
  • 9809 thanks
  • Wohnsitz:BW

Posted 10 April 2012 - 10:37 PM

Ein Beispiel aus meinem aktuellen Code :

//+-----------------------------------------------------------------------------------------------+//|                                   SLV_1.0_S&R().mqh                                           |//|                           The code should be used for SLV only                                |//+-----------------------------------------------------------------------------------------------+//+-----------------------------------------------------------------------------------------------+//|                                                                                               |//|   Function  : Support und Resistance finden                                                   |//|                                                                                               |//+-----------------------------------------------------------------------------------------------+//------------------------------------------------------------------------------------------------+//+-----------------------------------------------------------------------------------------------+                                                 //                                               |void SupRes_Update()                             //                                               |  {                                              //0                                              |   if(hilfe2)Print("ZYKLUS 2.1.: ENTRY Support und Resistance finden") ;//                        |   bool PRT = (Bars > bb && hilfe3)             ;//                                               |//------------------------------------------------------------------------------------------------|// 1.): Resistance                                                                                |                                                 //                                               |       Res240 = iHigh(Markt,TF4,(iHighest(Markt,TF4,MODE_HIGH,6,1)));// Tageshoch                 |       int T_Res240= iHighest(Markt,TF4,MODE_HIGH,6,1)              ;// Tageshoch                 |                                                 //                                               |       Res1440 = iHigh(Markt,TF5,(iHighest(Markt,TF5,MODE_HIGH,5,1)));// Wochenhoch               |       int T_Res1440= iHighest(Markt,TF5,MODE_HIGH,5,1)              ;// Wochenhoch               |                                                 //                                               |       if (PRT) Print("Resistance 240 : durch Hochbar =[",T_Res240,"]um ",TimeToStr      //       |       (iTime(Markt,TF4,T_Res240),TIME_DATE|TIME_MINUTES)," bei = ",Res240)             ;//       |                                                 //                                               |       if (PRT) Print("Resistance 1440 : durch Hochbar =[",T_Res1440,"]um ",TimeToStr    //       |       (iTime(Markt,TF5,T_Res1440),TIME_DATE|TIME_MINUTES)," bei = ",Res1440)           ;//       | //+-----------------------------------------------------------------------------------------------+// 2.): Support                                                                                   |                                                 //                                               |       Sup240 = iLow(Markt,TF4,(iLowest(Markt,TF4,MODE_LOW,10,1)))  ;// Tagestief                 |       int T_Sup240= iLowest(Markt,TF4,MODE_LOW,10,1)               ;// Tagestief                 |                                                 //                                               |       Sup1440 = iLow(Markt,TF5,(iLowest(Markt,TF5,MODE_LOW,5,1)))  ;// Wochentief                |       int T_Sup1440= iLowest(Markt,TF5,MODE_LOW,5,1)               ;// Wochentief                |                                                 //                                               |        if (PRT) Print("Support 240 : durch Tiefbar =[",T_Sup240,"]um ",TimeToStr         //       |       (iTime(Markt,TF4,T_Sup240),TIME_DATE|TIME_MINUTES)," bei = ",Sup240)             ;//       |                                                 //                                               |        if (PRT) Print("Support 1440 : durch Tiefbar =[",T_Sup1440,"]um ",TimeToStr       //       |       (iTime(Markt,TF5,T_Sup1440),TIME_DATE|TIME_MINUTES)," bei = ",Sup1440)           ;//       |  //------------------------------------------------------------------------------------------------+//------------------------------------------------------------------------------------------------+   if(hilfe2)Print("ZYKLUS 2.2.: EXIT Support und Resistance finden , TF=",TF);//                 |   return                                                    ;//                                  |  }                                                           //0                                 |//------------------------------------------------------------------------------------------------+//+-----------------------------------------------------------------------------------------------+

Viel Spaß

KB

PS.: ggfs dann als eine Funktion aus dem Hauptprogramm aufzurufen , also zum Beispiel :

//+-----------------------------------------------------------------------------------------------+//|                                *****   HAUPTPROGRAMM  *****                                   |//+-----------------------------------------------------------------------------------------------+                                                 //                                               |int start()                                      //                                               |{                                                //0                                              |//+-----------------------------------------------------------------------------------------------+SupRes_Update()                                 ;//                                               |Print ( .............)                          ;//Ausgabe der Tages & Wochenwiderstände & Support|//+-----------------------------------------------------------------------------------------------+return                                          ;//                                               |}                                                //0                                              |//------------------------------------------------------------------------------------------------+//+-----------------------------------------------------------------------------------------------+

und vorher natürlich Globale Variablen definieren !
double Sup240,Sup1440 ....usw usf

  • 0
Do not trade alone

Thanked by 8 Members:
Der Wolf , remon , Licens , RAiNWORM , lutzs , Vola , Bull68 , Tibo

#7 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,206 posts
  • 13785 thanks
  • Wohnsitz:O-Town

Posted 10 April 2012 - 10:55 PM

...die letzte/ aktuelle Bar wird nie abgeschlossen sein, denn wenn sie abgeschlossen ist, ist sie nicht mehr die letzte. :wink:

Ich glaube Du verkomplizierst hier unnötigerweise etwas. Tibo hat nach der letzten abgeschlossenen Bar gefragt und die ist eben eindeutig durch die 1 bestimmbar :wink:.
  • 0

Wann kaufen? Schau in den Investment Kalender auf Marktgedanken.

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 6 Members:
Kleinerbroker , Der Wolf , Licens , RAiNWORM , Tibo , Vola

#8 Tibo

Tibo

    Floor Trader

  • Addict
  • PipPipPipPip
  • 97 posts
  • 685 thanks
  • Wohnsitz:Berlin

Posted 11 April 2012 - 07:20 AM

@Kleinbroker:
Danke für die ausführliche Antwort. Der Code birgt gute Anregungen!

@conglom-o
Danke - die Bestimmung mit Hilfe des Parameter 1 wurde ja schon beantwortet.

Wozu man das nutzt düfte ja klar sein ;)
Ich möchte einen kleinen EA schreiben, der bei Ausbrüchen aktiv wird. Konkret versoche ich gerade eine Strategie die ich woanders gelesen habe in Code umzuwandeln. Sozusagen als Übung. Dazu werde ich aber sobald ich erste Ergebnisse habe, an anderer Stelle eine Thread aufmachen und den im Forum posten. ;)
  • 0
Eine Familie ist der schlimmste Eingriff ins Privatleben. (Woody Allen)
Ich bereue nicht meine Vergangenheit! Sondern nur die Zeit..die ich für falsche Menschen opferte!
Die meisten Menschen sind bereit zu lernen, aber nur die wenigsten, sich belehren zu lassen. (Winston Churchill)

Thanked by 6 Members:
Kleinerbroker , Der Wolf , Licens , conglom-o , Vola , RAiNWORM

#9 vikke

vikke

    Floor Broker

  • Addict
  • PipPipPipPipPipPip
  • 195 posts
  • 1051 thanks

Posted 11 April 2012 - 10:24 AM

@Kleinerbroker

double Res240 = iHigh(Symbol(),PERIOD_H4,(iHighest(Symbol(),PERIOD_H4,MODE_HIGH,6,1)));// Tageshoch                 |       int T_Res240= iHighest(Symbol(),PERIOD_H4,MODE_HIGH,6,1)              ;// Tageshoch

Ich bekomme bei deinem Code das Hoch der letzten 6 H4 Perioden und nicht das Tageshoch. Wäre es nicht besser einfach iHigh(Symbol(), PERIOD_D1, 0) zu nehmen? So bekommt man auch immer den aktuellen Höchstkurs. Ganz was anderes wäre es natürlich, wenn man z.B. Oanda als Broker hat, dann verschwierigt sich das nochmals wegen der Zeitverschiebung, hier bin auch noch am testen und habe noch nichts Endgültiges gefunden, da ich mich immer noch zu blöd mit den Schleifen/Arrays tue.
  • 0

Thanked by 5 Members:
Kleinerbroker , RAiNWORM , Der Wolf , Licens , Vola

#10 vikke

vikke

    Floor Broker

  • Addict
  • PipPipPipPipPipPip
  • 195 posts
  • 1051 thanks

Posted 11 April 2012 - 10:37 AM

datetime start = Hour();       double Res240 = iHigh(Symbol(),0,(iHighest(Symbol(),0,MODE_HIGH,start,1)));// Tageshoch

Das würde auch gehen, zählt durch Hour() dann immer ab 0:00 Uhr.

Edited by remon, 11 April 2012 - 10:42 AM.

  • 0

Thanked by 5 Members:
Der Wolf , Kleinerbroker , RAiNWORM , Vola , Licens

#11 Mythos

Mythos

    TEFEx CEO

  • Moderatoren
  • 3,482 posts
  • 16713 thanks

Posted 11 April 2012 - 05:48 PM

Ich möchte einen kleinen EA schreiben,


Falls du ein Framework für den EA brauchst: Tom-Next EA Kitchen :flowers:
  • 0

Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.

Einstein


Es ist nicht deine Schuld, das die Welt ist wie sie ist. Es wär nur deine Schuld wenn sie so bleibt.


Thanked by 6 Members:
Licens , Der Wolf , Kleinerbroker , RAiNWORM , ronner , Vola

#12 Kleinerbroker

Kleinerbroker

    Floor Broker

  • Validating
  • PipPipPipPipPipPip
  • 1,504 posts
  • 9809 thanks
  • Wohnsitz:BW

Posted 11 April 2012 - 08:58 PM

der letzten 6 H4 Perioden und nicht das Tageshoch


Immer erwischt Ihr mich bei meinen Schlampereien :nictation:

Richtig hätte ich schreiben müssen : Das HH/LL der letzten ( 6 * 4) 24 h == 1 day . Sorry

Tibo, Tip Mythos sehr zu empfehlen (siehe PN :zwinker: )

Grüße

KB
  • 0
Do not trade alone

Thanked by 4 Members:
Licens , Der Wolf , RAiNWORM , Vola

#13 Kleinerbroker

Kleinerbroker

    Floor Broker

  • Validating
  • PipPipPipPipPipPip
  • 1,504 posts
  • 9809 thanks
  • Wohnsitz:BW

Posted 11 April 2012 - 09:19 PM

Nachsatz : Es gibt immer noch die CD zu kaufen oder aber - und so habe ich das gemacht - als Kunde von QTrade diese CD als Werbegeschenk zu erhalten .

Diese CD hat mir sehr geholfen .

KB

PS.: Wie immer, ich habe keinerlei persönlichen Vorteil von diesem Hinweis
PPS.: Cxalgo "gib Gas" :zwinker:
  • 0
Do not trade alone

Thanked by 2 Members:
Der Wolf , Vola

#14 yannik0802

yannik0802

    penny-pincher

  • Rookie
  • Pip
  • 7 posts
  • 14 thanks

Posted 05 February 2016 - 07:05 PM

Weiss zufällig jemand von Euch wie ich das Hoch einer bestimmen range, zb von 08 Uhr bis 09:15 uhr, herausfinden kann? Daran bin ich bisher leider gescheitert


  • 0

Thanked by 3 Members:
Vola , Kleinerbroker , WOGO

#15 WOGO

WOGO

    Floor Broker

  • Developer
  • 1,008 posts
  • 6800 thanks

Posted 05 February 2016 - 07:09 PM

Weiss zufällig jemand von Euch wie ich das Hoch einer bestimmen range, zb von 08 Uhr bis 09:15 uhr, herausfinden kann? Daran bin ich bisher leider gescheitert

Das musst du genauer spezifizieren!

 

Willst du es aus einem Indikator heraus berechnen?

Soll es immer die gleiche Zeit, oder nur eine bestimmte Dauer sein?

Soll der Bereich einstellbar sein?

Aus welchem Timeframe heraus soll die Bestimmung stattfinden?

 

Edit:

Vergiss die Fragen wieder! Ich hab deinen anderen Post gesehen. Warum stellst du die selbe Frage eigentlich 2x? fool.gif


  • 0
„Sicher ist, dass nichts sicher ist. Selbst das nicht.“
(Joachim Ringelnatz)

Thanked by 2 Members:
Vola , whipsaw

Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users