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

      Hintman schrieb:

      ​Aber noch lieber wäre es mir eigentlich, den SL wieder auf Originalabstand herzustellen. Das wäre dann zwar kein charttechnischer SL mehr, aber ist für mich am vernünftigsten.


      Manchmal sieht man echt den Wald vor lauter Bäumen nicht. Ist doch ganz einfach: ich gebe als Maximalverlust 1% vom Kapital ein, nachdem ich ja 1% pro Trade riskiere. Und schon habe ich einen SL angepasst auf den tatsächlichen Entrykurs. X/
      Den ich ja im Laufe des Tages jederzeit noch nachjustieren kann.

      Wenn ohne Gap eröffnet wird und ganz normal eingestoppt wird, dann ist der StopLoss und die Maximalverlust-Grenze sehr nah beieinander. Hier könnte dann auch wieder passieren, dass beide "gleichzeitig" ausgelöst werden und die Position ungewollt gedreht statt nur geschlossen wird. Andererseits kann man diese Situation dadurch natürlich auch provozieren um zu sehen, wie häufig das Problem überhaupt auftritt.
      ​Aber noch lieber wäre es mir eigentlich, den SL wieder auf Originalabstand herzustellen. Das wäre dann zwar kein charttechnischer SL mehr, aber ist für mich am vernünftigsten.


      Manchmal sieht man echt den Wald vor lauter Bäumen nicht. Ist doch ganz einfach: ich gebe als Maximalverlust 1% vom Kapital ein, nachdem ich ja 1% pro Trade riskiere. Und schon habe ich einen SL angepasst auf den tatsächlichen Entrykurs. X/
      Den ich ja im Laufe des Tages jederzeit noch nachjustieren kann.
      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!

      alex999 schrieb:

      Danke für den Quelltext :thumbup:

      Zu deiner Frage: die Zeilen sind im Quellcode definitiv nicht enthalten. Wenn dein EA bei Verwendung aber immer diese Zeile oben links ausspuckt, dann hast du unterschiedliche Versionen:
      - du schaust einen Quellcode an, der aber nicht zum Kompilieren des gerade verwendeten EAs benutzt wurde
      - der EA wurde nach Quellcodeänderungen nicht neu kompiliert
      - oder du bist eventuell im falschen Verzeichnis

      Die Verzeichnisse wo EAs und deren Quelltexte (und Scripts, Indikatore, etc.) sein können ist unterschiedlich, insbesondere zum MT4. Und wenn man mehrere MT Versionen zum Testen installiert hat, muss man schon wissen, das man im richtigen Verzeichnis wurschtelt.


      Es hilft nix: ich suche die ganze HDD ab, und finde sogar 2 Install-Ordner. Ab in beiden liegen nur die Quellcodeversionen von August 2015. Das sind die Originale. Da habe ich wo einen gewaltigen Wurm drin, siehe fehlende Logs.
      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!
      Hier mal wieder der aktuelle EA. Damit ich ihn einfach verlinken kann.
      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!
      ​Hat die Short-Position jetzt die gleichen Stückzahl wie deine Long-Position? Die Shortposition wurde dann ohne SL/TP aufgegeben?


      Korrekt.
      Im MT5 stand als Kommentar "Maximalverlust erreicht 90". Das passte schon überein mit den standardmäßig eingetragenen 50€ Maximalverlust. Es waren dann sogar -52,16. Diese Funktion wurde bisher noch nie aktiviert geschweige denn hat sie geholfen, ich erachte sie auch eher als nutzlos. Da müsste wirlich schon zur Eröffnung ein Mega-Gap sein und der Kurs dann sofort gegen einen laufen.

      Aber da gibt es ja bessere Lösungen, die du auch schon geschrieben hast. Momentan präferiere ich CRV auf mind. 2 festzulegen. Aber noch lieber wäre es mir eigentlich, den SL wieder auf Originalabstand herzustellen. Das wäre dann zwar kein charttechnischer SL mehr, aber ist für mich am vernünftigsten.

      Leider habe ich tatsächlich kein Log. Auch im Betrieb bleibt der Reiter "Experten" neuerdings leer....sehr schräg.
      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
      schau nochmal nach, ob wirklich keine Logs vorhanden sind. Normalerweise müssten für alle Aktionen Logfiles (im MT5 auf "Datei" -> "Dateiordner öffnen" und dann im "logs" Ordner suchen) erstellt werden.

      Die Funktion, die bei Maximalem Verlust die Position schließen soll, schreibt auch immer einen Kommentar, der müsste entweder im Chart-Fenster oder im "Journal"-Tab auftauchen (sofern MT5 zwischendurch nicht neugestartet).

      Eine Funktion für Position schließen gibt es im MT5 nicht, d.h. man muss für eine Long-Position mit x Stück, eben diese x Stück verkaufen. Die einzige Erklärung für dein Phänomen wäre demnach, dass der Stoploss des Longs ausgelöst wurde (welcher die Position geschlossen hat) und direkt danach wurde die Verkaufsorder (die eigentlich schließen sollte) aufgegeben, wodurch eine Shortposition entstand (da bereits durch SL geschlossen wurde). Hat die Short-Position jetzt die gleichen Stückzahl wie deine Long-Position? Die Shortposition wurde dann ohne SL/TP aufgegeben?

      Die Reihenfolge, in der SL und die "Gegenorder" ausgeführt wurden, ist übrigens genau entgegengesetzt zu dem Test, den du mal zum Positionsdrehen gemacht hast. Dort wurde die SL nicht getriggert bevor der EA die Gegenorder aufgegeben hat (MT4/MT5-EA´s für außerbörsliche Orderaufgabe).

      Warum das so ist, ist schwer zu sagen. Möglicherweise wurde hier der StopLoss getriggert, allerdings konnte die Position nicht gleich komplett verkauft werden, da der Kurs zu der Zeit schnell fiel und möglicherweise nicht genug Käufer da waren (zumal durch die Quartalszahlen evtl. ohnehin schon weniger los war?). Der Kurs fiel weiter und triggerte auch noch die Maximaler-Verlust-Order.
      Ohne Logs ist das aber nur Spekulation. Notfalls kannst du ja auch mal ausrechnen, bei welchem Kurs der angegebene maximale Verlust erreicht wurde?

      Unabhängig davon, wie es nun zustande kam, ist diese Maximaler-Verlust-Mechanik aber möglicherweise gefährlich, wie du erfahren musstest. Der Grund, weshalb die überhaupt drin ist, ist vermutlich, damit bei Eröffnungsgaps das Risiko nicht unabwägbar steigt. Ansonsten sehe ich beim Maximalen-Verlust keinen Mehrwert, oder? Bzw. mal an dich die Frage: Wie oft hat der "maximale Verlust" dich schon gerettet?

      Es ist aber ohnehin die Frage, wie bei Eröffnungsgaps verfahren werden soll (Möglich ist auch eine Kombination):
      • nur öffnen, wenn das CRV mit den vorgegebenen SL/TP einen Mindestwert erreicht (im aktuellen EA ist dieses minCRV=1, fest im Quelltext)
      • SL (ggf. auch TP) werden an den tatsächlichen Einstiegskurs angepasst
      • Ordervolumen wird angepasst, damit Risiko nicht größer wird
      • ...?
      Slippage und Kurssprünge können natürlich weiterhin dazu führen, dass die Order am Ende ungünstiger eröffnet wird, als gewünscht.

      Der erste Punkt (minCRV) wäre mMn am einfachsten umzusetzen, da es schon fast im Quelltext enthalten ist (die Änderung könnte ich auch beitragen).
      Das Nachziehen des SL ist komplexer und hält möglicherweise weitere Überraschungen bereit.
      Anpassung des Ordervolumens ist denke ich auch umsetzbar, einzige Hürde ist, dass man auf eine gültige Anzahl runden muss (wobei das bei den meisten Aktien-CFDs einfach ganzzahlig bedeutet).
      Ja, ich bin da grad noch am Suchen warum er mir, wenn ich den EA bearbeiten will, einen Code öffnet im Editor der nicht dem EA entspricht...

      Aber jetzt kommt mir wieder was dazwischen bevor ich das Video machen kann:
      heute hat es mir FME von Long auf Short gedreht ohne dass ich das wollte. Leider gibt es keine Log-Funktion aus dem ich auslesen könnte was da schief gegangen ist. Es scheint aber an der Funktion "Maximaler Verlust" zu liegen.

      Kann sich das jemand ansehen @alex999 oder @fx2 vielleicht?
      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!
      Danke für den Quelltext :thumbup:

      Zu deiner Frage: die Zeilen sind im Quellcode definitiv nicht enthalten. Wenn dein EA bei Verwendung aber immer diese Zeile oben links ausspuckt, dann hast du unterschiedliche Versionen:
      - du schaust einen Quellcode an, der aber nicht zum Kompilieren des gerade verwendeten EAs benutzt wurde
      - der EA wurde nach Quellcodeänderungen nicht neu kompiliert
      - oder du bist eventuell im falschen Verzeichnis

      Die Verzeichnisse wo EAs und deren Quelltexte (und Scripts, Indikatore, etc.) sein können ist unterschiedlich, insbesondere zum MT4. Und wenn man mehrere MT Versionen zum Testen installiert hat, muss man schon wissen, das man im richtigen Verzeichnis wurschtelt.
      Bitte sehr. Vielleicht kannst du mir auch bei einem Rätsel helfen: ich habe den Parametercheck von fx2 aus Posting 188803 eingebaut. Das funktioniert auch, ich habe eben wieder versucht ungültige SL-Marken einzugeben, kommt die Meldung "check parameters".

      Im Quellcode finde ich die geänderten Zeilen aber nicht mehr...lach.
      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!
      Hi Alex,

      klar, den Ursprungscode findest du ja auch im Startposting. Der wurde dann ein paar Mal modifiziert. Stelle ihn in Kürze neu ein, wenn ich sicher bin dass ich nichts mehr ändere.
      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!
      Interessant, könnte ich noch zu provozieren versuchen bevor ich das Video mache.
      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:

      War Short in der Commerzbank mit 10 Stück. Schlusskurs 5,712. Habe knapp darüber eine Stop-Buy Order für 20 Stück gelegt. Diese wurde mit dem ersten Tick etwas übersprungen, OHNE aber den Stop-Loss des Shorts auszulösen. Ergebnis: bin nun mit 10 Stück Long

      Ja, so ist es gedacht.

      Eine unangenehme Überraschung könnte noch auftreten, wenn der erste Tick gleich auch noch den SL des Shorts auslöst und gleichzeitig aber gerade noch die neue Order aufgegeben wird. Wenn dann der SL eher ausgeführt wird und danach die neue (diesmal Market) Entry-Order, dann ist man plötzlich mit 20 Stück Long, also doppeltem Risiko (um mal im Commerzbank-Beispiel zu bleiben). Ob das tatsächlich so auftreten kann, oder der MT5 den SL des Shorts und die neue Order strikt nacheinander abhandelt, geht über mein Wissen hinaus. Für mich sieht es wie eine undefinierte Situation aus.
      Ok, hat geklappt heute, es läuft also so ab:

      War Short in der Commerzbank mit 10 Stück. Schlusskurs 5,712. Habe knapp darüber eine Stop-Buy Order für 20 Stück gelegt. Diese wurde mit dem ersten Tick etwas übersprungen, OHNE aber den Stop-Loss des Shorts auszulösen. Ergebnis: bin nun mit 10 Stück Long :thumbup:

      Spiel in die andere Richtung mit Arcelormittal, wo ein Long läuft:
      Stop-Sell Order knapp unter Tagestief gelegt. Wurde nicht aktiviert, aktuell ist der Long unberührt mit seinen Exits in den Aufträgen, und die Stop-Sell Order ist auch wie eingegeben im System.
      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!
      Vielen Dank. Ich versuche die Klärung dieser letzten Frage noch zu provozieren mit ein paar Orders knapp am Schlusskurs.
      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

      Die MagicNumber zu ändern ist schon wichtig. Die wird nicht nur zur Identifizierung des EAs genutzt, sondern auch für die Position, die durch diesen EA eröffnet wurde (auch wenn der EA dann schon wieder weg ist).

      Und dieser MT5-EA prüft vor Absenden der Order einige Dinge (vermutlich um doppelte Orders zu verhinder) und die Order wird nicht platziert, wenn:
      • bereits eine "pending" Order (wo der Entry noch nicht ausgeführt wurde) vorhanden ist. Im Falle des Positionsdrehens ist das aber nicht der Fall, da dann bereits eine Position offen ist,
      • bereits eine Position offen ist, die die gleiche MagicNumber hat (d.h. man braucht gar nicht den MT5-EA ändern, eine andere MagicNumber reicht), oder
      • am gleichen Tag bereits ein Deal stattgefunden hat.
      ​Wenn also der erste Tick gleich den SL der alten Position auslöst und diese zu einem Deal führt, wird danach vom EA keine Order mehr aufgegeben (wobei ich mich darauf nicht verlassen würde, durch kleine Zeitverzögerungen könnte auch beides gleichzeitig passieren). Ansonsten wird die neue Order platziert (wenn alle anderen Bedingungen erfüllt sind).

      Dann bleibt nur noch die Frage der Ausführung, da die neue Order zunächst die alte kompensiert, wie ich im letzten Beitrag geschrieben habe.
      Die Order wurde erfolgreich platziert...ich schätze mal weil nicht der erste Tick gleich sowohl den SL des Shorts als auch den Buy Stop des Longs getriggert hat?
      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!
      Vielen Dank mal wieder. Ich stell das gleich mal auf die Probe indem ich Commerzbank zu drehen versuche von Short auf Long mit neuer Magic Number. Was aber eigentlich egal sein sollte, da der EA von davor ja gelöscht wurde. Egal, I try.
      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:

      Wieder was gelernt:
      wenn eine Position läuft, war Long in Carrefour, und man will mit dem EA eine Shortposition im gleichen Wert eingehen, dann klappt das nicht.

      Das Szenario hatte ich noch nicht. Theoretisch müsste es gehen, wenn man die MagicNumber ändert (es darf immer nur eine MagicNumber bei Positionen und Orders auf einem Chart geben) und die Abfrage im MT5-EA modifiziert, in der auf offene Positionen geprüft wird (sodass die neue Order nur dann nicht abgeschickt wird, wenn bereits eine Position in die gleiche Richtung läuft).

      Eventuell kann es auch sein, dass man die doppelte Positionsgröße eingeben muss, da mit der "normalen" Positionsgröße zunächst nur die bereits offene Position geschlossen wird (im MT5 werden mehrere Positionen immer gleich zusammengefasst). Das aber auch nur, wenn nicht vorher die "alte" Position durch ihre eigenen SL/TP geschlossen wurde.

      Vermutlich lohnt sich aber der Aufwand nicht für ein Szenario, das so selten eintritt.

      Edit: der MT5-EA muss gar nicht modifiziert werden, da bei der Prüfung auf offene Positionen die MagicNumber herangezogen wird, welche leicht zu ändern ist.

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „fx2“ ()