Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

wingman

*_skilled
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von wingman

  1. 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
  2. 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.
  3. 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.
  4. 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.
  5. 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()); }
  6. welches Betriebssystem verwendest Du? Windows vista oder XP?
  7. 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.
  8. wingman erstellte Thema in FX Talk
    damit ich nicht dumm sterbe... was versteht ihr unter Tunneltrading?
  9. wingman antwortete auf 4x's Thema in MT Chat
    ...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?
  10. 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)
  11. 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
  12. wingman antwortete auf 4x's Thema in MT Chat
    nimmt hier jemand an der xtb-championship teil?
  13. 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
  14. 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!!!
  15. ... 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
  16. 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:)
  17. wingman antwortete auf Omega's Thema in MQL Einsteiger
    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.
  18. Alles klar. Da wäre ich so schnell nicht drauf gekommen. Meine C++ Kenntniss sind leider etwas eingerostet. Vielen Dank
  19. 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
  20. das hatte ich schon befürchtet... hm. werde dann mal deinen Tipp mit dem Default-Template ausprobieren. Dankeschön
  21. 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?
  22. 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
  23. das war genau was ich gesucht habe. dankeschön.
  24. 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
  25. 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.

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.