Geschrieben 13. Juni 201313 Jr. comment_144642 Hallo,es gibt 2 Errors mit denen ich immer wieder konfrontiert werde: ERR_MARKET_CLOSED 132 Market is closed.ERR_TRADE_DISABLED 133 Trade is disabled. für den 133er (TRADE_DISABLED) hab ich das Ergebnis von MarketInfo(symb1, MODE_TRADEALLOWED) in die View eingebautaber für MARKET_CLOSED finde ich keine Abfrage-Möglichkeit. Hat jemand eine Idee? vielen Dank im voraus!Gruß, Thomas Melden
Geschrieben 13. Juni 201313 Jr. comment_144646 Tach erstmal !Schön das Du mit deiner Frage zu uns gefunden hast. Hallo Thomas Soviel Zeit sollte zum Neueintritt vorhanden sein, meinste nicht ? Jetzt wo das geklärt ist, Du sprichst von einer Abfrage im Code, hast Du nähere Einzelheiten zu deiner Problematik ?Hier sind ganz sicher Leute, die Dir helfen können, aber ein jeder freut sich, wenn er zumindesr begrüßt wird. Melden
Geschrieben 14. Juni 201313 Jr. comment_144650 Hallo erstmal und schön das du hergefunden hast. Eine Frage: Wann taucht denn das Market_Closed problem auf? Meist reagiert man bei EAs ja auf Ticks aus dem Markt. Diese treten aber nur bei offenem Markt auf. Ich vermute mal das du somit einen etwas ungewöhnlicheren Ansatz hast. Wie man das abfragt wüsste ich auch nicht, aber sobald du das erstemal den Error kriegst weißt du das der markt zu ist. Beim nächsten Tick weißt du das der Markt wieder offen ist. Melden
Geschrieben 14. Juni 201313 Jr. Autor comment_144665 Hallo Mythos, Danke für die Antwort! Dass es ohne Ticks schwierig werden wird, eine Abfrage zumachen, daran hab ich noch gar nicht gedacht,danke für den Hinweis!! Eine vielleicht andere Möglichkeit: mir ist letzte Nacht aufgefallen, dass es bei den Indexen 3 Möglichkeiten gibt:Trade: FULL (Ein- und Ausstiege möglich), Trade: Close (keine neuen Orders mehr), Trade: No (keine Ticks mehr und somit auch keine Abfrage mehr möglich) aber die ersten 2 Möglichkeiten sind noch mit Ticks verbunden. Ich hab mir glaub ich alle Befehle durchgesehen, aber ich kann keine Abfrage finden, mit der ich mir diese Info in die View einbauen kann... warum ich das machen will: in der Markt-Übersicht, wo die Symbole aufgelistet sind, sieht man keinen Unterschied zw. FULL & Close, nur die "Trade: No" sind hellgrau, aber im Chart-Window würde ich auch gerne sehen, ob der Index bereits abgelaufen ist und ich mich um den neuen umschauen muss, sprich Symbol-Liste neu laden, mit MODE_STARTING 20 Market starting date (usually used for futures). MODE_EXPIRATION 21 Market expiration date (usually used for futures). scheint es nicht zu funktionieren, da kommt immer nur "0" raus... vielleicht kennt jemand eine Möglichkeit "Trade: FULL" & "Trade: Close" abfragen zu können?! Ist zugegebener Weise nicht wirklich soooo wichtig, aber ein nettes Feature wäre es schon ;-) Danke Melden
Geschrieben 14. Juni 201313 Jr. comment_144667 Hallo tompaulund erstmal herzlich Willkommen ! MODE_EXPIRATION 21Market expiration date (usually used for futures). scheint es nicht zu funktionieren, da kommt immer nur "0" raus... Also ich denke es hängt ab vom aufgerufenen Instrument (also dem Chart) und evtl. auch noch vom Broker. Ich hab das gerade mal getestet bei einem Activetrade-Account: MODE_STARTING war immer 0, egal bei welchem Instrument.MODE_EXPIRATION war immer 0 bei Endloskontrakten (also Devisen, Gold ...)MODE_EXPIRATION hat den Verfalltag herausgegeben bei Index- und Rohstoff-CFDs auf Futures steht ja auch im Kommentar "(usually used for futures)" Ich denke bei adjustierten Endloskontrakten auf CFD-Indizes dürfte dann wohl auch eine 0 drin stehen. z.B. beiCocoaSep13 2013.08.16 20:00:00 (siehe Bild)LCrudeJul13 2013.06.19 23:15:00Ger30Jun13 2013.06.20 22:00:00 EuBundSep13 2013.09.05 22:00:00 Das ist der Script-Code: string msg = " Mode Starting\t" + DoubleToStr(MarketInfo(mySymb, MODE_STARTING), 4) + "\n" + " Mode Expiration\t" + DoubleToStr(MarketInfo(mySymb, MODE_EXPIRATION), 4) + "\n" + " Mode Starting\t" + TimeToStr(MarketInfo(mySymb, MODE_STARTING),TIME_DATE|TIME_SECONDS) + "\n" + " Mode Expiration\t" + TimeToStr(MarketInfo(mySymb, MODE_EXPIRATION),TIME_DATE|TIME_SECONDS) + "\n"; MessageBox(msg, "Account/Symbol Details", 0); Bearbeitet 15. Juni 201313 Jr. von Mythos quote tag mit code tag ersetzt Melden
Geschrieben 16. Juni 201313 Jr. comment_144676 Thomas willkommen bei TN Vola hat recht : Welcher Hintergrund ? Was willst Du, was handelst Du, wo soll es hingehen ? Ausgabe im Chart durch einen EA oder einen Indi ?Sonst Rätselraten und dafür ist die Zeit knapp . KB PS.: Ohne Ticks ist Dein Metatrader "blind und tot" , mit jedem Tick werden seine Routinen genau einmal durchlaufen . Er wird NICHT durch die CPU Deines Rechner getaktet wie alle anderen Programme Deines Rechners (stimmt das auch ? @ unsere Spezialisten ) Melden
Geschrieben 16. Juni 201313 Jr. comment_144677 PS.: Ohne Ticks ist Dein Metatrader "blind und tot" , mit jedem Tick werden seine Routinen genau einmal durchlaufen . Er wird NICHT durch die CPU Deines Rechner getaktet wie alle anderen Programme Deines Rechners (stimmt das auch ? @ unsere Spezialisten )Jein. Die start() Methode wird bei "jedem" Tick (außer sie läuft noch vom vorigen Tick) ausgeführt. Man kann den EA auch dauerhaft "aktiv" halten indem man die start() Methode nie verläßt. Das ist auch der einzige Anwendungsfall wo die Abfrage ob der Markt geschlossen ist Sinn macht (wenn überhaupt). Aber ich schließe mich an: ohne Anwendungsfall & ein paar mehr Infos is es rätselraten und dafür hat niemand Zeit. Melden
Geschrieben 16. Juni 201313 Jr. comment_144678 @ThomasPoste doch einfach deinen Code, eventuell vorhandene Sorge vor kopieren kannst du durch verändern der Parameter doch umgehen.Es geht ja erstmal darum deinen Code zum laufen zu bringen, Parameter kannst Du danach ja problemlos ändern. Melden
Geschrieben 17. Juni 201313 Jr. Autor comment_144681 Danke Wolf,hab deinen Code getestet, sieht aus, als ob mein Broker diese Info nicht mitschickt, aber egal, hab mich damit abgefunden, dass ich halt von Zeit zu Zeit schaun muss, ob's neue Indexe mit neuem Datum gibt... was nicht geht, geht halt nicht Kann ich davon ausgehen, dass diese Wechsel (von zB Symbol-JUN13 auf Symbol-SEP13) immer am Wochenende stattfinden? sonst hab ich keine Frage mehr zu diesem Thema, scheint ja irgendwie nicht bei jedem Broker möglich zu seinund wenn dann würde es vermutlich nach WOLF's Methode funktionieren... @Vola:als Code verwende ich nur ein simples CreateObject: ObjectCreate("Infozeile", OBJ_LABEL, 0, 0, 0);ObjectSetText("Infozeile", TMarketInfo(symb, MODE_TRADEALLOWED),size, "Verdana", color);ObjectSet("Infozeile", OBJPROP_CORNER, 3);ObjectSet("Infozeile", OBJPROP_XDISTANCE, (20));ObjectSet("Infozeile", OBJPROP_YDISTANCE, (20)); Melden
Geschrieben 17. Juni 201313 Jr. comment_144683 tompaul, on 17 Jun 2013 - 16:50, said:hab mich damit abgefunden, dass ich halt von Zeit zu Zeit schaun muss, ob's neue Indexe mit neuem Datum gibt... was nicht geht, geht halt nicht Naja, "von Zeit zu Zeit" ist relativ wenn das Symbol JUN13 heißt. Es gibt ja vordefinierte Verfallsdaten und im Symbolnamen steht auch noch drin welcher es ist... Melden
Geschrieben 17. Juni 201313 Jr. Autor comment_144684 Aaaaja, da hätte ich auch selber drauf kommen können Danke Mythos! Melden
Geschrieben 17. Juni 201313 Jr. comment_144685 Aaaaja, da hätte ich auch selber drauf kommen können Danke Mythos!Kannst du froh sein das bei den CFDs nicht die klassischen Buchstaben verwendet werden :D http://www.deifin.de/fuwi001f.htm#Termin Melden
Geschrieben 17. Juni 201313 Jr. comment_144688 Danke Wolf,hab deinen Code getestet, sieht aus, als ob mein Broker diese Info nicht mitschickt ...bitte gerne, das habe ich vermutet. Wahrscheinlich sind es wohl keine CFD's auf Futures, sondern eben CFD's auf adjustierte Endloskontrakte. Kann ich davon ausgehen, dass diese Wechsel (von zB Symbol-JUN13 auf Symbol-SEP13) immer am Wochenende stattfinden?Wie Mythos bereits schrieb hängt es eben vom Verfall der realen Futures-Kontrakten ab. Hier findest Du die Spezifikationen zum jeweiligen Vefalltermin beim Broker Activetrades: für Rohstoff-Futures und Metalle: http://www.activtrades.de/index.aspx?page=cfds_metalsfür Indizes und Anleihen: http://www.activtrades.de/index.aspx?page=cfds_indices Hier findest Du die Spezifikationen der realen zugrundeliegenden Futures:http://www.eltee.de/verfallstage.php Angegeben sind jeweils der letzte Handelstag "Last Trading Day" (LT) und - wo relevant - der "First Notice Day" (FN) Ich habe mal als Stichprobe für die folgenden vier Kontrakte, den per MT4-Skript ausgelesenen MODE_EXPIRATION mit dem Verfall der realen Future-Kontrakte verglichen Cocoa September13Verfall (LT) des realen Cocoa Future September 13/9 = 2013.09.13Erster Anzeigetag (FT) 19/8 = 2013.08.19Verfall Laut Activetrades ist "der Geschäftstag vor dem Ersten Anzeigetag der Andienung des Kontraktes":da der 19.08. ein Montag ist, wäre das der Freitag der 16.08.Verfall bei Activetrades nach MODE_EXPIRATION = 2013.08.16 20:00:00 LCrudeJul13Verfall (LT) des realen CrudeOil Future Juli 20/6 = 2013.06.20Verfall bei Activetrades nach MODE_EXPIRATION = 2013.06.19 23:15:00 Ger30Jun13Verfall (LT) des realen FDAX Future Juni 21/6 = 2013.06.21Verfall bei Activetrades nach MODE_EXPIRATION = 2013.06.20 22:00:00 EuBundSep13 Verfall (LT) des realen Bund Future September 06/9 = 2013.09.06Verfall bei Activetrades nach MODE_EXPIRATION = 2013.09.05 22:00:00 Fazit:Die CFD's auf Futures und Rohstoffe verfallen beim Broker Activetrades i.d.R. einen Tag vor dem Verfall (LT) der realen Futures-Kontorake Ausnahme:Cocoa und wohl auch noch andere Rohstoffe (habe ich nicht weiter überprüft).Da findet der Verfall beim Broker Activetrades einen Tag vor dem First Notice Day (FN) des realen Futures statt Melden
Geschrieben 18. Juni 201313 Jr. Autor comment_144693 Vielen Dank für die Infos!Hab jetzt bei meinem Broker nachgesehen, und siehe da, der hat auch so eine Liste mit genauem Rollover-Datumz.B.:DAX-JUN13 mit 20. Juni 2013,ASX-JUN13 mit 19. Juni 2013,NK225-JUN13 mit 12. Juni 2013,usw. Ich glaub jetzt hab ich's verstanden, wie das mit dem Datum bei den Indexen funktioniert. Vielen Dank @Mythos & Wolf! Melden
Hallo,
es gibt 2 Errors mit denen ich immer wieder konfrontiert werde:
ERR_MARKET_CLOSED 132 Market is closed.
ERR_TRADE_DISABLED 133 Trade is disabled.
für den 133er (TRADE_DISABLED) hab ich das Ergebnis von MarketInfo(symb1, MODE_TRADEALLOWED) in die View eingebaut
aber für MARKET_CLOSED finde ich keine Abfrage-Möglichkeit.
Hat jemand eine Idee?
vielen Dank im voraus!
Gruß, Thomas