Alle Inhalte von wingman
-
MT4: OrderClose error 138 ???
ich bekomme immer wieder backtesten eines EA die Fehlermeldung "OrderClose error 138" wenn ich eine Order schliessen will. In der Doku steht, dass man das mit RefreshRates() beheben kann weil die Fehlermeldung von einem requote käme. - allerdings beim Backtesten??? - seltsam. Auf jeden Fall wird der Fehler durch ein RefreshRates() vor dem OrderSend nicht behoben. Hat jemand einen Tipp? - Ich komm da im Moment nicht drauf. Dankeschön der Ordersend sieht so aus: int check=OrderClose(OrderTicket(),OrderLots(),Ask,3,LightBlue); Fehlermeldung: 2009.10.20 21:07:12 2009.10.19 20:00 __EA2.0_091020 DAX_30,M15: OrderClose error 138
-
Verkaufe Expert Advisor
Ich finde generell den Verkauf von EA's höchst problematisch, aus vielerlei gründen unter anderem da ich es nicht nachvollziehen kann warum Leute einen angeblich profitablen EA verkaufen. (wir alle kennen die macht des Hebels etc.) Dass solche Werbemails oder Angebote in diesem Forum bisher nicht stattgefunden haben fand ich sehr erholsam und wohltuend gegenüber anderen Foren. Wenn man mich fragt - es sollte so bleiben.
-
Programmierung von Linien in einem Chart
Dazu liefert Metatrader schon die passende Funktion double dPrice=ObjectGetValueByShift("MyTrendLine#123", i); i ist dein aktueller Bar Damit bekommst du den Wert der Trendlinie an Bar 0 (wenn du i=0) setzt. Anmerkung zu meinem vorigen Posting. Die Funktionen "ObjectCreate" und "ObjectSet" liefern einen bool-Wert zurück, also 0 und 1. Das heisst die Variable iCheck sollte besser vom Typ bool anstatt integer sein, wie in meinem Beispiel und demnach dann auch bCheck heissen.
-
Programmierung von Linien in einem Chart
Nein. Die Variable iCheck enthält 0 , wenn alle Befehle korrekt ausgeführt werden konnten, d.h. im Endeffekt: - das Objekt wurde generiert iCheck=ObjectCreate(sMarkName,OBJ_HLINE,0, Time[10], 1.4232, Time[0],1.4232); - Die "Dicke" der Linie wurde richtig gesetzt iCheck=ObjectSet(sMarkName,OBJPROP_WIDTH,1); - Die Farbe der Linie wurde auf grün gesetzt iCheck=ObjectSet(sMarkName, OBJPROP_COLOR, LimeGreen); iCheck ist in diesem Fall eine Integervariable über die Du abfragen kannst ob ein Fehler aufgetreten ist. Du kannst iCheck auch weglassen, dann hast Du kein Fehlermanagement in Deinem Code aber der Code funktioniert trotzdem.
-
Programmierung von Linien in einem Chart
einfach mal ein Beispiel: zeichnet eine Grüne Linie vom aktuellen Bar bis zum vergangenen 10 Bar an der Y-Position 1.4232 int iCheck; string sMarkName="Gruene Linie"; iCheck=ObjectCreate(sMarkName,OBJ_HLINE,0, Time[10], 1.4232, Time[0],1.4232); iCheck=ObjectSet(sMarkName,OBJPROP_WIDTH,1); iCheck=ObjectSet(sMarkName, OBJPROP_COLOR, LimeGreen); if(!iCheck) { Print("error: can't create object! code #",GetLastError()); }
-
EA Läuft nicht
welches Betriebssystem verwendest Du? Windows vista oder XP?
-
EA. Wann ermittelt Metatrader das High und Low eines Bars???
ja das ist klar. Beim ersten Tick des Bars ist Open=High=Low=Close. ich würde erwarten, dass das High und Low des Bars bei jedem Tick neu berechnet wird, d.h. das es sich ebenso wie der Bar ständig verändert solange dieser sich in Bewegung befindet. Aber dem scheint nicht so zu sein und das ist für mich inkonsequent. Aber ich kann Deine Logik auch irgendwie nachvollziehen.
-
Tunneltrading
damit ich nicht dumm sterbe... was versteht ihr unter Tunneltrading?
-
XTB - Forex Porsche Cup
...geht aber trotzdem ganz gut das teil! ich wollte eigentlich teilnehmen, bin aber noch nicht soweit um da unter die ersten 10 zu kommen. wer ist noch dabei?
-
Metatrader Vor- und Nachteile Sammelthread
Vorteile: - relativ ausgereift - Programmiersprache in C, EAs kann man komplieren - grosse und aktive Communitiy Nachteile: - GUI bzw. Interface-Programmierung fehlt leider komplett. Ich würde gerne eigene Menüs und Module programmieren, wie man das von anderen Applikationen aus anderen Bereichen kennt. - Programmierung ist realtiv Systemnah, daher muss man vieles selber coden - Programmierung könnte objektorientierter sein. (z.B. Kerzen als Objekte mit Properties)
-
EA. Wann ermittelt Metatrader das High und Low eines Bars???
ich schreibe momentan (oder besser gesagt ich versuche es) einen ziemlich timing-kritischen EA, wie ich in einem anderen Posting schonmal geschrieben habe. (vielen Dank übrigens nochmal für die vielen Replies). Momentan scheitere ich aber an den absoluten Metatrader Basics, die ich mir nicht erklären kann. Oder ich habe das Prinzip einfach immer noch nicht verstanden: Mein EA wird ja zu jedem Tick ausgeführt und ich warte innerhalb eines Bars auf das Low und auf das High. Allerdings bekomme ich das von Metatrader nie zum Bar 0 auch wenn es viele Ticks innerhalb des Bars 0 gibt. Sondern Metatrader scheint das Low und High immer erst für Tick 0 festzulegen wenn dieser auf Position 1 rutscht. Das heisst ich kann über die Standarfunktion für den Bar 0 nie das High und Low ermitteln??? Sehe ich das richtig? ich habe mal das Problem isoliert und einen ganz zimplen EA geschrieben um das zu testen: ... int start() { int i; if(Time[0] == prevtime) return(0); prevtime = Time[0]; i=0; LineToBar("High", High, Blue, i); LineToBar("Low", Low, Red, i); return(0); } //--------------------------------------- // LineToBar //--------------------------------------- // CALL: // LineToBar("High", High[1], 0, Blue); // LineToBar("Low", Low[1], 0, Red); void LineToBar(string sLabelName, double dPosY, color cColor, int i) { string sLBL=exsLBL + sLabelName + " " + Bars; datetime dtStartBar=(Time); datetime dtEndBar=(Time[i+1]); Comment("Start: " + dtStartBar + " End : " + dtEndBar); ObjectCreate(sLBL,OBJ_TREND,0, dtStartBar, dPosY, dtEndBar, dPosY); ObjectSet(sLBL, OBJPROP_WIDTH,1); ObjectSet(sLBL, OBJPROP_RAY, false); ObjectSet(sLBL, OBJPROP_COLOR, cColor); } ... Heraus kommt im Backtest das Bild (s. Anhang) - den Backtester habe ich natuerlich auf "Every Tick..." gestellt. Natürlich kann man eine eigene Routine schreiben um das High/Low von Bar 0 dynamisch zur Laufzeit festzustellen. Aber irgendwie wundert mich, dass Metatrader das nicht automatisch macht. (Ausserdem weiss ich seitdem warum ein anderer meiner EAs so mies performt Fuer jede Art der Erleuchtung bin ich dankbar. wingman __EATest__DrawHighLow_090921.mq4
-
XTB - Forex Porsche Cup
nimmt hier jemand an der xtb-championship teil?
-
EA Buffers schreiben im EA? - zwischenspeichern von Variablenwerten im EA
Nun nochmal ein paar speziellere Fragen: - Kann ich innerhalb eines EA's einen Buffer schreiben so wie in einem Indicator - ich habe das versucht aber der Buffer wird nicht angezeigt - d.h. muss ich zwangsweise über einen custom-indicator gehen? - ich habe gerade in einem anderen Thread gelernt wie man einen EA zwischen zwei Ticks laufen lässt. Allerdings die klassische Methode ist ja, dass der EA pro Tick jeweils NEU aufgerufen wird d.h. auch alle Variablen-Werte pro Aufruf neu initialisiert werden. Wie macht ihr das wenn ihr Werte die der EA einen Tick vorher berechnet hat beim neuen Aufruf verarbeiten wollt. Sprich wie speichert man Variablenwerte dauerhaft zwischen zwei EA-Aufrufen ab? Die normalen Arrays und Variablen werden ja bei jedem neuen "Aufruf" des EAs neu initialisiert. Eine Möglichkeit wäre ein Textfile auf die Platte zu schreiben und wieder einzulesen -> nicht sehr elegant, bzw. Timingkritisch (wenn Festplatte im Sleepmodus etc.) Andere Möglichkeit wäre den Wert vom EA aus in einen Buffer zu schreiben -> habe ich allerdings nicht geschafft Sonst noch Möglichkeiten??? danke euch wingman
-
EA zeitgenau ausführen?
Bingo! Das ist natürlich die Idee! Das probiere ich aus. Momentan mache ich bei meiner Strategie nach jedem Tick ein paar Berechnungen, die ich VOR dem nächsten Tick aber anzeigen möchte bzw. auswerten muss. Ausserdem muss ich wissen welche Zeit nach einem Tick vergangen ist und zwar VOR dem nächsten Tick. Daher meine Frage. Ausserdem möchte ich die "Latenz" unterschiedlicher Broker messen, die evtl. für meine Strategie entscheidend sein könnte. danke für die Lösung!!!
-
EA zeitgenau ausführen?
... das habe ich befürchtet. Das ist dummerweise für den Handelsansatz, den ich gerade entwickle ein Killerkriterium. Weiss jemand, ob das in MT5 anders ist. Oder kennt jemand eine Software zum automatisierten Handel, die das anders handhabt. Amibroker? grüsse Wingman
-
EA zeitgenau ausführen?
Wenn ich das richtig sehe wird ein Metatrader-EA oder ein Indicator immer pro Tick-Signal des Brokers ausgeführt - stimmt das? Kann ich einen EA auch öfter ausführen - oder dazu zwingen - also z.B. 10 mal pro Sekunde? (das ist vermutlich nun keien Einsteigerfrage mehr - aber leider kann ich in die anderen Chapters nicht posten. Darum versuch ich es hier mal:)
-
EA mit Teilausstieg
versuch doch mal den EA jeweils einem anderen Chartfenster das aber das gleiche Währungspaar darstellt zuzuweisen - dann müsste es eigentlich gehen. ansonsten würde ich den EA so umprogrammieren, dass er eben zwei Positionen eröffnet. Und diese dann gestaffelt glattstellt.
-
Metatrader. Colorcodes als rgb mit Variablen?
Alles klar. Da wäre ich so schnell nicht drauf gekommen. Meine C++ Kenntniss sind leider etwas eingerostet. Vielen Dank
-
Metatrader. Colorcodes als rgb mit Variablen?
Hallo liebe Mit-Coder, ich habe mal wieder eine Dummy-Frage. Ich möchte die "Color" in Metatrader am liebsten per rgb über Variablen definieren und nicht als Webcode oder Hexcode. Allerdings schluckt das der Kompiler nicht so wie ich mir das vorstelle. Weiss jemand wie man das quoten muss? Bsp.: int r,g,b; color cColor=C'200,200,200'; //----> das funktioniert natürlich color cColor="C''" + r + "," + g + "," + b + "''"; //----> ergibt eine Fehlermeldung bin wie immer für Tipps und Ratschläge dankbar wingman
-
Kann man das Erscheinungsbild eines Charts aus einem EA heraus verändern bzw. definieren?
das hatte ich schon befürchtet... hm. werde dann mal deinen Tipp mit dem Default-Template ausprobieren. Dankeschön
-
MT4: Aus dem EA die Farben der Standardindikatoren ändern
Hallo, und nochmal eine spezielle Frage zu Metatrader: Ich habe einen EA und der stellt greuft beispielsweise auf 3 moving average linien zu: mva1 = iMA(NULL,NULL,iPeriodShort,0,MODE_EMA,PRICE_CLOSE,0); mva2 = iMA(NULL,NULL,iPeriodLong,0,MODE_EMA,PRICE_CLOSE,0); mva3=... dann werden diese drei mva's ja automatisch z.B. beim Backtesting dargestellt in ihrer Default-Farbe - in diesem Fall rot. Wie verändere ich die Farbe der Indikatoren bzw. greife ich auf deren Properties zu? Geht das überhaupt vom EA aus mit den Standardindikatoren oder muss ich einen eigenen Indikator erstellen, dem ich die Farbe beim Aufruf übergeben kann?
-
Kann man das Erscheinungsbild eines Charts aus einem EA heraus verändern bzw. definieren?
Ich würde gerne ein Chart, sobald mein EA "daraufliegt" automatisch einstellen. z.B. - Background-Grid ausschalten - Farben der Kerzen ändern - Zoomstufe einstellen Ich hätte jetzt vermutet, dass man das über #property ... steuern kann. Allerdings gibt es hier keine Window-Optionen. Geht das überhaupt über Programmcode? Wenn nein macht man das über Templates? wie immer bin ich für Hinweise sehr dankbar - oder auch einen Tipp wo ich in der Doku nachsehen kann wingman
-
Programmierung von Linien in einem Chart
das war genau was ich gesucht habe. dankeschön.
-
Programmierung von Linien in einem Chart
Hallo, ich schreibe gerade einen Indikator der Linien in ein Chart einzeichnet dazu benötige ich allerdings "begrenzte" Linien (also nur von Anfang bis Endpunkt). In einem kommerziellen Indikator habe ich das bereits gesehen. Das Ganze funktioniert ja über den Aufruf z.B.: check=ObjectCreate(sMarkName,OBJ_TREND,0, dtStart, dValueStart, dtEnd, dValueEnd); Ich finde aber ausser den Trendlinien kein Objekt, das eine begrenzte Linie zeichnet. Und Trendlinien sind ja in eine Richtung "unbegrenzt" . Muss ich da noch eine Property setzen oder muss ich ein anderes Objekt verwenden anstatt von "OBJ_TREND"??? für einen Tipp wäre ich sehr dankbar... wingman
-
Suche Script was Ordern bei einem bestimmten TP oder SL automatisch schließt
Bleibt anzumerken, dass Du trotzdem einen Stopp-Loss setzen solltest, der zwar weiter gefasst ist aber dich trotzdem absichert, sollte mal dein Rechner oder deine Internetverbindung unterbrochen sein, was gar nicht so unwahrscheinlich ist. Der Stopp Loss und TP über den Broker werden ja auf dem Server des Brokers ausgeführt, das heisst diese bleiben aktiv ob Du online bist oder nicht. Dein EA allerdings auf Deiner lokalen Maschine.