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)
-   -   EA einmal pro Minute ausführen (http://www.expert-advisor.com/forum/showthread.php?t=3901)

Dick_Turpin 09.10.14 19:57

EA einmal pro Minute ausführen
 
Ich möchte einen EA unabhängig von den eingehenden Ticks, z.B. einmal pro Minute laufen lassen.

Eine Idee von mir ist, in der OnInit() Funktion eine While-Schleife zu schreiben, deren Bedingung immer wahr ist, und in dieser Schleife dann den Programmcode...

Wie würden es denn die Programmier-Experten hier machen?

Gruß
Dick

Crashbulle 09.10.14 20:22

Hallo Dick,

irgendwie kann ich dir nicht folgen mit deinem geschriebenen !

Was möchtest du ?

Soll der EA zu jeder Minute neu gestartet werden (warum), den die Ticks im Chart laufen ja weiter.

Oder soll der EA jede Minute einen Trade öffnen ?

Bei beiden Versionen entzieht sich mir der Grund, oder hast du noch eine andere Interpretation parad ?

pako 09.10.14 20:26

Code:

bool  EventSetTimer( int  seconds  );

Dick_Turpin 09.10.14 23:22

Sorry, habe mich etwas undeutlich ausgedrückt.

Also der EA soll durchgehend laufen, aber seinen Code nicht nach einem eingegangenen Tick, sondern nach einem festen Zeitintervall ausführen. Ich möchte mit diesem EA Kursdaten von abgeschlossenen Kerzen verschiedener Währungspaare in ein csv-File exportieren.

Das mit dem EventSetTimer ist auch ein interessanter Hinweis. Lt. meinen Recherchen müsste das ganze dann so angewendet werden:

OnInit()
{
EventSetTimer(60);
}

OnDeinit()
{
EventKillTimer();
}

OnTick()
{
bleibt leer
}

void OnTimer()
{
auszuführender Code (alle 60 Sekunden)
}


Hat vielleicht jemand die EventSetTimer-Funktion in Gebrauch und kann mir sagen, ob das so richtig ist?

Gruß
Dick

pako 10.10.14 00:37

Zitat:

Zitat von Dick_Turpin (Beitrag 27704)
Sorry, habe mich etwas undeutlich ausgedrückt.

Also der EA soll durchgehend laufen, aber seinen Code nicht nach einem eingegangenen Tick, sondern nach einem festen Zeitintervall ausführen. Ich möchte mit diesem EA Kursdaten von abgeschlossenen Kerzen verschiedener Währungspaare in ein csv-File exportieren.

Das mit dem EventSetTimer ist auch ein interessanter Hinweis. Lt. meinen Recherchen müsste das ganze dann so angewendet werden:

OnInit()
{
EventSetTimer(60);
}

OnDeinit()
{
EventKillTimer();
}

OnTick()
{
bleibt leer
}

void OnTimer()
{
auszuführender Code (alle 60 Sekunden)
}


Hat vielleicht jemand die EventSetTimer-Funktion in Gebrauch und kann mir sagen, ob das so richtig ist?

Gruß
Dick

Ja, das ist korrekt

Dick_Turpin 10.10.14 10:39

Vielen Dank pako, funktioniert einwandfrei!

Gruß
Dick


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:45 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