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)
-   -   Pending-Orders zeitlich gültig (http://www.expert-advisor.com/forum/showthread.php?t=5802)

icepick1661 06.08.17 12:27

Pending-Orders zeitlich gültig
 
Hallo,

in einer Antwort von traderdoc zur zeitlichen Gültigkeit von Pending Orders fand ich folgende Antwort:

Code:

datetime Time = StringToTime(
                        (string)TimeYear(Time[0])
                        +"."+
                        (string)TimeMonth(Time[0])
                        +"."+
                        (string)TimeDay(Time[0])
                        +FinishTime);

Ich habe aktuell mit TimeToStr ein Zeitfenster definiert, wo a) um eine Uhrzeit abends gelöscht wird und b) zu einer zweiten Uhrzeit (Handelsstart) die neue Pending-Order platziert wird.

Mir scheint, es würde Code sparen, wenn ich die Laufzeit der Pending-Order begrenze (aus einem solchen Thema kommt obiger Code).

Meine Frage: Könnte man für Pending-Orders eine Pause definieren (also z. B. "zwischen 22:59 und 08:00 Uhr nicht ausführen")? ...und bevor die Ausführung wieder erlaubt wird den OpenPrice modifizieren?

Ich nehme allerdings an, dass mit Ablauf eine Löschung ausgelöst wird und die Idee wohl nicht funktioniert...

Den Code oben habe ich testweise in meinen EA kopiert, das gibt aber offenbar einen Konflikt zwischen StringToTime und der schon vorhandenen TimeToStr.

Danke für eure Antworten!

traderdoc 06.08.17 21:56

Also, die Ablaufzeit einer PendingOrder wird gewöhnlich per

Order expiration time (for pending orders only)

in der Funktion OrderSend() geregelt. Aber man kann auch eine externe Löschzeit definieren, dann allerdings mit zusätzlichem Code zum Löschen über OrderDelete().

In beiden Varianten würde die PendingOrder irreversibel gelöscht werden und müsste ggf. zu einer bestimmten Zeit wieder gesetzt werden.

Übrigens müsste es lauten:

...
+"."+FinishTime);

traderdoc


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