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)
-   -   Market is open (http://www.expert-advisor.com/forum/showthread.php?t=7222)

AVT 08.08.22 23:28

Market is open
 
Gibt es eine Funktion, mit der ich abfragen kann, ob ein Markt offen oder grade geschlossen ist? Die MarketInfo(_Symbol,MODE_STARTING) funktioniert nicht, TimeCurrent() kann ja auch nicht verwenden.

Ich habe also keine Ahnung, wie ich den MT dazu bewegen kann mir zu sagen, daß der Markt geschlossen ist, wenn er das ist (ohne kompliziert TimeLocal mit Umrechnung in Servertime und Vergleich der Benutzereingaben zur Marktöffnung und Schließung zu verwenden).
Das muß doch auch einfacher gehen, denn in der Marktübersicht - Symbol kann ich ja die Zeiten auch sehen.
Hat jemand ne Idee?
AVT

MA-EA 09.08.22 10:22

Code:

ERR_MARKET_CLOSED    132    Market is closed.
https://book.mql4.com/appendix/errors

TraumExpert 19.08.22 13:52

Hallo AVT,

vielleicht ist dies eine Lösung für Dich


MarketInfo(Symbol(), MODE_TRADEALLOWED)

Grüße

AVT 20.08.22 02:54

Zitat:

Zitat von TraumExpert (Beitrag 46244)
vielleicht ist dies eine Lösung für Dich
MarketInfo(Symbol(), MODE_TRADEALLOWED)

Darauf war ich auch schon gestoßen.
MODE_TRADEALLOWED hält das IsTradeAllowed(...) Ergebnis.
Deren allgemeine Form prüft aber
"if the Expert Advisor is allowed to trade and trading context is not busy"
- also wenn gerade context busy, ist der Markt ja trotzdem offen,
- wenn der EA keine Trades machen darf, kann der Markt trotzdem offen sein

Die erweiterte Form verlangt den Symbolnamen (kein Problem) und eine Zeitangabe.
Als Zeitangabe muß ich aber die aktuelle Serverzeit nehmen, denn die ist ja maßgebend.
Meine "Welt-Uhrzeit" läuft zwar korrekt auch bei geschlossenem Markt, das aber auch nur, weil ich dort die Zeiten intern umrechne.
Rein vom Hinsehen auf den Chart ist für mich eigentlich mein Candle-Countdown ein Indiz: wenn der Countdown hoch- statt runterzählt, ist der Markt zu, aber auch hier hieße das wieder mit Zeiten rumhantieren 1. Zeit festhalten, 2. Zeit festhalten, Zeiten vergleichen.

Sieht so aus, als wäre es einfacher, den geplanten Codezusatz einfach zu vergessen, war nur eine kosmetische Sache. ;)
AVT


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