Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Eröffnung einer neuen Kerze abfragen (http://www.expert-advisor.com/forum/showthread.php?t=3826)

Dick_Turpin 31.08.14 14:07

Eröffnung einer neuen Kerze abfragen
 
Eine kleine Sonntags-Frage:

Wie kann ich denn die Eröffnung einer neuen Kerze im aktuellen Timeframe abfragen? Also, es kommt ein neuer Tick und dies ist gleichzeitig die Eröffnung einer neuen Kerze.

Ich habs leider noch nicht gefunden... iOpen z.B. liefert mir den Preis, den ich aber nicht brauche.

Gruß
Dick

traderdoc 31.08.14 14:39

Ein kleine Sonntags-Antwort:

Das ist schon richtig. Über
iOpen(Symbol(), TimeFrame, 0) oder
Open[0]

traderdoc

Dick_Turpin 31.08.14 17:47

Danke für den Denkanstoß traderdoc,

also ich lege mir jetzt zwei Variablen (Current und Previous) mit dem Open-Preis an und frage bei jedem Tick, ob der neue Open-Preis ungleich meinem bisherigen Open-Preis ist, wenn ja, dann hat eine neue Kerze begonnen.

Noch einen schönen Sonntag traderdoc!

Gruß
Dick

traderdoc 31.08.14 18:10

Nein, mittels

double Open_0 = Open[0];

würde bei jedem Tick, solange die Kerze aufgebaut wird, immer derselbe OpenWert der aktuellen Kerze geschrieben werden. Wenn die Kerze wechselt, dann wird automatisch der OpenWert der neu zu bildenden Kerze ermittelt.

Oder wenn man nur an dem Zeitpunkt des Kerzenwechsels einmalig die Abfrage durchführen wöllte, dann müßte das so ausssehen:

In die init() kommt
Oldbar = 0;
Open_0 = 0;

if (Time[0] != OldBar) { //prüft, ob ein Kerzenwechsel stattfand
Open_0 = Open[0];
OldBar = Time[0]; //setzt OldBar auf die akt. Öffnungszeit der Kerze
}

traderdoc

Dick_Turpin 31.08.14 18:21

Ich hatte das so gemeint:

OnInit()
{
double OpenPrice_curr = iOpen(NULL,0,0);
double OpenPrice_prev = iOpen(NULL,0,0);
}

OnTick()
{
OpenPrice_curr = iOpen(NULL,0,0);

if(OpenPrice_curr == OpenPrice_prev)
{
//keine neue Kerze
}
else if(OpenPrice_curr != OpenPrice_prev)
{
//neue Kerze
}
}

Anstatt iOpen kann man natürlich auch Open[] verwenden.
Wäre meine o.g. Lösung auch o.k?

Aber Deine Lösung mit der Abfrage des Zeitpunktes des Kerzenwechsels ist natürlich auch nicht schlecht. Vielen Dank dafür!

Gruß
Dick

traderdoc 31.08.14 18:27

Und warum so umständlich?
Mir ist auch noch nicht richtig klar, was Du damit erreichen willst?
Willst Du genau den Zeitpunkt haben, wo die Kerze wechselt?
oder willst Du tatsächlich nur den Open-Wert der aktuellen Kerze?

Das sollten wir erst mal klären.

traderdoc

Dick_Turpin 31.08.14 18:31

Ich möchte folgende RSI-Werte innerhalb einer Kerze auslesen:

Eröffnungskurs, High, Low und Schlusskurs, deswegen muss ich wissen, wann eine neue Kerze angefangen hat.

Gruß
Dick

traderdoc 31.08.14 18:54

Aha, d.h. Du benötigst die einzelnen Werte der letzten geschlossenen Kerze?!

Ja dann so, wie ich die Struktur bereits gepostet hatte:

In die init() kommt
OldBar = 0;


if (Time[0] != OldBar) { //prüft, ob ein Kerzenwechsel stattfand
Open_1 = Open[1];
High_1 = High[1];
Low_1 = Low[1];
Close_1 = Close[1];
OldBar = Time[0]; //setzt OldBar auf die akt. Öffnungszeit der Kerze
}

traderdoc

Dick_Turpin 31.08.14 19:31

Ja, ich benötige die Werte der letzten geschlossenen Kerze, allerdings keine Kurse, sondern die RSI-Werte.

Ich mache das jetzt so, wie von Dir vorgeschlagen mit Time[0].

Nochmals vielen Dank für den Support traderdoc!

Gruß
Dick

traderdoc 31.08.14 19:46

Na dann eben so:

In die init() kommt
OldBar = 0;

if (Time[0] != OldBar) { //prüft, ob ein Kerzenwechsel stattfand
RSI_1 = iCustom(......., 1);
OldBar = Time[0]; //setzt OldBar auf die akt. Öffnungszeit der Kerze
}

traderdoc


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:32 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum