MT4/MT5-EA´s für außerbörsliche Orderaufgabe

      Nein ist nicht egal. Einer weiteren Order für dieselbe Aktie muss man jetzt auch eine andere MagicNumber geben.

      Die aktuelle Logik ist so, dass der EA bei jedem Tick schaut, ob die Uhrzeit passt (standardmäßig werden Orders nur zwischen 9:00h und 9:10h aufgegeben) und ob die betreffende Order überhaupt noch erstellt werden soll (oder ob der EA das nicht bereits bei einem vorigen Tick gemacht hat). Hierfür schaut sich der EA bei jedem Tick zuerst sowohl die OrderHistory an, wie auch die Liste der Pending Orders und offenen Positionen.
      1. Der EA macht dann nichts (mehr), wenn er bereits einen Deal für die Aktie in der heutigen History findet (habe das mal so gelassen, wie es war. Kann aber sein, dass man hier auch noch den Check auf MagicNumber einbauen muss)
      2. Der EA macht ebenfalls nichts (mehr), wenn er eine Pending Order oder eine bereits eröffnete Position für die aktuelle Aktie und MagicNumber findet
      3. Trifft weder 1. noch 2. zu, dann wird die Pending Order erstellt (Stop- oder Limit Order) oder es wird direkt Market gekauft (wenn bei einer Stop Order mit Gap das CRV noch passt)
      Viel Spaß beim Ausprobieren :)
      @Remlowski

      Loving it! Teste ich am Montag gleich aus, habe Dutzende Short-Kandidaten ausgemacht.

      Schon mal großes Danke im Voraus!!

      Zur Sicherheit: wenn ich jetzt mit 1 Aktie beide Orderarten versuchen möchte: auf 2 verschiedene Charts ziehen, aber MagicNumber ist egal?
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!
      Ich würde die Stop- und Limit-Varianten in einem EA zusammenfassen.
      Habe also mal aus der GitHub Version 1.03 eine Version 1.04 gemacht, auch getestet, jedoch nicht alle Varianten in allen möglichen Situationen.

      Im Anhang ein ScreenShot des Eingabefensters der Version 1.03, sowie zwei ScreenShots der neuen Version 1.04, sowie der SourceCode.
      Bilder
      • 2020-05-01 Stock_OCO_Order_at_Open - Eingaben v1.03.png

        17,39 kB, 615×312, 351 mal angesehen
      • 2020-05-01 Stock_OCO_Order_at_Open - Eingaben v1.04 (1).png

        19,34 kB, 625×324, 360 mal angesehen
      • 2020-05-01 Stock_OCO_Order_at_Open - Eingaben v1.04 (2).png

        21,58 kB, 624×328, 397 mal angesehen
      Dateien
      Sehr spannend, danke! Ich bin und bleibe leider ein Blinder was Codes angeht.

      Darf ich mal ganz unverschämt fragen wie deine Versionen der Stop- und Limit-Variante aussehen würden? Dann könnten wir allen Interessierten aktuell funktionierende EA´s zur Verfügung stellen für diese Zwecke.
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!
      Ja aber da wo Du das ausgetauscht hast (Zeile 91 - 94), bringt das nicht viel:

      if ( Direction == TRADE_LONG )
      request.type = ORDER_TYPE_BUY_LIMIT;
      else
      request.type = ORDER_TYPE_SELL_LIMIT;

      Diese obigen 4 Zeilen könntest Du auch komplett löschen, da request.type sowieso unten, wo es ans Eingemachte geht, wieder überschrieben wird und zwar per:

      Zeile 164: request.type = ORDER_TYPE_BUY_STOP;
      Zeile 182: request.type = ORDER_TYPE_SELL_STOP;

      Außerdem stimmt die Logik nicht ganz, wenn Du einfach StopBuySell gegen LimitBuySell tauschst.

      Im Original wird:
      - eine Market Buy Order erstellt, wenn der aktuelle Preis über deinem eingegebenen Preis liegt
      - eine Stop Buy Order erstellt, wenn der aktuelle Preis unter deinem eingegebenen Preis liegt

      In Deiner Version wird:
      - ebenfalls eine Market Buy Order erstellt, wenn der aktuelle Preis über deinem eingegebenen Preis liegt (hier wolltest Du doch sicher die Limit Buy Order erstellen)
      - ebenfalls eine Stop Buy Order erstellt, wenn der aktuelle Preis unter deinem eingegebenen Preis liegt (hier wolltest Du doch sicher die Market Buy Order erstellen)

      Das gleiche Spiel entsprechend umgekehrt im Fall eines gewünschten SHORT Trades.
      Ich hab einfach die Funktion StopBuySell mit LimitBuySell getauscht und wo es nötig war die entsprechenden Anpassungen getätigt.
      Dateien
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!
      Eben nochmal das Skript angeschaut, es werden ja nur Market oder Stop Orders ausgeführt, keine Limit Orders. Von daher frage ich mich, wie Deine Limit Buy Order ausgeführt wurde?

      Eigentlich hätte ich gesagt, das Problem sollte auftreten, sobald zuerst eine "Stop Order" angelegt wird, die noch nicht ausgeführt wurde und anschließend der EA für den gleichen Wert (egal ob mit/ohne MagicNumber) eine "Market Order" ausführen soll. Letztere "Market Order" wird dann eben nicht ausgeführt, solange die "Stop Order" noch existiert.

      Mit anderen Worten: Wenn eine "Stop Order" aufgegeben werden soll und der aktuelle Kurs ist besser, als was mit der Stop Order erreicht werden kann, dann würde der EA eine "Market Order" daraus machen und direkt kaufen. Und genau das macht er eben nicht, solange eine "Stop Order" für den gleichen Wert existiert, die auf Ausführung wartet.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Remlowski“ ()

      Es wurde um 36 sec nach 9 die Limit Buy ausgeführt, eine Minute später die Stop-Buy, falls das an deiner gemachten Beobachtung etwas ändern würde?
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!
      Schon mal danke für deinen Input!

      Ich habe jetzt mal noch gar nichts geändert, und heute in Vivendi haben beide Orders geklappt, sowohl die Stop-Buy als auch eine umgeschriebene Variante für den Limit-Buy Entry. Je 1 EA pro Chart und mit eigener MagicNumber (ich weiß, eigentlich nicht nötig, aber wollte sichergehen).

      Am Montag oder heute 15:30 weitere Versuche.
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!

      Hintman schrieb:

      Kann es sein, dass das Skript überarbeitet werden muss wegen Änderungen/Updates im MT5?

      Hatte heute in Carrefour eine Stop-Buy Order zu 13.55 liegen. Gab ein Gap Up, min. CRV wurde trotzdem locker erfüllt.
      Aber keine Ausführung...
      Auf einem anderen Carrefour-Chart hatte ich eine Limit-Buy Order, aber mit einer anderen MagicNumber, kann also auch nicht die Ursache sein...



      Habe mal das Skript angeschaut, welches Du unten verlinkt hast. Habe diesen EA noch nie verwendet, nehme aber an, dass Du ihn also auf zwei verschiedene Carrefour Charts gezogen hast. Wie es der Zufall will, wird der EA mit dem "Limit-Buy" zuerst angesprungen sein und wird Dir eine Pending Order erstellt haben.

      Anschließend ist dann der EA mit dem "Stop-Buy" angesprungen und hat (aus mir nicht verständlichem Grund) die bereits erstellte "Limit-Buy" Order mitgezählt, siehe roten Pfeil auf "offeneOrders ++;"
      Aus dem Bauch heraus würde ich sagen, dass diese Zeile hier nicht hingehört, also gelöscht werden müsste. Die MagicNumber wird hier übrigens nicht berücksichtigt.

      Jedenfalls wurde die Variable "offeneOrders" damit um 1 hochgezählt, weshalb weiter unten (siehe roten Pfeil auf "&& offeneOrders == 0") dann die Buy Market Order nicht ausgeführt wurde.
      Bilder
      • Stock_OCO_Order_at_Open.png

        134,52 kB, 585×865, 446 mal angesehen

      Hintman schrieb:

      Hatte bei RWE das Gleiche, Stop-Sell und Limit-Sell in 2 verschiedenen Charts mit verschiedenen MagicNumbers. Dort wurden beide Orders ausgeführt sehe ich gerade, dabei gab es doch nie einen Kurs von 25.88 heute für die Limit-Sell....argh

      Also im XETRA sehe ich in der ersten Minute um 9h einen Höchstkurs von 25.91, von daher hat das der EA korrekt gemacht :/
      Nachtrag: in den Logs ist keinerlei Meldung zu finden.

      Hatte bei RWE das Gleiche, Stop-Sell und Limit-Sell in 2 verschiedenen Charts mit verschiedenen MagicNumbers.

      Dort wurden beide Orders ausgeführt sehe ich gerade, dabei gab es doch nie einen Kurs von 25.88 heute für die Limit-Sell....argh
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!

      Änderungen im Skript nötig?

      Hm. Ich habe diese Woche neben dem StereoTrader auch mal wieder den Stock_OCO_Order_at_Open im Einsatz. Weil ich sehen wollte ob ich diesen EA den technisch nicht so versierten Einsteigern anfangs empfehlen sollte statt dem mächtigen, aber doch etwas komplexen ST.

      Kann es sein, dass das Skript überarbeitet werden muss wegen Änderungen/Updates im MT5?

      Hatte heute in Carrefour eine Stop-Buy Order zu 13.55 liegen. Gab ein Gap Up, min. CRV wurde trotzdem locker erfüllt.
      Aber keine Ausführung...
      Auf einem anderen Carrefour-Chart hatte ich eine Limit-Buy Order, aber mit einer anderen MagicNumber, kann also auch nicht die Ursache sein...

      PS: nicht wundern dass in dem Chart doch ein Kaufpfeil zu sehen ist. Der stammt von der korrekten Ausführung in CA in einem anderen Chartfenster mit dem StereoTrader
      Bilder
      • Stock_OCO_Order_at_Open 1.03 2020-04-29 09.17.23.png

        34,84 kB, 1.311×606, 419 mal angesehen
      Der Autor ist in den besprochenen Werten zumeist selbst investiert. Traden auf eigene Gefahr, Signale sind aktuell großteils experimentell zwecks Challenge "In 30 Tagen zur Trading Strategie".
      Plane deinen Trade, trade deinen Plan!
      If it´s not a HELL YES, it´s a NO!
      Hallo Zusammen,
      vielen Dank für die Info.
      Noch eine Frage: wenn ich die App vom Metatrader 5 nutze, habe ich dann noch einen Vorteil vom dem EA, den ich gerade übersehen habe?
      Hintergrund ist, dass ich ein wenig den Aufwand scheue mir ein virtual Hosting einzustellen (Aufwand, Kosten).
      Vielen Dank und schon mal schönes Wochenende
      Gerd

      gerd2014 schrieb:

      Ich bin berufstätig und würde gerne wissen, ab wann ich meinen Computer automatisch nach unten fahren kann.


      Alternative könnte ein Virtual Hosting sein, auf welchem MT läuft. Der läuft dann extern 24/7. Unter dem Link wird beschrieben, wie man da vorgehen kann.. Für 24h gibt es auch eine Testmöglichkeit so einer Umgebung. Alternativ eigenen Server/Instanz mieten und selbst einrichten/administrieren.

      mql5.com/de/articles/1171

      Grüße
      Dan
      I go for it!
      Moin Timo,

      liegt definitiv daran... hatte genau das gleiche Problem mit dem EA und AT Demo-Konto.

      Im EA wird eine Order nur bis 9.10 Uhr aufgegeben, die Kurse bei der AT Demo kommen aber erst 9.15 Uhr.

      Du kannst das Problem lösen, indem du den EA mit dem MT5-Editor öffnest, den Eintrag dt.min <= 10 von 10 auf 20 erhöhst und dann neu kompilierst.

      Viele Grüße,
      Jan
      Hallo in die Runde.

      Bei mir scheint der EA nicht zu funktionieren: ich nutze bei ActiveTrades mit MT5 den EA Stock_OC_Order 1.03, den ich hier im Thread gefunden habe. Ich habe dort schon zwei mal eine Order angelegt indem ich den EA auf den Chart gezogen habe und die Daten für SS, T, SL etc. eingegeben habe. Autotrading war natürlich auch aktiviert und der PC mit MT5 auch an. Habe gerade eben live beobachtet wie nichts passiert ist, obwohl der Kurs oberhalb meiner Stop-Buy lag. Liegt es vielleicht daran, dass ich ein Demokonto bei ActiveTrades nutze? Ich habe bis ca. 09:20 gewartet, da ja bei einem Demokonto erst 9:15 die ersten Kurse kommen.

      Vielen dank schon mal für eure Hilfe im Voraus.