Alle Inhalte von WOGO
-
Frage zu Stop Loss & Einstiegsbar
Du hast recht! Hab überlesen, dass der Stop auf das Low des Einstiegsbars gesetzt werden soll . Bei meinem Code wird er auf den Einstiegskurs gesetzt. Gut aufgepasst, Tom
-
Frage zu Stop Loss & Einstiegsbar
Hallo agepi, da du das hier im MQL-Thread schreibst geh ich mal davon aus, dass du den SL per EA nachziehen möchtest. Wenn du also den zum Einstieg per OrderSend an den Server übergebenen Wert ändern willst, dann benutzt du hierfür die Funktion OrderModify() Am einfachsten selektierst du hierfür die Order mit der Ticketnummer, die du bei OrderSend als Orderticket zurückbekommen hast und gibst als neuen SL den Open-Kurs an. Entscheidend ist hier der 3. an OrderModify übergebene Parameter. Das Ganze nur unter der Bedingung, dass die aktuelle Serverzeit X-Tage nach der Eröffnung war (im Beispiel 10 Tage) OrderSelect(Tickernummer,SELECT_BY_TICKET); if(TimeCurrent()>OrderOpenTime()+60*60*24*10) //Verstrichene Zeit in Sekunden OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
- Fussball WM 2010
-
Netzwerk optimal einstellen
Wenn du eine WLAN-Strecke ohne Kabel-Ziehen überbrücken willst, dann brauchst du 2 Access Points im Bridge Modus. Diese fungieren dann mehr oder weniger als Kabel. Wie Vola aber schon sagt, unterstützen viele APs hier nur WEP-Verschlüsselung. Ich hab das selbst aber nicht ausprobiert. Hab mich da mal erkundigt, dann aber doch noch ein Leerrohr in der Wand gefunden. Du kannst auch einen Access Point als Repeater einsetzen. Da verringert sich aber der Datendurchsatz.
-
Mentale Positionsgrößenbestimmung
Guter Ansatz! Kann man auch in seinem EA benutzen, wenn man sein Trading-Journal als File aufzeichnet und das Verhältnis Gewinne/Verluste seiner letzten Trades als Gewichtung für seine Positionsgrössenbestimmung mit einfliessen lässt.
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Ein letztes mal von meiner Seite. C-Tutorial => Vergleichsoperatoren... Von denen gibt's richtig viele, nicht nur "gleich"...
- Fussball WM 2010
-
tom-next.com - suggest a feature v. 2010
Vielleicht bin ich einfach nur zu blöd, aber trotzdem die Frage: Woran liegt es eigentlich, dass bei manchen Threads das Fenstere plötzlich wesentlich breiter ist als normal? Wenn ich mit meinem Notebook (1280x800 Auflösung) tippe, dann muss ich bei besagten Themen immer mit der horizontalen Fensterlaufleiste links-rechts scrollen. Ich hab den Eindruck, das kommt immer dann vor, wenn viele Code-Boxen auf einer Seite sind. Kann man das ändern?
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Da gibt's X Möglichkeiten, was du falsch machen kannst. Falsch programmierter Einstiegsbedingungs-Check, Indikator im falschen Timeframe, falsche Indikatorparameter. .. Aber mal im Ernst! So geht's nicht! Du kannst nicht erwarten, dass du einen funktionierenden EA hinbekommst, ohne jedliche Programmierkenntnisse. Das hat nichts mit Dummheit zu tun, sondern liegt einfach daran, dass für bestimmte Tätigkeiten bestimmte Vorbedingungen erfüllte sein müssen. Ich kann auch keine Vertragsverhandlungen mit einem Italiener führen, ganz einfach deshalb, weil ich kein Italienisch kann. Da hilft's auch nichts, dass ich hin und wieder ein italienisches Lied im Radio hör... Entweder ich lern halt die Grundlagen der Sprache, oder ich lass es sein. MQL funktioniert genau so wie C. Les dir halt wenigstens mal ein C-Grundlagentutorial durch! Die gibt's wie Sand am Meer im Internet, auch auf Deutsch.
- Fussball WM 2010
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Ich nehme mal an, du verwendest als Editor MetaEditor. Da gibt's das allseits beliebte Navigator-Fenster. Wenn es nicht eingeblendet ist, dann einfach Ansicht-Navigator wählen. Hier kannst du im Fenster oben einen Suchbegriff eingeben. Du erhältst dann eine Auswahl von gefundenen Stichwörtern. Beim Doppelklick auf eines von Solchigen wird im Fenster unten die Hilfe dazu angezeigt. Bei deinem OrderClose-Befehl etwa, siehst du genau, welche Parameter du angeben musst und eine Erklärung, was diese bedeuten. Ist zwar auf Englisch, aber fast selbsterklärend. Zudem gibt's ganz unten immer ein Beispiel dazu...
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Da ham' wir doch was ...
- Mein erster eigener Robot
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Aller Anfang ist schwer Scheint sich hier zum Dialog zwischen uns beiden zu entwickeln...na wie auch immer. Du hast also noch verschiedene Probleme. D.h. also deine Einstiegsbedingung ist immer noch erfüllt, obwohl sich der Kurs entgegen deiner Handelsrichtung entwickelt. Das kannst du umgehen, indem du jedesmal wenn die Einstiegsbedingung in eine Richtung erfüllt ist, einen Zähler hochzählst und über diesen Zähler den Einstieg sperrst, bis die Bedingung mal nichtmehr erfüllt war und dann wieder erfüllt. Problem hatten wir erst kürzlich hier im Forum. Ist nicht länger als 2-3 Wochen her... Schwer zu sagen, was du hier machst. Wenn du mit verschiedenen Shifts arbeitest wird das Ganze recht komplex. Du solltest auch mal kontrollieren, ob du bei deinem EA überall die gleiche Zeitbasis verwendest. Soweit ich mich erinnern kann, hattest du da mal M15, dann wieder 0 für die aktuelle Zeitbasis. Das muss schon zusammenpassen! hä? Das kann schon sein, wenn du wie wild mit Shifts um dich wirfst und verschiedene timeframes verwendest... Zweimal nein! Ich denke bevor du weitermachst, solltest du hier mal vorbeischaun...
-
MetaTrader 5: Official Release
Hust hust! Hast du dir schon mal die 2000 Seiten MQL5-Doku angeschaut? Die Philosophie dahinter ist total anders wie bei der 4er Version.
-
Mein erster eigener Robot
Was heisst hier, nicht zuviel verraten!? Den stell ich gleich Morgen in den Live-Handel
-
Mein erster eigener Robot
Ich will auch ein H
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Muss aber funktionieren! Wenn du so an deinem Ursprungscode nichts geändert hast und du immer noch Buy2_3 als double definierst dann gibt es keinen Grund, warum er die Variable hier nicht kennen sollte... Dein Print-Aufruf steht schon in der Funktion start(), oder? Kannst den Print-Befehl ja mal mit anderen Variablen ausprobieren...
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Wenn du den Signalen nicht traust, dann solltest du dir mal ausgeben lassen, welche Werte du genau hast, wenn du einen Kauf erwartest und wenn du keinen Kauf erwartest. Du kannst dir hierfür einfach den genauen Wert von Indikatoren in ein File schreiben lassen. Das funktioniert so: Print(" Time=",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Text Variable1: ",Variablenname1,"Text Variable2 ",Variablenname2, usw.); Hierbei wird in ein Logfile je eine Zeile geschrieben, die einen Zeitstempel hat und die den Wert der angegebenen Variablen ausgibt. Das File liegt dann unter \Installationsverzeichnis\tester\logs\Datum.log Du kannst dann schön sehen, zu welchem Zeitpunkt deine relevanten Variablen welchen Wert hatten. Da obiger Code bei jedem Durchlauf ausgeführt wird, musst du die Ausgabe noch einschränken, sonst hast du ganz schnell ein log-File mit mehreren 100MB. Dazu suchst du dir einen Zeitpunkt im Chart, den du back-testet und wo du sicher einsteigen willst, der EA aber nicht mag (oder umgekehrt). Dann machst du folgendes: //am Anfang von Start einfügen if(TimeCurrent()>=StrToTime("2010.06.7 08:50:00") && TimeCurrent()<=StrToTime("2010.06.7 09:00")) { TestEnabled=true; } else TestEnabled=false; .... Dann kommt dein Code, so wie er momentan ist und dann die Auswertung deiner Signale if (Buy2_1 > Buy2_2 && Buy2_3 >0 && Buy2_6 >0) { Order = SIGNAL_BUY; } if(TestEnabled) Print(" Time=",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Buy2_1: ",Buy2_1,"Buy2_2 ",Buy2_2); .... Ausserhalb von Start musst du noch die Variable TestEnabel als bool definieren. Dann wird dir zwischen 8:50 und 9:00 bei jedem Tick der Wert der Variablen Buy2_1 und Buy2_2 ausgegeben. Du kannst die Liste natürlich noch um die anderen relevanten Variablen erweitern. Du siehst nun also an welcher Bedingung dein Einstieg scheitert. Wenn du das verstanden hast kannst du dich mit dieser Methode relativ bequem durch deine Bedingungen debuggen um herauszufinden woran die Einstiege scheitern. Viel Spass!
-
Entwicklungsumgebung und Broker für autom. Trading gesucht
Ich hab auch schon mal überlegt, dass es sicher geschickt wäre Matlab an Metatrader anzubinden, d.h. von Metatrader die Kurse einzulesen in Matlab Modelle zu rechnen und über Metatrader dann nur die Orderabwicklung zu handeln. Hab früher viel mit Matlab gemacht. Wäre halt wirklich interessant, da man damit ein riesiges Repertoir an Funktionen für Signalverarbeitung und Frequenzanalyse hat. Leider ist meine Matlab-Zeit schon wieder einige Jahre her und ich befürchte die Notwendigkeit mich erneut in das Thema einzuarbeiten lässt diesen Plan noch für lange Zeit einen Plan bleiben.
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Noch was. Die Defaulteinstellungen für deinen Supertrend-Indikator sind 10 und 3 extern int Nbr_Periods = 10; extern double Multiplier = 3.0; Warum verwendest du im EA die Werte 2 und 1.3? double Buy2_3 = iCustom (NULL, PRICE_CLOSE, "supertrend", 2,1.3,0, + 0); Mit diesen Einstellungen werden deine Signale viel zu unruhig. Für alle die aus dem Thema noch nicht ausgestiegen sind bzw. die grob wissen wollen worum es hier geht mal ein Screenshot der besagten beiden Indikatoren. Der Indikator im Chart-Window ist ein mit einem best. Verfahren gewichteter ATR und der Indikator im Fenster darunter ein über verschiedene Modes ausgewerteter ADX.
-
Guten Morgen
Herzlich Willkommen wh_! Wow, freu mich auf einige interessante Diskussionen mit dir...
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Das ist so nicht richtig. Es ist jeweils nur das Signal für das die Bedingung erfüllt ist 1. Die anderen 3 sind 0. siscop will dir allerdings damit sagen, dass du vom ADX Filter nur die Buffer 0 und 1 (Aufwärts und Abwärts) brauchst und diese am Besten mit einem Shift von 1 einsetzt, damit du immer abgeschlossene Balken verwendest... also im Prinzip so: IndiUp=iCustom(NULL, 0, "ADXFilter",DeinePeriode,DeinAdx,0,1); IndiDn=iCustom(NULL, 0, "ADXFilter",DeinePeriode,DeinAdx,1,1); EDIT: War zu langsam...
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
Also fangen wir mal an. Du verwendest folgende Signale double Buy1_2 = iClose (NULL, PERIOD_M15, +0); double Buy2_1 = iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, PERIOD_M15 + 0); double Buy2_2 = 20; double Buy2_3 = iCustom (NULL, PRICE_CLOSE, "supertrend", 2,1.3,0, + 0); double Buy2_6 = iCustom (NULL, PRICE_CLOSE, "mj_ADXFilter_vBob", 14,15,1, + 0); Das ist erst mal (Sorry) Mist. Richtiger ist's so: double Buy1_2 = iClose (NULL, 0, 0); //oder einfach close[0]; double Buy2_1 = iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, 0); //hier wurde der Shift auf 0 gesetzt. double Buy2_2 = 20; double Buy2_3 = iCustom (NULL, 0, "Supertrend", 2, 1.3, 0, 0); double Buy2_6 = iCustom (NULL, 0, "ADXFilter", 14, 15, 0, 0); //hier wurde ein anderer Mode gewählt Die Signale werden bei dir auf folgende Weise ausgewertet if (Buy2_3 < Buy1_2 && Buy2_2 < Buy2_1) Order = SIGNAL_BUY; Alles aussen rum ist nur Orderhandling, konzentrieren wir uns also erst mal auf die Signalgenerierung. Du verwendest vom Supertrend-Indikator den Buffer 0 (vorletzter Parameter von iCustom). Das ist richtig. Buffer 0 repräsentiert das lime-farbene Signal. Vom ADXFilter verwendest du den Buffer 1. Das ist so nicht richtig. Wenn ich den ADXFilter richtig verstehe, so zeigt der Buffer 0 einen Aufwärtstrend an. Also 0 als vorletzten Parameter des iCustom-ADXFilter-Aufrufes Wenn du nun willst, dass beide Indikatoren grün sind und der ADX über 20 ist, dann muss deine Bedingung folgendermassen lauten: if(Buy2_1>Buy2_2 && Buy2_3!=0 && Buy2_6!=0) Order = SIGNAL_BUY; d.h also: iADX > 20 UND supertrend ist grün UND ADXFilter ist grün Die Bedingung "Buy2_3 Supertrend Indis unterhalb des aktuellen Kurses liegt (wobei du bei iClose mit dem PERIODE_M15+0 noch einen Shift von 15 Bars reinbekommst). Das tut sie auch, wenn die grüne Linie "0" ist und das ist sie sobald das Aufwärtstrendkriterium nicht erfüllt ist... Versuch es einfach erst mal bis hierhin nachzuvollziehen, ansonstens wird's zu komplex. Viel Spass dabei!
-
MQL Codefrage: EA soll auf 2 Indikatoren zugreifen
... und ich bin beim ersten Blick über den EA auf folgendes gestossen: double Buy2_3 = iCustom (NULL, PRICE_CLOSE, "supertrend", 2,1.3,0, + 0); double Buy2_6 = iCustom (NULL, PRICE_CLOSE, "mj_ADXFilter_vBob", 14,15,1, + 0); Als 2. Parameter musst du den Time-Frame übergeben. Zufälligerweise funktioniert das hier, da PRICE_CLOSE mit 0 definiert ist und 0 den aktuellen Time Frame des Charts angibt. Ist aber zumindest extrem unsauber