Tradingstrategien

Heute Webinar um 14:15 Uhr: NFP-Trading mit ORB-EA

Das wichtigste zuerst: heute ist Webinar um 14:15 Uhr!

Open Range Breakout EA live in Aktion

BLOG-UPDATE vom 8.7.19 - Hier gleich für Sie vorab die Aufzeichnung des Webinars:

Während des Webinars werden die monatlichen Arbeitsmarktzahlen des US-Arbeitsministeriums veröffentlicht. Sie heißen auf englisch “Non-Farm Payrolls”, kurz NFP, und sorgen regelmäßig für kräftige Kursausschläge im Devisenmarkt und auch vielen anderen Finanzmärkten.

Diese Volatilität werden wir zu nutzen versuchen, indem wir den Expert Advisor mFX-OpenRangeBreakout auf diese Situation anwenden. In den ersten 15 Minuten zeige ich Ihnen, wie man ihn installiert und einstellt, danach schauen wir ihm beim Traden zu.

Das Webinar führen wir in Zusammenarbeit mit unserem Top-Partnerbroker JFD Bank auf deren Webinar-Plattform durch. Für alle Webinarteilnehmer, die auch Echtgeld-Kunden von JFD sind, wird es ein besonderes Angebot zur eigenen Nutzung des MT4-EA’s mFX-OpenRangeBreakout geben. Die Teilnahme lohnt sich also!

Wie profitabel wäre der EA letzten Monat im NFP-Trading gewesen?

Letzte Woche habe ich Ihnen die Backtest-Ergebnisse des EA’s mFX-OpenRangeBreakout für EURUSD vorgestellt. Diese Woche, als endgültige Vorbereitung für das Webinar heute, sind USDJPY sowie der US500-CFD an der Reihe. Wir testen jeweils mit 10.000 EUR Startkapital und 0,1% Risiko pro Deal. Bei jeder Order stehen also 10 EUR auf dem Spiel.

Siehe dazu mein Blog-Artikel Ausbruchshandel zum Non-Farm-Payrolls per Expert Advisor, der die Gedanken hinter den beiden folgenden Range-Ermittlungs-Zeiträumen erläutert.

Methode 1: Messung der Open Range “klassisch” von 8-9 Uhr

Zunächst wenden wir uns USDJPY, der Mutter der Carry-Trades, zu.

Nach Feststellung der Range am Morgen gibt es mehr oder weniger sofort einen BUY-Deal wegen Ausbruch nach oben. Diese Position liegt zwischenzeitlich fast eine ganze Range-Höhe im Gewinn. Der Kurs dreht aber und löste mit Veröffentlichung der NFP-Zahl ein Short-Signal aus, dessen SELL-Deal ins standardmäßig eingestellte Gewinnziel von drei Range-Höhen läuft. Unterm Strich verbleiben für den Tag 14,10 EUR Gewinn in USDJPY zu verzeichnen.

Im CFD-Kontrakt auf den US-Aktienindex S&P 500 sieht es folgendermaßen aus:

Ähnlich wie bei USDJPY ergibt sich früh ein BUY-Signal. Hier war die bullische Stimmung am Vormittag noch ausgeprägter, weshalb der SL des Deals mittels der Break-Even-Funktionalität des EA’s auf Einstandskurs nachgezogen werden kann. Es folgt ein Kurs-Schlenker nach unten, der einen SELL-Deal auslöst, der wenige Minuten später ausgestoppt und in eine BUY-Position umgewandelt wird. Letztere läuft in Windeseile in den Take-Profit, wodurch nach Abzug aller Transaktionskosten ein Tagesgewinn von 13,29 EUR entstanden wäre.

Methode 2: Messung der Range “komplett” von 8-14:30 Uhr

In Methode 2 gedulden wir uns mit der ersten Dealeröffnung des Tages bis zum Zeitpunkt der Datenveröffentlichung der NFP um 14:30 Uhr. Das verursacht regelmäßig höhere Handelsspannen, was kleinere Lotgrößen sowie weiter entferntere Break-Even- und Take-Profit-Marken zur logischen Folge hat.

190607 ORB-EA USDJPY Endzeit_alsString=1329.png

Im USDJPY-Chart des visuellen Backtests sehen wir, dass nur ein einziger Deal eröffnet wird, der quasi zu jedem Zeitpunkt im Gewinn liegt. Sein Gewinnziel wird zwar nicht erreicht, dafür aber die Break-Even-Marke (nach einer Range-Höhe) und die Gewinnschwelle für das Aktivieren des Trailing-Stops. Letztere ist auf zwei Range-Höhen voreingestellt, kann aber im EA verändert werden.

Das kleine orangene Strichchen im Chart auf Höhe der 13:49-Uhr-Kerze signalisiert, dass der Stop-Loss des SELL-Geschäfts auf dieses Level nachgezogen war. Ein Gewinn ist also schon gesichert. Jedoch schließt der EA bei Erreichen der auf 19 Uhr (Chart-Zeitzone) eingestellte Handelsschluss-Uhrzeit den Deal, was dem Expert Advisor einen Deal- und Tagesgewinn für USDJPY von 9,65 EUR nach Begleichung aller Transaktionskosten beschert hätte.

Wenden wir uns dem US500-CFD zu. Wie sieht bei diesem der Backtest-Chart des EA’s aus, wenn wir den Handel mit Veröffentlichung der NFP-Zahlen starten?

Hier entsteht zunächst ein Fehlausbruch nach unten, bevor der zweite Deal des Tages, eine BUY-Position, die vollen drei Range-Höhen als so gut wie optimalen Gewinn ergattert. Am kleinen orangenen Strichchen im Chart sehen wir, dass Teilgewinne durch SL-Nachzug (Break-Even-Funktionalität und Trailing Stop) schon gesichert waren. Am Tagesende bleibt uns ein netto Gewinn von 16,24 EUR.

Wir sehen bei drei der vier Tests spürbar mehr Tagesgewinn als wir pro Deal riskiert hätten. Beim zweiten Test (USDJPY mit Range von 8 Uhr bis 14:30 Uhr) erhalten wir einen Tagesgewinn von knapp unterhalb dem pro-Deal-Risiko. Dieses Chance-Risiko-Verhältnis gefällt mir grundsätzlich gut.

Ist der EA also grundsätzlich profitabel?

Die Betrachtung von nur einem einzigen Handelstag ist natürlich zu kurz, um aussagekräftige Test-Ergebnisse zu erhalten. Daher werden wir in den kommenden Monaten den EA weiter live während der NFP-Veröffentlichung testen. Nur so erhalten wir Einblick in die Profitabilität der vielen möglichen Einstellungskombinatinen des EA’s.

Ob sich die Geschichte kurzfristig wiederholt und die Marktreaktionen auf die heutigen NFP-Zahlen unseren EA mFX-OpenRangeBreakout ins strahlende Sonnenlicht oder stattdessen aber trübes Regenwetter bescheren, werden wir heute nachmittag sehen.

Eine Webinaraufzeichnung wird es übrigens geben, sofern die Technik wie gewohnt mitspielt. Melden Sie sich also auf alle Fälle oben im Artikel an, egal ob Sie heute direkt live teilnehmen können oder nicht.

Bis 14:15 Uhr live im Webinar
Cristof Ensslin von mindful FX, Ihr EA-Programmierer





Ausbruchshandel zum Non-Farm-Payrolls per Expert Advisor

Wenn wichtige Neuigkeiten veröffentlicht werden kommen oftmals die Märkte in Bewegung. Volatilität ist gefragt für Trader. Der Haken daran ist, dass man als manuell handelnder Trader oft zu spät dran ist, wenn die Post abgeht - selbst wenn man mit wachen Augen und hellem Geist vor Chartsoftware und Handelssystem sitzt. Hinzu kommen psychologische Herausforderungen, sich an eine im vorhinein wohl überlegte Strategie stringent zu halten. Alles nicht ganz einfach.

Eine schnelle und konsistente Lösung dieser Probleme ist der Handel per Trading Robot, also einer Software, die einen programmierten Handelsalgorithmus automatisiert und gefühlsfrei in Sekundenbruchteilen umsetzt - schneller und konsistenter als das ein Mensch jemals manuell schaffen könnte.

Wenn’s um die Trading-Plattform MetaTrader 4 oder 5 geht, heißen solche Trading Robots Expert Advisors oder, kurz, EA. Wer im News-Trading auf Ausbrüche nach oben oder unten setzen möchte, kann sich per EA bestens darauf vorbereiten - ohne Gewinngarantie versteht sich. Denn ein EA ist ein Werkzeug, nicht mehr und nicht weniger.

Ein EA ist ein Werkzeug, der einen guten Trader noch profitabler, einen schlechten dagegen nur um Verluste reicher macht.

Ein Beispiel für einen solches Hilfsmittel ist unser EA mFX-OpenRangeBreakout, den wir über die letzten Wochen und Monate im Rahmen der Online Workshop-Serie: DELUXE-Version des Open Range Breakout EA programmieren entwickelt und getestet haben. Wir können ihn wirkungsvoll dafür verwenden, um die schnellen Kursbewegungen, die regelmäßig nach Veröffentlichungen von Wirtschaftsdaten, für Gewinn bringende Trades zu nutzen.

Tests des Open-Range-Breakout EA im News-Trading: der monatliche US-Arbeitsmarktbericht “Non-Farm Payrolls”

Ich habe den EA mFX-OpenRangeBreakout im Backtest dazu verwendet, auf folgenden Chartsymbolen die Kursausbrüche zu analysieren, die auf die Veröffentlichung des letzten monatlichen US-Arbeitsmarktberichts “Non-Farm Payrolls” (NFP) am 7.6.2019 folgten:

  1. EURUSD, das meistgehandelte Währungspaar der Welt

  2. USDJPY, die Mutter des Carry-Trades

  3. .US500Cash, ein CFD auf den S&P 500, der für Finanzprofis wichtigste Aktienindex der Welt.

War es möglich, systematische Gewinne zu erzielen?

Beginnen wir mit EURUSD

Die Handelsstrategie “Open-Range-Breakout” (ORB) funktioniert so, dass zwischen zwei festzulegenden Uhrzeiten die Handelsspanne gemessen wird und dann im Laufe des Handelstages Ausbrüche aus dieser Range getradet werden. Wir gestalten den NFP-Handel nun so, dass wir den EA mFX-OpenRangeBreakout in zwei unterschiedlichen Range-Zeiträumen einstellen. Wir vergleichen also zwei unterschiedliche Methoden.

Methode 1: Messung der Range von 8 bis 9 Uhr

Die eigentliche Idee hinter der ORB-Strategie ist, dass man die morgendliche Tageseröffnungsrange misst - daher der Namensbestandteil “Open”. Der relevante Eröffnungszeitraum für die mitteleuropäischen Märkte gilt gemeinhin als die Stunde vor Eröffnung der meisten Aktienbörsen um 9 Uhr. Die Futures auf die wichtigsten Leit-Indizes wie z.B. der Frankfurter DAX 30 oder der Pariser CAC 40 sind in dieser Stunde schon handelbar, was erste Tendenzen für Richtung und Volatilität des Tages vermuten lässt.

In dieser ersten Methode untersuchen wir also, ob ein Tag, an dem ein Non-Farm-Payroll Datum veröffentlicht wird, besonders vorteilhaft volatil für die Open Range Breakout-Strategie ist, nicht nur die Zeit nach der Nachricht selbst. Denn diese wird regelmäßig erst um 14:30 Uhr MEZ der Nachrichten-hungrigen Welt präsentiert.

Wir nutzen also die Standard-Einstellungen des EA’s mFX-OpenRangeBreakout, indem wir als Uhrzeit für den Rangebeginn 07:00 Uhr eingeben. Der MT4-Tradeserver unseres Brokers JFD Bank befindet sich auf Londoner Zeitzone, weshalb wir für 8 Uhr in Deutschland/Österreich/Schweiz 7 Uhr in England und somit im EA veranschlagen. Für das Rangeende geben wir 07:59 Uhr ein, weil die M1-Kerze mit dem Zeitstempel “07:59” im MetaTrader um 7:59:00 beginnt und um 7:59:59 endet. Ab Punkt 8 Uhr können somit Ausbrüche gehandelt werden.

Für den letzten NFP-Freitag am 7. Juni 2019 sieht dies im visuellen Modus des Strategietesters, einem Backtest also, folgendermaßen aus:

ORB-EA EURUSD Standardeinstellung.png

Wenige Minuten nach 8 Uhr (in Chart- bzw. Tradeserverzeitzone gesprochen) eröffnet der EA einen BUY-Deal, der mit Eröffnung des SELL-Deals um ca. 11 Uhr im Verlust geschlossen wird. Erst Trade Nr. 3 des Tages, der BUY-Deal kurz nach 12 Uhr, welcher auch den SELL-Deal im Verlust schließt, bringt den erhofften Gewinn, da der standardmäßig eingestellte Take-Profit-Abstand von 3 Range-Höhen erreicht wird.

Bei 10.000 EUR anfänglichem Kontostand und 0,1% Risiko pro Deal (es stehen also 10 EUR pro Deal auf dem Spiel), verbleibt ein Netto-Gewinn nach allen Transaktionskosten von 4,03 EUR oder 0,04%.

Methode 2: Messung der Range von 8 bis 14:30 Uhr

Wir gehen analog der Methode 1 vor, mit dem einzigen Unterschied, dass die Range nun von 8 Uhr bis 14:30 Uhr, dem Zeitpunkt der NFP-Veröffentlichung, gemessen wird und dann erst getradet werden soll.

Im EA mFX-OpenRangeBreakout geben wir als Range-Beginn 07:00 und als Range-Endzeit 13:29 ein, um der Zeitzone unseres Testbrokers sowie der Funktionsweise des EA’s (für beides siehe oben) Rechnung zu tragen. Wir starten damit den Stragietester im visuellen Modus und erhalten folgendes Tagesergebnis:

Nur ein einziger Deal wird eröffnet, dessen Lotsize wieder auf Basis von 10.000 EUR Kontokapital und 0,1% (= 10 EUR) Risiko pro Deal berechnet wird. Dieser BUY-Deal bleibt bis zum standardmäßig eingestellten Handelsschluss um 19 Uhr Chartzeit geöffnet, obwohl sein SL durch die Trailing-Stop-Funktionalität des EA’s schön in den Gewinn gezogen wurde. Um 19 Uhr schließt der EA den Deal mit 22,70 EUR Profit nach Abzug aller Transaktionskosten. Mehr als doppelt soviel Gewinn wie Risiko, das gefällt mir gut.

Weitere Tests und LIVE-Trading Webinar

Nächste Woche folgen im Freitag-morgendlichen Blog die Tests für US500 sowie USDJPY.

Danach, für 14:15 Uhr MESZ, lade ich Sie herzlich für das LIVE-Webinar Open Range Breakout EA live in Aktion ein. Wir werden den EA mFX-OpenRangeBreakout in Echtzeit auf einem Demokonto testen, während um 14:30 Uhr die Non-Farm-Payrolls veröffentlicht werden.

Im Webinar gibt’s, speziell für Echtgeld-Kunden (Neu- und Bestandskunden!) unseres Top-Partnerbrokers JFD Bank, ein Sonderangebot für den EA. Vielleicht gibt’s ihn sogar komplett kostenfrei? Wer weiß… Daher am besten gleich anmelden zum Webinar und den Termin fest in Ihren Kalender eintragen:

Webinar-Anmeldung: Open Range Breakout EA live in Aktion

Ich melde mich zum kostenlosen Webinar am 5. Juli 2019 um 14:15 Uhr an. Bitte informieren Sie mich per Email über Einwahl-Link und andere Webinar-Infos (wie z.B. Erinnerungsmail eine Stunde vor Beginn oder Zugang zur Webinar-Aufzeichnung):

    Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

    Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

    Powered By ConvertKit

    Bis nächsten Freitag wünscht Ihnen beste Trading-Erfolge
    Cristof Ensslin von mindful FX, Ihr EA-Programmierer

    Webinar-Ankündigung: Open Range Breakout EA live in Aktion

    Es ist endlich soweit. Der Expert Advisor (EA) mFX-OpenRangeBreakoutDELUXE ist in absehbarer Zeit fertig getestet und kann live gehen. Damit Sie ihn selbst sehen können, lade ich Sie zu einem kostenlosen Webinar ein:

    Open Range Breakout EA live in Aktion

    Range-Ausbruchs-Trading benötigt Markt-Volatilität, um profitabel sein zu können.

    Am Freitag, 5. Juli 2019 um 14:15 Uhr, zeige ich Ihnen genau, was der EA für Sie automatisch umsetzen kann. Zeit und Termin passen gut, denn um 14:30 Uhr wird der monatliche US-Arbeitsmarktbericht “Non-Farm Payrolls” veröffentlicht. Dieser bringt regelmäßig Bewegung in den Markt - eine ideale Voraussetzung, um im Ausbruchshandel erfolgreich zu sein. Denn ohne Volatilität können wir Trader dem Markt keinen Mehrwert bieten und somit auch keine Gewinne erzielen.

    Melden Sie sich hier und jetzt fürs Webinar an, um auf jeden Fall dabei zu sein:

    Webinar-Anmeldung: Open Range Breakout EA live in Aktion

    Ich melde mich zum kostenlosen Webinar am 5. Juli 2019 um 14:15 Uhr an. Bitte informieren Sie mich per Email über Einwahl-Link und andere Webinar-Infos (wie z.B. Erinnerungsmail eine Stunde vor Beginn oder Zugang zur Webinar-Aufzeichnung):

      Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

      Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

      Powered By ConvertKit

      Eine Webinar-Aufzeichnung wird es für alle Angemeldeten geben, falls Sie wider Erwartens den Termin selbst nicht wahrnehmen können.

      Während des Webinars wird es ein unschlagbares Sonderangebot für den neuen EA mFX-OpenRangeBreakoutDELUXE geben. Wie letzte Woche im Blog Letzte Feinschliffe am Open Range Breakout EA (inkl. Notiz zum Gewinnpotenzial) schon angekündigt, wird dieses Angebot speziell an Neu- und Bestandskunden unseres Top-Partnerbrokers JFD Bank gerichtet sein, deren Konto unserer Partnergruppe zugeschlüsselt ist. Mehr dazu im Webinar. Falls Sie noch kein bei JFD haben, holen Sie das am besten hier über unseren Partnerlink gleich nach.

      Ich freue mich auf Ihre Webinar-Anmeldung.

      Herzliche Grüße und beste Trading-Erfolge
      Cristof Ensslin von mindful FX, Ihr EA-Programmierer

      Letzte Feinschliffe am Open Range Breakout EA (inkl. Notiz zum Gewinnpotenzial)

      Letzte Woche berichtete ich im Blog-Artikel ORB EA Dauertest läuft seit Sonntag nacht berichtete, dass nach der Expert-Advisor-Entwicklungs-Phase nun der Open Range Breakout EA mFX-OpenRangeBreakoutDELUXE im Livebetrieb auf einem Demokonto auf Mark und Bein getestet wird. Das liefert uns wertvolle Informationen zur stabilen Funktionalität sowie erste Erkenntnisse zwecks Profitabilität.

      Zum Gewinnpotenzial des EA’s aber weiter unten noch mehr.

      Zunächst konnten wir in dieser Woche noch ein paar kleinere, nur in besonderen Situationen auftretenden Programmfehler orten und beheben. Es ist auch nach nunmehr 7 Jahren Programmiererfahrung erstaunlich, dass immer wieder neue Szenarien geschehen, die bedacht sein müssen, um einem komplizierteren Expert Advisor (EA) wie dem mFX-OpenRangeBreakoutDELUXE Robot vollständige Zuverlässigkeit zu verleihen.

      Hier in diesem Beispiel hatte die Volumens-Verdoppelung nach Verlustdeal nicht funktioniert, weil die Eröffnung des zweiten Deals (Zeile mit weißem Hintergrund) schon eine Sekunde vor Schließung des ersten Deals (Zeile mit blauem Hintergrund) durch SL geschah.

      Verbesserungen, die wir am Code vornehmen konnten, bezogen sich auf:

      • stabilere Funktionalität der Volumens-Erhöhung nach einem SL-Deal

      • das Sicherstellen, dass immer nur ein Deal gleichzeitig eröffnet ist

      • korrekte Rundung der Lotsizes nach der Volumens-Erhöhung, damit die Folge-Deals immer ausgeführt werden können.

      Ab nächstem Freitag kann dieser EA auch Ihre Trading-Arbeit erleichtern

      Wenn alles nach Plan verläuft, erhalten Sie als Blog-Leser und Empfänger meiner Freitagsmail nächste Woche eine Einladung zur Premiere des EA’s mFX-OpenRangeBreakoutDELUXE - ein LIVE-Webinar-Event mit Verkaufsstart und speziellem Angebot für Kunden unseres Partnerbrokers JFD Bank. Am besten hier schon mal ein Konto eröffnen und entsprechend Ihrer Gesamtanlagestrategie kapitalisieren.

      Noch ohne dass ich mir irgendwelche tieferen Gedanken zu den Einstellung des neuen Trading Robots gemacht habe, bin ich überrascht, wie meine eher zufällig gewählten Testeinstellungen Stand jetzt (Donnerstag, 13.6. um 13:30 Uhr) das Demokontoguthaben schon vermehrt haben. Test-Symbole sind:

      1. EURUSD

      2. XAUUSD

      3. USDJPY

      4. AAPL

      5. .US30Cash

      6. .DE30Cash

      7. AUDNZD

      8. AUDUSD

      Natürlich kann dies reiner Zufall sein. Dass in der ORB-Trading-Systematik und somit im EA mFX-OpenRangeBreakoutDELUXE aber ein großes Gewinnpotenzial steckt, dafür sind erste gute Hinweise deutlich zu erkennen.

      Bleiben Sie daher informiert und lassen sich die Einladung zum bald anstehenden, kostenlosen Webinar zur Premiere des EA’s zukommen. Dazu melden Sie sich einfach gleich hier zu meinem Freitagsmail-Verteiler an, dann werden Sie direkt informiert nächste Woche:

      Herzliche Grüße und beste Trading-Erfolge
      Cristof Ensslin von mindful FX, Ihr EA-Programmierer

      ORB EA Dauertest läuft seit Sonntag nacht

      Letzte Woche vollendeten wir in der online Workshop-Serie: DELUXE-Version des Open Range Breakout EA programmieren die DELUXE-Version eines Open Range Breakout Expert Advisors (EA) für MetaTrader 4 (MT4). Dieser Trading Robot automatisiert die weitläufig bekannte und unter Tradern sehr beliebte Open-Ragne-Breakout-Strategie, in der zwischen zwei einstellbaren Uhrzeiten die Trading-Range gemessen wird, deren Ausbrüche in der Folge gehandelt werden.

      Dies sieht mit einer Range-Erweiterung vom 0,1-fachen der gemessenen Handelsspanne z.B. folgendermaßen aus:

      Nach der Programmierung und ersten Funktionalitätstests im eingebauten Strategietester des MT4 müssen wir uns in einem Dauertest in einem Demokonto davon überzeugen, dass der EA auch dauerhaft wirklich das tut, was er soll. Während der Fokus in dieser Phase der EA-Erstellung noch immer auf der Sicherstellung der Funktionalität liegt, erhalten wir nebenbei schon einen ersten Eindruck, welche Einstellungen eventuell zu profitablen Trading-Ergebnissen führen könnten.

      Wir testen den neuen EA mFX-OpenRangeBreakout auf folgenden Chartsymbolen eines MT4-Demokontos bei Top-Broker JFD Bank:

      • EURUSD, also Euro-Kurs je EUR in US-Dollar

      • XAUUSD, also Gold-Kurs je Feinunze in US-Dollar

      • .DE30Cash, also einen CFD auf den Spot-Wert des Deutschen Aktienindex in Euro

      • USDJPY, also US-Dollar-Kurs je USD in Japanischen Yen

      • AAPL, also einen CFD auf den Cash-Kurs der Apple Aktie in USD

      • .US30Cash, also einen CFD auf den Spot-Wert des Dow Jones Industrial Index in USD

      Durch den Dauertest konnten wir schon ein paar kleinere “Bugs”, also Code-Probleme oder -Fehler, finden und ausmerzen:

      1. Korrekte Platzierung der Range-Box und -Linien bei Übernacht-Trading (Box heute, Close-All morgen).

      2. Korrektur im Festhalten der letzten Ausbruchsrichtung bei eingeschaltetem MA-Filter und nach Verhinderung eines Deals durch diesen.

      3. Verbesserung in der Absturzsicherung durch Globale Variablen bei Nutzung des EA’s im Strategietester.

      4. Korrekte Anpassung der Anfangs-, End- und Schlusszeit bei Übernacht-Trading.

      5. Anpassung des Wochentagsfilters, so dass sich eventuell eingestellte Dealblockaden immer auf den Wochentag beziehen, in der sich die Box befindet. Dies funktionierte schon korrekt im regulären Handeln, nun funktioniert es auch im Übernacht-Trading.

      6. Konsistenzverbesserung durch Anpassung aller Range-bezogener Funktionalitäten auf die per Eingabevariable gegebenenfalls erweiterte Range.

      Durch dieses Finetuning funktioniert der EA nun stabil und zuverlässig - wie gewünscht!

      Bald Verkaufsstart

      Nach noch ein paar weiteren Tagen des Testens wird der EA mFX-OpenRangeBreakout ab demnächst käuflich erwerbbar sein. Teilnehmer der online-Workshop-Serie werden diese finale Version nach Abschluss der Tests inklusive Code und Video-Tutorial der Code-Änderungen als Bonus im Workshop-Teilnahme-Betrag inklusive erhalten.

      Für alle anderen: Erinnerung und besondere Sonderkonditionen gewünscht? Dann tragen Sie sich in unseren Freitagsmail-Verteiler ein:

      Bis nächsten Freitag wünsche ich beste Programmier- und Trading-Erfolge
      Cristof Ensslin von mindful FX, Ihr EA-Programmierer

      Alle Funktionalitäten des Open Range Breakout DELUXE EA's jetzt programmiert

      Alle Funktionalitäten des Open Range Breakout DELUXE EA's sind jetzt fertig programmiert. Durch die “vierte von drei” Programmier-Sessions, eine über zwei-stündige Mammut-Sitzung gestern, in der online Workshop Serie DELUXE-Version des Open Range Breakout EA programmieren sind nun sämtliche garantierten Features umgesetzt. Nun steht ein ausführlicher Dauertest auf MT4-Demo-Konten der JFD Bank aus, durch den all diese Funktionen auf Mark und Bein geprüft werden.

      Nach erfolgreichem Bestehen dieser Tests und eventuellem Fine-Tuning des Codes wird es den fertigen ORB EA käuflich zu erwerben geben! Bleiben Sie daher informiert, um im Juni zu den ersten zu gehören, die darüber per Email informiert werden:

      Open Range Breakout EA Infos per Email erhalten

      Bitte informieren Sie mich sofort, sobald es Neues zum ORB-EA gibt, per Email an folgende Email-Adresse:

        Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

        Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

        Powered By ConvertKit

        In der gestrigen Bonus-Sessions des insgesamt 8-teiligen Programmier-Workshops konnten die Teilnehmer folgende Lerneffekte mitnehmen:

        1. Verwendung von booleschen Eingabe-Variablen, um im EA bestimmte Features ein- und ausschaltbar zu machen.

        2. Korrektur der Stop-Loss- und Take-Profit-Kurse der Short-Positionen um den Spread, da bei Sell-Positionen der Spread beim Closing bezahlt wird, während man bei Buy-Deals die Geld-Brief-Spanne schon bei deren Eröffnung erledigt.

        3. Ermöglichen, dass die Range-Box abends ermittelt wird, das Handelsende aber erst am nächsten Morgen stattfindet.

        4. Optionale Deal-Eröffnung in Gegenrichtung direkt nach einem SL.

        5. Automatisch in der Dealhistorie erkennen, wann eine Order per SL geschlossen wurde.

        6. Einbeziehung des einstellbaren Lotsize-Erhöhungs-Faktors in die Volumensberechnung nach einem Verlustdeal.

        7. Verwendung von Globalen Variablen, um die Fortsetzung des EA’s nach einem gewünschten oder unerwünschten MT4-Neustart so nahtlos wie möglich zu gestalten.

        8. Grenzen des Strategietesters.

        9. Umgang mit Fehler- und Warnmeldungen im Kompilierbericht.

        10. Wie wichtig es ist, im Programmierplan eindeutige und unverwechselbare Beschreibungen aufzuführen.

        Ich berichte nächste Woche voraussichtlich über die ersten Dauertest-Ergebnisse. Bis dahin: dran bleiben!

        Herzliche Grüße und beste Trading-Erfolge
        Cristof Ensslin von mindful FX, Ihr EA-Programmierer

        Open-Range-Breakout-DELUXE-EA jetzt mit MA-Filter und verbesserter Grafik

        Nachdem wir letzte Woche im online-Workshop Open-Range-Breakout-DELUXE-EA-programmieren die Lotsize-Erhöhung nach Verlustdeal, das Einstellen des Handels für den Rest des Tages nach Take-Profit-Erreichung, einen Wochentagsfilter sowie einen manuellen Long-/Short-Filter eingebaut haben, konnten die Teilnehmer und ich am Dienstag dieser Woche folgende DELUXE-Funktionalitäten in den ORB-EA einfügen:

        • Einstiegs-Richtungs-Filter je nach Lage des Kurses zu einem vollständig einstellbaren Gleitenden Durchschnitt (Moving Average)

        • Range-Level-Linien für den Rest der Handelszeit des Tages in den Chart einzeichnen, eine klare optische Hilfe für den EA-Nutzer, den Trader also

        • Fehlausbruchs-Handel: Trade in die Box hinein statt aus der Box heraus.

        Durch den Einbau dieser Funktionalitäten konnten wir einige Lerneffekte erreichen:

        • mit welcher Systematik und welchem MQL4-Syntax man im MT4 eingebaute Indikatoren abruft

        • Erstellung von Dropdown-Menüs, um Indikatoren im EA genau wie im Chart einstellen zu können

        • Vertiefung der Nutzung von Chartobjekten: Verwendung der Funktionen ObjectCreate(), ObjectSetInteger(), ObjectSetDouble() und ObjectGetDouble()

        • dass Copy-und-Paste im Programmieren nützlich ist, aber mit sehr viel Sorgfalt verwendet werden muss.

        Der Expert Advisor (EA) für die Open Range Breakout Strategie ist nun schon sehr gut funktionabel, verlässlich und flexibel einsetzbar. Um meiner Garantie nachzukommen, hängen wir der online-Workshop-Serie nächste Woche noch eine Bonus-Session mit an - die “vierte von drei” Programmier-Sitzungen.

        Darin folgen noch mehrere wichtige Programm-Elemente:

        1. Übernacht-Handel (garantiert)

        2. Gegentrade bei SL statt auf Gegensignal zu warten (garantiert)

        3. Dafür sorgen, dass der EA nach einem MT4-Neustart so nahtlos wie möglich den Tradingtag fortsetzen kann, egal ob wegen Stromausfall, Systemabsturz oder einem absichtlichen Programmreboot (garantiert)

        4. Einstellbarkeit des initialen SL-Abstands (wenn noch Zeit bleibt)

        5. Verwendung eines Custom-Indikator (z.B. Heikin Ashi) als Richtungsfilter (wenn noch Zeit bleibt).

        Fröhliches Programmieren und allerbeste Tradingerfolge
        Cristof Ensslin von mindful FX, Ihr EA-Programmierer

        Open Range Breakout EA Infos per Email erhalten

        Bitte informieren Sie mich sofort, sobald es Neues zum ORB-EA gibt, per Email an folgende Email-Adresse:

          Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

          Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

          Powered By ConvertKit

          Lotsize-Erhöhung nach Verlust und weiteres steht nun im ORB DELUXE EA

          Dienstag Abend konnten wir im derzeit laufenden online LIVE Programmier-Workshop den Open Range Breakout (ORB) DELUXE EA in großen Schritten weiter entwickeln. Was bisher schon programmiert wurde und funktionabel ist, sehen Sie im letztwöchigen Blog Open Range Breakout DELUXE Version nimmt im ersten Workshop-Teil Form an.

          Die Workshop-Teilnehmer und ich arbeiteten zunächst an der Lotsize-Erhöhung nach einem Verlustdeal, was wir letzte Woche nur teilweise fertig bekommen hatten. Diese Funktionalität steht nun auf stabilen Beinen. Zusammen mit ihr haben wir in den Handels-Robot außerdem eingefügt, dass er den Handel für den Rest des Tages einstellt, sobald ein Deal seinen Take-Profit erreicht hat. Dies nutzt ähnliche Code-Vorgänge, nämlich Schleifen durch die Kontohistorie im MT4.

          Weitere Funktionalitäten und Lerneffekte, die wir durch die dieswöchige Erweiterungs-Session des ORB Expert Advisors im Workshop vermitteln konnten:

          • wie man aus dem Dealpool der Kontohistorie die aktuelle Verlustserie ermittelt

          • dass wir den Dealpool vorwärts und rückwärts durchschleifen können, mit Beispielen, wann dies jeweils vorteilhaft ist

          • herauszufinden, ob ein Deal nicht nur mit Gewinn, sondern auch per TP geschlossen wurde

          • die StringFind()-Funktion kennenlernen

          • die Fehlermeldung 4111 kennenlernen und wie wir diese umgehen können

          • dass wir die Logik zur Erhöhung der Ausbruchszählungs- und Belegung der Ausbruchsrichtungs-Variable anpassen müssen, um “nur Long” oder “nur Short” als Deal-Modus zulassen zu können

          • dass wir eine true/false-Variable in einer If-Bedingung sowohl mit “== true” als auch ohne verwenden und damit Platz sparen und Programmiergeschwindigkeit gewinnen können

          • dass wir eine true/false-Variable in einer If-Bedingung sowohl mit “== false” als auch ohne und stattdessen mit einem führenden “!” verwenden und damit Platz sparen und Programmiergeschwindigkeit gewinnen können

          • den aktuellen Wochentag abzurufen und richtig zu deuten

          • daraus einen Wochentags-Filter zu programmieren

          • welche Überlegungen durchzudenken sind, um “return true;” in der OnTick()-Funktion so früh wie möglich und so spät wie nötig im Code zu platzieren.

          Somit kommen wir dem Endspurt der Programmierung des Open Range Breakout DELUXE EA’s immer näher. Nächste Woche steht noch auf dem Plan:

          • Einstiegsfilter nach einem Moving Average Indikator

          • Farbige Range-Linien zwischen Box und Schlusszeit

          • Trade in die Box hinein statt aus der Box heraus

          • Übernacht-Trade (Box heute, Close-All morgen)

          • Gegentrade bei SL (statt auf Gegensignal zu warten)

          • den EA bestmöglich auf einen Stromausfall bzw. MT4-Neustart während der Handelssession vorzubereiten.

          Ob wir dies alles in der dritten der drei geplanten Sessions schaffen, wird sich zeigen. Falls nötig, hängen wir noch eine Bonus-Session in der Folgewoche dran, um alles wie per Garantie zugesagt fertig zu bekommen.

          Bis bald, schöne Trading- und Programmier-Erfolge
          Cristof Ensslin von mindful FX, Ihr EA-Programmierer

          Open Range Breakout EA Infos per Email erhalten

          Bitte informieren Sie mich sofort, sobald es Neues zum ORB-EA gibt, per Email an folgende Email-Adresse:

            Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

            Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

            Powered By ConvertKit

            Open Range Breakout DELUXE Version nimmt im ersten Workshop-Teil Form an

            Nachdem wir aus dem Basis-Workshop Open Range Breakout EA fertig programmieren, der letzte Woche zu Ende ging, eine schlagkräftige Basis-Version des Expert Advisors (EA) für MetaTrader 4 (MT4) erstellt haben, die

            1. eine in Uhrzeiten eingebbare Range erkennt und Ausbrüche daraus handelt

            2. effektives Risikomanagement durch Beschränkung der Anzahl der zu handelnden Ausbrüche pro Tag und automatische Errechnung der Lotsize aus einzusetzendem Kapital durchführt und

            3. per Range-abhängigem Dealmanagement wie z.B. Stop-Loss, Take-Profit, Break-Even-Funktionalität und Trailing-Stop die eröffneten Orders steuert,

            machen wir (14 Teilnehmer und ich) uns im diesen Dienstag gestarteten Aufbau-Workshop daran, eine mit noch mehr nützlichen Funktionalitäten ausgestattete DELUXE-Version dieses ORB-EA’s zu programmieren. In der ersten der drei Sessions lernten wir viel Brauchbares, wie z.B.

            1. Dealeröffnungen nur dann zuzulassen, wenn Rangegröße innerhalb vorgebbarer Größenordnung in Punkten liegt.

            2. was ein Punkt ist (vs. Pip oder Indexpunkt etc.) in MT4.

            3. wie wir einen eingebauten Indikator abrufen, hier: Average True Range (ATR).

            4. wie wir in den Eingabevariablen ein Dropdown-Menü für eine Timeframe-Abfrage erstellen.

            5. wie wir die Rangegrößen-Zulassung anhand eines Vielfachen des ATR’s messen und somit auf Volatilität und Preisniveau automatisch anzupassen.

            6. wie wir aus Indikatoren generierte Variablenwerte mittels der Comment()-Funktion überprüfen können.

            7. wie wir Funktionalitäten direkt nach deren Programmierung im Strategietester überprüfen.

            8. dass alle, wirklich alle mit && verknüpften Signal-Bedingungen erfüllt sein müssen und somit keine Hierarchie besteht.

            9. die Lotsize zu erhöhen nach einem Verlustdeal (weil uns die Zeit ausging trotz Überstunden, müssen wir hieran noch weiter feilen, aber ansatzweise steht diese Funktionalität schon).

            10. die Verwendung der Exponential-Rechnung durch Funktion MathPow().

            11. das Ausschalten von Funktionalitäten (hier: Lotsizeerhöhung nach Verlustdeal) durch Nutzung von vorhandenen Eingabevariablen (hier: Eingabevariable auf 0 setzen) statt durch Einführung zusätzlicher true/false Variablen.

            12. wie wir in den Eingabevariablen visuelle Ordnung herstellen können.

            13. Fehlermeldungen zu deuten durch Link: https://docs.mql4.com/constants/errorswarnings/errorcodes

            Da ist hoffentlich eine ganze Menge an Nützlichem hängen geblieben. Nächste Woche geht’s weiter im Text!

            Open Range Breakout EA Infos per Email erhalten

            Bitte informieren Sie mich sofort, sobald es Neues zum ORB-EA gibt, per Email an folgende Email-Adresse:

              Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

              Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

              Powered By ConvertKit

              Bis dahin alles Gute und beste Programmier- und Tradingerfolge
              Cristof Ensslin von mindful FX, Ihr EA-Programmierer

              Basis-Version von EA ist fertig: Open Range Breakout für MT4

              Diese Woche Dienstag fand die letzte der drei online Programmier-Sessions im Rahmen der Online Workshop-Serie: Open Range Breakout EA programmieren statt. Der ORB EA ist nun in einer gut ausgestattteten Basis-Version voll funktionsfähig und arbeitstauglich.

              In Summe kann dieser Expert Advisor für MT4 Ihnen die manuelle Umsetzung der folgenden Strategie voll-automatisch abnehmen:

              • Handelsspanne des Chart-Symbols zwischen zwei eingebbaren Uhrzeiten erkennen und ins Chart als Box einzeichnen, z.B. die Tages-Eröffnungs-Range (= Open Range) zwischen 6 und 8 Uhr.

              • Am Rest des gleichen Tages werden Kursausbrüche (= Breakouts) aus diesem Rechteck in Ausbruchsrichtung automatisch getradet.

              • Stop-Loss wird automatisch einen Punkt außerhalb der gegenüber liegenden Rangebegrenzung gesetzt.

              • Die Lotsize wird automatisch berechnet, indem ein eingebbares Risiko pro Deal (in Prozent des Kontokapitals) mit dem Stop-Loss-Abstand als Kursrisiko und dem Tickwert des Symbols bei Ihrem Broker ins Verhältnis gesetzt wird.

              • Automatische Rundung der Lotsize auf die richtige Nachkommastelle, je nach Lotstep des Chartsymbols, egal bei welchem Broker.

              • Zusammen mit der eingebbaren maximalen Trade-Anzahl pro Tag können Sie damit perfekt Ihr Gesamtrisiko steuern.

              • Auf der Gewinnseite können Sie den Take-Profit-Abstand als Vielfaches der Range angeben, also im Endeffekt ein Vielfaches des eingesetzten Kapitals als Zielgewinn vorgeben.

              • Zur Gewinnsicherung dienen eine Break-Even-Funktionalität und ein Trailing-Stop, beide sinnvollerweise Range-abhängig steuerbar.

              • Am Tagesende schließt der EA zudem automatisch zu einer durch Sie einstellbaren Uhrzeit die eventuell noch offenen Deals (Achtung: Handelszeiten Ihres Brokers sind zu beachten, insbesondere bei verkürzten Handelstagen wie regelmäßig vor Wochenenden und Feiertagen der Fall).

              Die Teilnehmer des Workshops erfreuen sich nun schon seit Dienstag am Einsatz des EA's - wohl wissend, dass er weder eine Eier-legende Wollmilchsau noch eine Gelddruckmaschine ist, sondern ein Werkzeug, mit dem ein erfahrener Trader schneller, gezielter und konsequenter auf Wunsch und je nach Marktphase selektiv die beliebte Open-Range-Breakout-Strategie (ORB) automatisiert umsetzen kann.

              Weitere Funktionen sind gewünscht: DELUXE Version

              Dank der aktiven Mitgestaltung des EA’s durch viele der Teilnehmer werden wir in eine zweite Runde gehen und diesen Open Range Breakout EA mFX-OpenRangeBreakout in eine DELUXE-Version ausbauen. Darin wird umgesetzt sein:

              • Dealeröffnungen nur wenn Rangegröße innerhalb vorgebbarer Größenordnung liegt

              • Diese Größenordnung als Vielfaches des ATR

              • Lotsizeerhöhung nach Verlust

              • Teilgewinnmitnahme

              • Einstieg nur Long oder nur Short oder beides

              • automatischer Richtungsfilter nach der Position des Kurses zu einem Moving Average

              • Farbige Range-Linien zwischen Box und Schlusszeit

              • Trade in die Box hinein statt aus der Box heraus

              • Wochentag-Filter

              • Übernacht-Trade (Box heute, CloseAll morgen)

              • Gegentrade schon bei SL statt auf Gegensignal durch Box-Durchbruch zu warten

              • Sicherstellen, dass EA nach MT4-Neustart so nahtlos wie möglich weitermachen kann.

              Dazu gehen wir in eine weitere drei-teilige Online Workshop-Serie: DELUXE-Version des Open Range Breakout EA programmieren. Sie findet an folgenden Terminen statt:

              1. Dienstag, 7. Mai, 2019, 19 - 20 Uhr (MESZ)

              2. Dienstag, 14. Mai, 2019, 19 - 20 Uhr (MESZ)

              3. Dienstag, 21. Mai, 2019, 19 - 20 Uhr (MESZ)

              Sie können sich hier ausführlich informieren und noch bis 7.5.2019 um 16 Uhr anmelden. Teilnehmer erhalten Passwort-geschützten Zugang zu den Video-Aufzeichnungen und den gemeinsam entwickelten EA-Quellcode als mq4-Datei-Download. Somit bekommen sie freie Gestaltungs- und Nutzungsmöglichkeit dieses Open Range Breakout EA’s für MT4.

              Ich freue mich auf Ihre Anmeldung und Teilnahme.

              Auf profitables Trading und fröhliches Programmieren
              Cristof Ensslin von mindful FX, Ihr EA-Programmierer

              Für meine Freitags-Mails rund um die Themen TRADING, EXPERT ADVISORS UND EA-PROGRAMMIERUNG anmelden:

              Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen. Powered by ConvertKit

              Open-Range-Breakout-EA wächst und gedeiht

              Vergangenen Dienstag entwickelten wir am zweiten der drei Abende des Open-Range-Breakout-EA-Programmieren-online-Workshop den Expert Advisor, der eine per eingebbarer Uhrzeiten bestimmte Range im Chart misst und Ausbrüche daraus handelt, ordentlich weiter. Der EA wächst und gedeiht prächtig.

              Die Teilnehmer haben nun schon einen funktionstüchtigen ORB EA in Händen.

              Denn in der dieswöchigen Session wurde (aufbauend auf die ersten Sessions, siehe Blog-Artikel Erfolgreicher Start beim Open-Range-Breakout-EA-Programmieren-online-Workshop) gelernt:

              1. nur einen Deal pro Trading-Richtung gleichzeitig geöffnet zu haben

              2. die Anzahl der zu handelnden Ausbrüche pro Tag zu begrenzen

              3. wie man durch die beiden Dealpools (laufende Trades und Dealhistorie) loopt

              4. wie wir Buys und Sells abwechseln

              5. die Abwechsel-Steuerungs-Variable am Tagesende zurückzusetzen

              6. einer Funktion Parameter mitzugeben

              7. von einer Funktion einen Rückgabewert zu erhalten

              8. wie wir je nach einzugehendem Risiko die Lotsize pro Deal automatisch ermitteln

              Aus Punkten 2 und 8 lässt sich folgerichtig effektiv das Tagesrisiko begrenzen - eine extrem wichtige EA-Eigenschaft für jeden ernsthaften Trader, der mit Hebel arbeiten möchte. Zum Beispiel können maximal 3 Ausbrüche mit 1% Equity-Risiko pro Deal eingestellt werden, was ein Tages-Verlust-Maximum von 3% zur Folge hat.

              Vielen Dank an alle Teilnehmer für ihre aktive Mitgestaltung des online Workshops. Die Rückmeldungen aus dem Chat waren auch diese Woche wieder überwältigend positiv, was mich natürlich freut:

              Super !!! Vielen Dank, war Klasse auch - und gerade wegen - der Überstunden :-)
              — Bernd M.
              Wunschlos glücklich.
              — Andreas
              Danke für die Überstunden und den ganzen Abend :-)
              — Maria

              Nächste Woche geht’s auf die Zielgerade. Im letzten der drei online-Workshop-Abende werden wir auf alle Fälle noch folgende Funktionalitäten gemeinsam in den EA einbauen:

              1. Break-Even-Funktionalität für den SL

              2. Range-abhängige Trailing-Stop-Funktionalität

              3. Dealeröffnungen nur wenn Rangegröße innerhalb vorgebbarer Größenordnung liegt

              Wenn noch Zeit bleibt, kümmern wir uns noch um einen oder zwei der von den Teilnehmern gewünschten Features für den EA:

              • Teilgewinnmitnahme

              • Einstiegsfilter anhand der Kurslage zu einem Moving Average

              • Lotsizeerhöhung nach Verlust (Achtung: super gefährlich!)

              • Farbige Range-Linien zwischen Box und Schlusszeit

              • Trade in die Box hinein statt aus der Box heraus

              • Wochentag-Filter

              • Übernacht-Trade (Range-Messung heute, Trading-Ende vor Rangestart morgen)

              • Anzeige der Box während sie sich noch entwickelt

              • Gegentrade bei SL (statt auf Gegenausbruch zu warten)

              Grundsätzlich ist dies alles in MQL4 programmierbar für den Expert Advisor. Schauen wir mal, wie weit wir kommen!

              Vielleicht habe ich ja noch eine Überraschung im Ärmel… :-)

              Es lohnt sich daher, sich zu meinen Freitagsmails über Spannendes, Wissenswertes und Promotionen zu den Themen MT4/MT5, EAs und Trading anzumelden:

              Herzliche Grüße und beste Trading-Erfolge
              Cristof Ensslin von mindful FX, Ihr EA-Programmierer

              Erfolgreicher Start beim Open-Range-Breakout-EA-Programmieren-online-Workshop

              Die erste von drei Runden ist unter Dach und Fach. Am Dienstag dieser Woche startete unsere drei-teilige Online Workshop-Serie: Open Range Breakout EA programmieren, mit freundlicher Unterstützung durch Top-Broker JFD Bank. In den drei einstündigen Live-Programmier-Sessions zeige ich den Teilnehmern, wie man einen Expert Advisor programmiert, der die allseits beliebte Open Range Breakout-Strategie automatisiert - Schritt für Schritt

              Weiter unten fasse ich kurz zusammen, was dies alles beinhaltet. An dieser Stelle aber zunächst ein ganz herzliches Dankeschön an die 18 angemeldeten Teilnehmer. Die Nachfrage lag somit deutlich über meinen Erwartungen, das freut mich natürlich. Was mich dabei besonders kribbelt, ist die Tatsache, dass die Teilnehmer wunderbar über das deutsch-sprachige Europa verteilt sind - welch technologisches Wunderwerk das Internet doch ist!

              18 Workshop-Teilnehmer möchten lernen, wie man einen Open Range Breakout EA programmiert

              Was wir im EA während des JFD-LIVE-Event-Webinars schon programmiert hatten, war:

              1. Per For-Schleife die Zeitstempel sowie Höchst- und Tiefstkurse der M1-Kerzen zu ermitteln

              2. daraus und aus den vorgegebenen Range-Uhrzeiten die Range festzustellen

              3. die Range als Rechteck in den EA-Chart einzuzeichnen.

              Sehen Sie dazu auch meinen letztwöchigen Blog-Artikel Open Range Breakout EA programmieren mit kostenloser Webinar-Aufzeichnung.

              Auf dieser MQL4-Code-Basis arbeiteten wir nun in der ersten Kurs-Session weiter. Wir überzogen am Dienstag abend zeitlich um ca. eine halbe Stunde (mit dem Einverständnis der Teilnehmer) und fügten dem EA Code hinzu, damit er zwischenzeitlich folgendes bewerkstelligen kann:

              1. bei der Range-Box im Chart die Preise und Zeiten ändern

              2. die Range-Uhrzeiten als flexible Eingabevariablen definieren

              3. eigentliche Handelssignale generieren durch den Vergleich von “Bid” versus “lastBid”

              4. die Orderplatzierung bei Signal mit Range-abhängigen SL und TP automatisieren

              5. MagicNumber verwenden

              6. einen Close-all am Tagesende mit eingebbarer Uhrzeit durchführen

              Der EA ist nun schon ein gutes Stück weiter gediehen, benötigt aber noch weitere Funktionalitäten und Feinschliff bis er verwendbar ist. Dabei spielen die Wünsche der Teilnehmer eine große Rolle, die ich zwischenzeitlich erhalten habe (vielen Dank dafür!).

              Was in den nächsten zwei Sessions auf alle Fälle noch kommt:

              1. sicherstellen, dass nur eine Position gleichzeitig geöffnet sein darf

              2. automatische Lotsize-Ermittlung aus nach Kontostand-abhängigem Risikobetrag und dem Range-abhängigem Kurs-Risiko

              3. Einschränkung, wie viele Ausbrüche pro Tag gehandelt werden dürfen, sprich: das Tages-GuV-Risiko festlegen

              4. Break-Even-Funktionalität für den SL nach Erreichen eines gewissen Gewinnlevels

              5. Range-abhängige Trailing-Stop-Funktionalität nach Erreichen des Break-Even-Gewinnlevels

              6. Dealeröffnungen nur wenn die Rangegröße innerhalb einer vorgebbaren Größenordnung liegt.

              Einige weitere äußerst interessante Funktionalitätswünsche der Teilnehmer liegen mir vor. Ich hoffe, dass wir auch von diesen einige umsetzen können. Es wird spannend.

              Immer am Ball bleiben
              Cristof Ensslin von mindful FX, Ihr EA-Programmierer

              Ein Ausbruch pro Kerze jetzt handelbar mit mFX-HochTiefAusbruch EA

              Vermehrt habe ich in den letzten Wochen und Monaten von Käufern unseres MT4 Expert Advisors mFX-HochTiefAusbruch den Wunsch gehört, dass die Mindest-Wartezeit zwischen zwei Deals nicht nur in Minuten angegeben werden kann. Vielmehr wird für diesen Range-Ausbruchs-Robot gewünscht, dass die Mindest-Wartezeit sich nach Beginn einer neuen Kerze von selbst erledigt und somit sofort ab Beginn einer neuen Kerze ein neuer Ausbruchs-Deal erzeugt werden kann.

              Ein Kunde beschreibt dies in folgendem Szenario:

              Ausbruch aus der vorhergehenden Stundenkerze, also immer ein Trade pro Stunde (sofern kein Außen- oder Innenstab). Nach Tradebeendigung wird auf den nächsten Stundenschluß gewartet und dann wieder der Ausbruch durch das Hoch/Tief gehandelt.

              Mit der Einstellung Mindestzeit/Wartezeit [des EA’s mFX-HochTiefAusbruch] kann ich jedoch nur eine Zeit
              in Minuten bis zum nächsten Trade einstellen. Wenn also um 10:45 Uhr ein Trade beendet wird und die Wartezeit auf 30 Minuten steht, kann der nächste Trade erst um 11:15 Uhr ausgeführt werden. Ich möchte aber erreichen, dass der nächste Trade bereits um 11:00, also zum Stundenschluss ausgeführt werden kann.

              Wie kann man das in den Einstellungen berücksichtigen?
              — J.H., Käufer des Breakout-EA's mFX-HochTiefAusbruch

              In der neuen Version v1.70, die ab sofort hier unter diesem Link käuflich erhältlich ist, ist dies nun möglich. Sie können darin einfach den neu eingeführten EA-Eingabe-Parameter Reset_NeueKerze auf “True”, also JA, einstellen. Die Wartezeit stellen Sie gleichzeitig am besten gleich der Minutenzahl des Chart-Timeframes ein: fürs Trading im H1-Timeframe wäre somit die Eingabe von 60 passend. Siehe folgender Screenshot des neuen Eingabefensters:

              Damit erreichen Sie, dass nach einer Dealeröffnung wegen Breakout aus der Range der letzten Kerze, auch wenn diese in der ersten Sekunde einer Kerze geschieht, auf alle Fälle bis zum Kerzenbeginn der Folgeperiode auf ein neues Signal gewartet wird. Mit Beginn eben dieser Folgeperiode wird aber die Wartezeit gelöscht, so dass ein neuer Ausbruchsdeal geschehen kann, auch wenn der vorangegangene Ausbruch erst wenige Sekunden vor Kerzenende getradet wurde.

              Möchten Sie die Trading-Strategie “Ausbruch aus einer gleitenden Range” mittels unseres Bestseller-EA’s mFX-HochTiefAusbruch in Ihr eigenes Trading aufnehmen und automatisieren? Dann finden Sie hier unter diesem Link alle Infos zum EA sowie zum ab 95 EUR käuflichen Download.

              Kostenlose Updates

              Wenn Sie den EA innerhalb der letzten 6 Monate (Variante EX4) bzw. 12 Monate (Variante MQ4) gekauft haben, finden Sie die neue Version in Ihrem persönlichen Download-Portal bereit für Sie zum Download.

              Beste Trading-Erfolge wünscht Ihnen
              Cristof Ensslin von mindful FX, Ihrem EA-Programmierer

              mFX-HochTiefAusbruch Updates per Email

               Ja, ich möchte eine Email erhalten, wenn neue Programm-Versionen des Expert Advisors mFX-HochTiefausbruch (EA für MT4) verfügbar werden: 

                Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

                Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

                Powered By ConvertKit

                AUD-JPY Flash Crash - Lehren fürs EA-Trading

                AUD-JPY Flash Crash am Morgen des 3. Januar 2019

                In den frühen Morgenstunden des 3. Januars 2019 kam es binnen Sekunden zu krassen Kursausschlägen in Währungspaaren, die den Australischen Dollar (AUD) und den Japanischen Yen (JPY) beinhalteten. Weltwirtschaftliche Hiobsbotschaften (Chinesische Fabrikproduktion), traurige Unternehmensausblicke (Apple), zu rettende Banken (Banca Carige) und weltpolitische, ego-getriebene Sperenzchen (USA vs. China/Nord Korea) trafen auf dünne Liquidität, was einen lawinenhaften Ausverkauf, auch “Flash-Crash” genannt, in AUD-JPY (teilweise -7% binnen Sekunden!), mit entsprechend korrelierten Auswirkungen auf andere wichtige Währungspaare wie AUDUSD und USDJPY verursachte.

                Wer den Aussie short oder den Yen long war, konnte schon zwei Tage nach dem Knallen der Neujahrskorken die nächste Champagnerflasche aus dem Kühlfach holen (oder frischen O-Saft aus Bio-Flug-Orangen pressen - für uns Abstinenzler). Was aber, wer - wie ich und einer meiner Trading-Spezls - in Gegenrichtung positioniert war?

                EA-Portfolio vs. manuellem Trading

                Wegen diverser Longs im AUD und einiger Shorts im JPY kam mein eigenes ProdiveLiquidityDaily EA-Portfolio mächtig unter Druck. Zeitweise belief sich der Equity-Rückgang im Vergleich zum Kontostand bei 49%, so viel wie nie zuvor. Das war zwar viel und tat weh, aber das Konto hat gehalten. Alle Positionen konnten offen gehalten werden, wodurch es sich wieder vom Allerschlimmsten erholen konnte. Zwar werde ich einige Verlustdeals realisieren müssen, verbleibe aber unterm Strich noch deutlich im positiven Bereich.

                Mein Konto ist also

                1. heil geblieben,

                2. war keinerlei Zwangsschließungen unterzogen und

                3. es verbleibt unterm Strich noch immer ein Gewinn im bisherigen, 15 Monate alten EA-Portfolio-Trading-Ansatz übrig.

                Das Risiko über insgesamt 17 Währungspaare zu verteilen und jede einzelne Position mit einem Hebel von kleiner als 1 zu handeln, hat sich also ausgezahlt.

                Anders bei einem meiner Trading-Spezl. Er war USDJPY long, manuell, ohne System und ohne Expert Advisor. Und zwar nicht nur ein bisschen, sondern insgesamt 22-fach gehebelt. Der Kurs des US-Dollars in Yen fiel zeitweise um knapp 5% - jetzt können Sie sich schon denken, was mit dem Konto geschehen ist. Richtig: 22 x 5 ergibt mehr als 100, also wurde das Konto geplättet, der allseits gefürchtete Totalverlust war ganz plötzlich Realität.

                Der einzige Wehrmuts-Tropfen ist, dass mein Spezl vor ein paar Monaten aufgrund von hohen Gewinnen im ersten Halbjahr sein ursprünglich eingesetztes Kapital abgezogen hatte und folgerichtig nur noch mit den Profiten spekulierte. Somit ist im Großen und Ganzen zumindest nichts verloren.

                Sein Konto ist also leider

                1. leer getradet,

                2. wurde zwangsliquidiert und

                3. erleidet einen Totalverlust (wobei er glücklicherweise durch sein mutiges Kontokapitalmanagement “nur” vorher erzielte Gewinne verlor).

                Was wir aus dem AUD-JPY Flash Crash lernen

                1. Wer gerne mit hohen Hebeln arbeitet, sollte sich selbst zumindest in der Form managen, das eingesetzte Kapital schnellstmöglich vom Konto abzuziehen, um “nur” Gewinne zu verlieren, möglichst nicht aber sein Kapital. Klar, das Spiel kann auch beim ersten Mal gleich schief laufen, daher ist bei einem solchen Trading-Ansatz nur der Teil des eigenen Geldes einzusetzen, auf den man absolut schmerzfrei verzichten kann. Ganz wichtig!

                2. Auch für niedriger gewählte Hebel sollte ein Kapitalmanagement-Mechanismus angewendet werden, durch den regelmäßig ein gewisser Prozentsatz des Trading-Kapitals abgezogen und somit gesichert wird. Siehe dazu auch unseren Blog-Artikel Wie man Trading zu Einkommen macht vom 24.11.2017.

                3. Wir selbst haben sofort unser Portfolio-Management (in unseren Signal-Konten ProvideLiquidityDaily, Select7D und ArrayTrading) weiter verbessert. Es ist nun noch konservativer. Die Zeit, die zwischen zwei Short- bzw. Long-Dealeröffnungen in der gleichen Währung liegen darf, unterliegt einem gewissen Minimum und wird von Position zu Position verlängert. Beispiel: USDJPY-long, also Yen short, am 2.1. um 6 Uhr, der nächste JPY-short (z.B. USDJPY long, CADJPY long oder AUDJPY long) darf erst frühestens um 18 Uhr geschehen; für den dritten JPY-short müssen statt 12 schon mindestens 24 Stunden vergangen sein. Das gibt weiteren Puffer für starke Bewegungen entgegen unserer Positionierung.

                4. Es ist vorteilhaft, ein Portfolio aus erfolgreichen EAs über ein Portfolio von Währungspaaren zu streuen. Man ist zwar nicht vor Verlusten schlechthin gefeit, der Diversifizierungseffekt hält diese aber im Rahmen des verträglichen.

                5. Unser Forex-Portfolio sollte Schocks von 10-15% pro Währung vertragen können, ohne dass einerseits ein gewünschter maximaler Drawdown überschritten wird und ohne dass andererseits das Equity unter die Close-Out-Schwelle Ihres Brokers rutscht. Vor jeder Deal-Eröffnung muss dies überprüft und ein Handelssignal bei Nichteinhalten dieser Bedingung verworfen werden.

                Mit diesen Vorkehrungen werden wir mit sehr hoher Wahrscheinlichkeit weder zu hohe Risiken in Form von über-hebelten Deals eingehen noch zu große Gesamtpositionen aufbauen. Das hält uns diszipliniert, so dass wir zwar eventuell schmälere Renditen akzeptieren müssen, aber nicht mehr den Gefahren unserer eigenen Gier ausgesetzt sind.

                In der Hoffnung, dass Sie vom AUD-JPY-Flash Crash unberührt blieben oder gar profitieren konnten
                Cristof Ensslin von mindful FX, Ihr EA-Programmierer

                Für meine Freitags-Mails rund um die Themen TRADING, EXPERT ADVISORS UND EA-PROGRAMMIERUNG anmelden:

                Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen. Powered by ConvertKit

                Welche EAs ich live verwende

                Viele von Ihnen machen bislang (noch) Verluste im Trading mit Robots und möchten daher wissen, welche Expert Advisors (EAs) ich persönlich im Einsatz habe. Bin ich also ein reiner EA-Programmierer oder trade ich auch selbst mit Eigen- oder Fremd-EAs?

                Vorab: ich handle ausschließlich mit eigenen Entwicklungen, die sich hauptsächlich aus meiner Trading-Philosophie des “wertschöpfenden Tradings” ergeben. (Vergleichen Sie dazu meinen Blog-Artikel vom 29. Dezember 2017: Wert geben = Wert erhalten.) Die vollautomatisierte Umsetzung erfolgt ausnahmslos auf Forex-Paaren.

                Jetzt zum Eingemachten:

                Ich habe aktuell vier EAs auf Echtgeldkonten laufen.

                1+2) mFX-MartingaleKlassisch, käuflich erwerbbar unter https://www.mindfulfx.de/martingale-ea-1. Ich verwende ihn auf EURUSD als Beimischung zusammen mit einem (noch nicht veröffentlichten, im Rahmen eines derzeit im fortgeschrittenen Schreibstadium befindlichen Buch-Projekts entwickelten) USDJPY-EA und einer mechanischen, aber manuell umgesetzten EURZAR-Stratgie. Außerdem sind seit kurzem ein paar “Minor” Währungspaare mit mFX-ProvideLiquidity (s. unter Punkt 3) zugeschaltet. All das läuft auf einem MT4-Konto, dessen Entwicklung Sie unter https://www.mql5.com/de/signals/409233 beobachten und sogar Signal zum automatischen Deal-Kopieren abonnieren können. Performance (Stand 14.12.2018, ca. 17 Uhr): +51% Wachstum des Startkapitals seit Handelsstart vor 38 Wochen.

                Den aktuellen Stand des Kontos sehen Sie hier:

                3) mFX-ProvideLiquidity, derzeit (noch) nicht öffentlich erhältlich, dafür aber schon als Signal zum automatischen Deal-Kopieren abonnierbar. Den EA verwende ich derzeit auf einem Portfolio von 17 verschiedenen Chart-Symbolen, die ich aus Major- und den wichtigsten Minor-Währungen zusammengestellt habe. Das Handelsergebnis (Stand 14.12.2018, ca. 17 Uhr) beträgt +79% aufs Anfangskapital vom November 2017 gerechnet. Sie können den EA-Handel unter folgendem Link verfolgen und das Signal zum automatischen Deal-Kopieren unter https://www.mql5.com/de/signals/364198 abonnieren.

                Hier der Einblick auf den aktuellen Stand der Dinge:

                4) mFX-ArrayTrading, ebenfalls (noch) nicht öffentlich verfügbar. Die Handelsfrequenz pro Chart ist recht gering, daher sind in diesem Portfolio ca. 60 verschiedene Währungspaare in Verwendung. Dieses Setup hat bislang, seit Oktober 2017, +2% Performance erzielt (Stand 14.12.2018, ca. 17 Uhr). Auch hier können Sie den EA Trade für Trade verfolgen unter https://www.mql5.com/de/signals/354988. Ich teste diesen EA derzeit auch auf einem Portfolio von US-Aktien mit ergänzendem Portfolio-Risiko-Mangement, mit bislang leicht positiven Ergebnissen. Jüngste Ergänzungen am EA habe ich durchgeführt, um das Risiko aus Long- und Short-Positionen der gleichen Währung besser zu verteilen. Daher gehe ich von steigenden Renditen für diese Strategie aus.

                So sieht’s damit realtime aus:

                All diese Expert Advisor Setups laufen auf MetaTrader 4. Diese drei Konten und weitere Test-Setups laufen auf einem sehr stabilen VPS, über den ich schon geschrieben habe (siehe mein Blog vom 29. Juni: Welchen Virtual Private Server (VPS) soll ich für meinen EA Dauerlauf verwenden?). Der Server-Betreiber informiert mich, wenn Windows-Updates verfügbar sind, lässt mich aber selbst entscheiden, ob und wann ich diese installiere. Das gibt mir optimale Kontrolle über meine EAs.

                Ihnen eine schöne Weihnachtszeit
                Cristof Ensslin von mindful FX, Ihr EA-Programmierer.

                PS: Warum mache ich nur Forex? Einerseits ist der Devisenmarkt mein Erfahrungsschwerpunkt. Hierin fühle ich mich wohl und kenne mich aus. Vielleicht würde ich mich auch in der Welt der CFDs austoben, aber aufgrund meines privaten Wohnsitzes in den USA unterliege ich den US-Vorschriften, die Forex erlauben, CFDs aber verbieten. Echte Aktien handle ich allerdings, nicht aber vollautomatisiert mittels EA, sondern halb-automatisch mittels eigener EA-Signale aus Einzelaktien-CFDs von nicht-US-basierten MT4-Demokonten, die ich dann selektiv an der Wall Street umsetze.

                Für meine Freitags-Mails rund um die Themen TRADING, EXPERT ADVISORS UND EA-PROGRAMMIERUNG anmelden:

                Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen. Powered by ConvertKit

                Übernachtdeals sind nun möglich in neuer Version von Dealtimer-EA

                Ab sofort ist die Programm-Version v1.20 unseres Dealtimer-Expert-Advisors für MetaTrader 4 mFX-DealTimerDELUXE verfügbar. Sie hat als zusätzliche Funktionalität, dass nun auch Übernachdeals möglich sind. So kann z.B. um 17:30 ein Deal eröffnet werden, der dann um 9 Uhr morgens geschlossen wird. Damit können Sie beispielsweise auf Dax-Eröffnungs-Gaps oder andere Übernacht-Events voll automatisiert und emotionsfrei setzen.

                Dazu stellen Sie im gewünschten MT4-Chart in den EA Eigenschaften folgende Eingabevariablen abweichend von den Standardeinstellungen ein:

                1. Eröffnungsmodus = täglich, wenn Sie den EA das gleiche Eröffnungs-Vorgehen jeden Tag wiederholen lassen möchten.

                2. Eröffnung ab (MT4-Zeitzone… = 17:29, wobei das davorstehende Datum irrelevant ist, solange es in der Vergangenheit liegt. Der EA eröffnet dann täglich um 17:29 Uhr den im Abschnitt Dealmanagement eingestellten Deal. Diese Uhrzeit können Sie übrigens sekundengenau eingeben, damit Sie gegebenenfalls noch mehr an den Xetra-Dax-Schlusskurs um 17:30 Uhr annähern. Wichtig: beachten Sie, dass die Zeitzone Ihres MT4-Brokers von der deutschen Zeit MEZ/MESZ abweichen kann. Die Dealserverzeit des Brokers sehen Sie im MT4-Fenster “Marktübersicht”. Die Dealeröffnungs-Uhrzeit ist in eben dieser Zeitzone einzugeben.

                3. Dealschliessen-Modus… = täglich, damit der EA wirklich jeden Tag die Schließung um die folgende Uhrzeit durchführt.

                4. Deal schliessen ab (MT4-Zeitzone… = 9:01. Auch hier muss das eingegebene Datum in der Vergangenheit liegen, es sei denn der EA soll erst ab einem bestimmten zukünftigen Datum Dealschließungen für Sie automatisch ausführen. Die Uhrzeit ist auch hier in der MT4-Zeitzone siehe Fenster “Marktübersicht” einzugeben.

                5. Toleranz-Sekunden (0=erster Tick ab Deal-Schliessen-Zeit) muss auf alle Fälle größer als 0 eingestellt werden, damit der Übernachthandel funktioniert. Am besten, Sie belassen hier die Standardeinstellung von 60. Dann hat der EA von 9:01 Uhr bis 9:02 Uhr Zeit, bei einem im MT4 eingehenden Chartsymbol-Tick die Schließung durchführt. In einem zu dieser Tageszeit rege gehandelten CFD wie DE30/GER30 wird das Closing der vom EA verwalteten Positionen in aller Regel in den ersten wenigen Sekunden nach der eigentlich eingegebenen Deal-Schliessen-Zeit geschehen, also z.B. 9:01:01 Uhr.

                Die Ermöglichung der Übernacht-Deals in unserem MT4-EA mFX-DealTimerDELUXE war ein Verfeinerungs-Wunsch einiger Kunden und EA-Käufer. Ich wünsche Ihnen allen damit eine wirkungsvolle Bereicherung Ihres Trader-Werkzeugkastens!

                Alles Gute für das anstehende erste Adventswochenende
                Cristof Ensslin von mindful FX, Ihr EA-Programmierer

                PS: Als Käufer des mFX-DealTimerDELUXE EA's erhalten Sie 6 Monate (Variante EX4) bzw. 12 Monate (Variante MQ4) kostenlose Updates. Wenn Ihr Kaufdatum in diesem Zeitraum liegt, finden Sie die neuen EA-Dateien ganz einfach im Download-Link von Digistore24, unserem Auslieferungspartner.

                Günstige Alternative zum Einbau von Teilschließungen in einen EA

                Oft soll in Trading-Robots die Mitnahme von Teilgewinnen eingebaut werden, um im Gewinnfall schon vor Erreichen des eigentlichen Gewinnziels das Risiko der Position zu senken. Denn der Kurs könnte ja (und tut es auch oft) kurz vor Erreichen des Gewinnziels drehen und somit alle zwischenzeitlich vorhanden gewesenen, schwebenden Gewinne zunichte machen - ein äußerst schmerzhafter Sachverhalt des Trading-Alltags.

                Im September veröffentlichte ich dazu den Blog-Artikel Wie man in MQL4 einen Teilverkauf mit Breakeven für die Restposition programmiert, der dem geneigten Leser aufzeigt, was im Code eines Expert Advisors (EA) für MetaTrader 4 (MT4) programmiert werden muss, um einen solchen Teilverkauf sauber zu automatisieren. Einen einzigen Teilverkauf zu programmieren, ist somit vergleichsweise leicht und schnell getan. Wenn ein EA aber mehrere Teilverkäufe gestaffelt durchführen soll, wird der Programmieraufwand schon ein bisschen aufwändiger.

                Mehr Aufwand = höhere Kosten, daher will ich Ihnen hier und heute eine günstige Alternative zum Einbau von mehreren Teilschließungen in einen EA vorstellen.

                Mit “günstig” meine ich sogar kostenfrei!

                Alles, was Sie dazu tun müssen, ist, den EA auf mehrere Charts des gleichen Symbols gleichzeitig, aber mit leicht unterschiedlichen Einstellungen zu installieren. Die Dealeröffnungsregeln müssen dabei auf alle Fälle identisch eingestellt sein. Wenn Sie beispielsweise zwei Teilschließungen haben möchten, gehen Sie dabei folgendermaßen vor:

                1. Öffnen Sie drei Charts im gleichen Timeframe (z.B. M5) des gleichen Symbols (z.B. EURUSD).

                2. Ziehen Sie den EA auf alle drei Charts, eins nach dem anderen.

                3. Stellen Sie in den EA Einstellungen unbedingt sicher, dass Sie drei unterschiedliche MagicNumbers / IDs vergeben, damit jeder der drei EAs auch wirklich seine eigenen Deals wiedererkennen kann.

                4. Wählen Sie die TP-Abstände der drei EAs nun so aus, dass Sie den angestrebten Teilclose-Levels entsprechen: z.B. 10 Pips Teilclose 1 für den ersten EA, 25 Pips Teilclose 2 für den zweiten und 50 Pips eigentliches Gewinnziel im dritten Trading-Robot.

                5. Teilen Sie in den drei EAs die Handelslotsizes so auf, dass sie den geplanten Teilclose-Prozentsätzen gleichkommen. Bei einfacher Drittelung wäre dann in den drei Experts jeweils die gleiche Lotsize einzugeben. Achtung: die drei Lotsizes aufaddiert muss der ansonsten in einem EA verwendeten Lotsize entsprechen. Wenn Sie also normalerweise mit 0.10 Lots handeln, geben Sie ein EA 1 und 2 z.B. 0.03 Lots und in EA 3 0.04 Lots ein.

                Im Ergebnis haben Sie nun das gleiche Setup wie wenn Sie im EA die Teilverkäufe eingebaut haben. Größter Vorteil sind die gesparten Programmierkosten. Zwei wichtig zu erwähndene Nachteile sind, dass

                • Sie nun drei statt nur ein Chart offen und somit mehr Verwaltungsaufwand haben

                • der MT4 bei der Dealeröffnung und im Close-All-Fall (z.B. bei Gegensignal ohne dass vorher eines der TP-Levels erreicht wurde) nun drei statt nur einer Position managen muss. Das dauert länger und kann somit, je nach Marktlage zu erhöhter Slippage führen.

                Wenn Sie mit diesen Nachteilen leben können, können Sie mit der hier im Artikel vorgestellten Vorgehensweise schnell und einfach und vor allem ohne Programmieraufwand im Handumdrehen Teilschließungen simulieren.

                Beste Tradingerfolge wünscht Ihnen
                Cristof Ensslin von mindful FX, Ihr EA-Programmierer

                Für meine Freitags-Mails rund um die Themen TRADING, EXPERT ADVISORS UND EA-PROGRAMMIERUNG anmelden:

                Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen. Powered by ConvertKit

                Wie man den SL und TP als Faktor einer Range berechnet (und einen EA entsprechend programmiert)

                Hier und heute geht es um Range-bezogene Strategien wie zum Beispiel einer Open-Range-Breakout-Strategie oder einer gleitenden Handelsspanne à la Donchian Channel bzw. Turtle Traders. Bei solchen Systemen bietet es sich oftmals an, auf fixe Stop-Loss- und Take-Profit-Abstände in Pips zu verzichten und stattdessen das Kursrisiko und die Kurschance als Vielfaches der gemessenen Range zu definieren.

                Wenn z.B. der Kurs aus einer EURUSD-Range zwischen 1,1325 und 1,1355 ausbricht, ist die gemessene Handelsspanne 0,0030 USD pro EUR, was 30 Pips oder, bei 5-stelliger Quotierung, 130 Punkten entspricht. Ein Expert Advisor (EA) für MetaTrader (MT4/MT5), der nun mit 1-facher Range den SL-Abstand setzt, würde bei einem Short den Stop-Loss (SL) 30 Pips über, bei einem Long 30 Pips unter dem jeweiligen Einstandskurs setzen.

                Analoge Vorgehensweise beim Take-Profit (TP): wählen wir beispielsweise das 3-fache der Handelsspanne als Kurschance, würde der EA den TP beim Buy 3 x 30 Pips = 90 Pips über dem Einstiegskurs platzieren. Bei einer Sell-Position wäre der TP 0,00900 USD pro EUR unterhalb der Dealeröffnung durchzuführen.

                Ich zeige Ihnen im Rest dieses Artikels anhand unseres EA’s mFX-HochTiefAusbruch, der quasi ein Donchian-System, also Ausbrüche aus einer gleitend gemessenen Range im MT4 automatisiert, wie Sie den MQL4-Code eines EA’s von fixen Pips auf Range-Faktoren umprogrammieren können.

                Los geht’s!

                EA mit Range-Faktoren für SL und TP ausstatten

                Wir gehen wie immer Schritt für Schritt vor, damit Sie alles leicht nachvollziehen können. Alle Code-Veränderungen und -Ergänzungen markiere ich mit Fettschrift.

                Wichtiger Hinweis: die folgende Vorgehensweise ist eine von vielen Möglichkeiten. Jeder Programmierer hat seine eigene Art und Weise, die Programmiersprache MQL4 so zu verwenden, dass der Expert Advisor am Ende das tut, was er soll.

                Schritt 1: EA-Datei unter neuem Namen abspeichern

                Wir öffnen die existierende MQ4-Datei mFX-HochTiefAusbruch_v1.50 im MetaEditor. Im Menü Datei wählen wir Speichern Als… und speichern die Datei unter dem neuen Namen mFX-HochTiefAusbruch_v1.60 ab. Damit stellen wir sicher, dass wir jederzeit auf die gut und zuverlässig funktionierende Version v1.50 zurückgreifen können - eine Vorsichtsmaßnahme also.

                Schritt 2: Versionsnummer und Erstellungsdatum ändern

                Nun ändere ich die Versionsnummer und das Datum, wann ich zuletzt daran gearbeitet habe. Das dient meiner eigenen Dokumentation und unterstützt sozusagen mein Erinnerungsvermögen.

                #property version "1.60" //16.11.2018

                Das Datum hinter den zwei Schrägstrichen hat dabei keinerlei funktionale Bedeutung für den EA. Denn die beiden zwei Schrägstriche markieren alles folgende in dieser Zeile als Programmierer-Kommentar, welches im Kompilierprozess nicht in Programmcode umgewandelt wird.

                Schritt 3: Auswahlliste erstellen

                Wir erstellen nun eine Auswahlliste, um zwischen dem bisherigen Pip-basierten und dem neuen Range-Faktor-gestützten Dealmanagement hin und her wechseln zu können. Ich füge folgenden Code direkt vor die Eingabevariablen für TP, SL und Trailing Stop (TS) ein:

                enum BASIS_DEALMANAGEMENT
                {
                PIPS,
                RANGE
                };

                enum definiert immer die darauffolgende Auswahlliste (Enumeration), deren Bestandteile innerhalb der geschwungenen Klammern aufgeführt werden. Diese Auswahlliste können wir nun als Variablenart verwenden, indem wir die Eingabevariable Pips_oder_Range damit definieren und mit dem Standardwert RANGE versehen:

                extern BASIS_DEALMANAGEMENT Pips_oder_Range = RANGE;

                Beide Code-Bestandteil habe ich vor die TP-/SL-/TS-Eingabevariablen platziert, siehe folgender Screenshot.

                Die existierenden Eingabevariablen für TP, SL und TS können wir nun in der EA-Programmierung so verwenden, dass Sie Pips ausdrücken, wenn unter Pips_oder_Range “PIPS” ausgewählt ist. Wenn hingegen “RANGE” ausgewählt ist, wie nun standardmäßig der Fall, werden die Eingaben als Range-Vielfaches ausgelegt.

                Schritt 4: Voreinstellungen für Eingabevariablen ändern

                Da wir als Standardeinstellung “RANGE” verwenden, ist es ratsam, auch gleich die Standardwerte für TP, SL und TS auf sinnvolle Werte anzupassen. Während beim TP z.B. 55 Pips durchaus Sinn macht, wäre das 55-fache der Range als TP-Abstand hingegen viel zu hoch gegriffen. Daher ändern wir die Voreinstellungen folgendermaßen:

                extern double TP = 3;
                extern double SL = 1;
                extern bool TrailingStopp = false;
                extern double TrailingStopp_AktivProfit = 0.1,
                TrailingStopp_Abstand = 1,
                TrailingStopp_Schritt = 0.01;

                Wenn der Nutzer des EA’s mFX-HochTiefAusbruch diese Standards fürs Trading übernimmt, würde der EA folgendermaßen agieren:

                1. TP-Abstand ist das 3-fache der Range, im obigen Beispiel also 3 x 0,0030 USD pro EUR, also 0,0090 Kursgewinn als Ziel.

                2. SL-Abstand ist das 1-fache der Range, im obigen Beispiel wären das 0,0030 Kursrisiko.

                3. Trailing-Stopp ist durch “false” ausgeschaltet. Wenn es aber durch Auswahl von “true” aktiviert würde, wäre es aktiv (TrailingStopp_AktivProfit) ab einem Positionsgewinn von 0,1 x die Range von 0,0030, also ab 0,0003 oder 3 Pips Deal-Gewinn. Der eigentliche Nachzieh-Abstand TrailingStopp ist mit 1 eingestellt, was 0,0030, also die einfache Range, ergibt. Jeder SL-Nachzug muss einen SL-Schritt von mindestens 0,01 der Range ausmachen (TrailingStopp_Schritt), was 0,01 x 0,0030 USD pro EUR, also 0,00003 Kursdifferenz bedeutet.

                Schritt 5: Handelsspanne in einer Variable speichern

                Jetzt kommen wir dazu, die Handelsspanne zu messen und weiter zu verarbeiten. Im Haupt-Code, der vom EA bei jedem empfangenen Kurstick durchlaufen wird, haben wir schon das gleitende Range-Hoch sowie -Tief ermittelt:

                Aus dem Handelsspannen-Hoch RangeUp und dem Range-Tief RangeLo können wir nun die Handelsspannen-Größe errechnen. Dazu fügen

                double Range = RangeUp - RangeLo ;

                Diese neue Variable Range können wir im nächsten Schritt mit den Dealmanagement-Faktoren multiplizieren.

                Schritt 6: Range und Multiplikator zum Dealmanagement verwenden

                Wie wir nun die Range-abhängigen SL-, TP- und Trailing-Stop-Abstände berechnen, zeige ich Ihnen am Beispiel des Stop-Losses. Bislang berechnen wir den SL-Kurs, den der EA bei Übermittlung eines Buy-Deals verwendet, durch folgende Code-Zeile:

                double SLset = NormalizeDouble ( Ask - ( SL * UsePoint ) , Digits ) ;

                Die an dieser Stelle belegen wir die neu eingeführte Variable SLset, die dann in der OrderSend- oder OrderModify-Funktion verwendet werden kann, mit dem SL-Kurs. Dabei hält die Variable UsePoint bei 4- und 5-stelliger Quotierung den Wert 0,0001. Die Funktion NormalizeDouble rundet den Wert auf die Anzahl der Nachkommastellen des Chartsymbols Digits. Im Endeffekt rechnen wir also Ask-Preis minus der Pip-Anzahl, die wir in der Eingabe-Variable SL eingestellt haben.

                Nun fügen wir unter diese Zeile den Code hinzu, der den Range-Bezug herstellt:

                if ( Pips_oder_Range == RANGE )
                SLset = NormalizeDouble ( Ask - ( SL * Range ) , Digits ) ;

                Wenn also die Eingabe-Variable Pips_oder_Range durch den Nutzer des EA’s mFX-HochTiefAusbruch mit dem Auswahl-Wert RANGE belegt wurde, wird fast die exakt gleiche Berechnung durchgeführt. Der einzige Unterschied ist, dass die Eingabe-Variable SL nicht mehr mit UsePoint (bei EURUSD also 0,0001), sondern mit der Größe der Handelsspanne Range multipliziert wird.

                Die beiden Code-Zeilen des EA’s sehen nun im MetaEditor folgendermaßen aus:

                SLset wird also zunächst mit dem Pip-abhängigen SL belegt. Nur wenn RANGE als Dealmanagement-Methode ausgewählt ist, wird die Variable SLset noch entsprechend verändert. Das ist praktisch und robust.

                Schritt 7: Wiederholen Sie die Variablenberechnung analog für den Sell-SL sowie für TP und Trailing Stop auf beiden Seiten.

                Nun sind Sie an der Reihe, die eben gelernte Lektion sofort und direkt anzuwenden. Zunächst für den SL der Sell-Seite, danach für TP und Trailing Stop für Long und Short. Wie ergeht es Ihnen bei diesem Versuch? Schreiben Sie Ihre Antworten unten in die Kommentare.

                Ich hoffe, dass Ihnen dieser Blog-Artikel bei Ihren eigenen Programmier-Bemühungen weiterhilft.

                Neue EA Version v1.60 ab sofort verfügbar

                Diese neue Dealmanagement-Methode ist ab sofort in der neuen EA-Version v1.60 des mFX-HochTiefAusbruch eingebaut. Alle Informationen zu diesem MT4-EA, der Ausbrüche aus gleitend gemessenen Handelspannen automatisch handelt, inklusive Kaufpreis, Lizenzbedingungen und Sofort-Download finden Sie hier unter folgendem Link: https://www.mindfulfx.de/hochtiefausbruch/

                Alles Gute für Ihr Trading wünscht
                Cristof Ensslin von mindful FX, Ihr EA Programmierer

                Webinaraufzeichnung: EA programmieren in 60 Minuten (oder ein paar Minuten mehr…)

                Letzte Woche Dienstag, 2.10.2018, hatte ich die Ehre, bei JFD Brokers in ihrem Oktober 2018 - JFD Live Event - Regelbasierte Trading Strategien und Algos im Einsatz zu Gast sein zu dürfen. Im Webinar habe ich live zum Zuschauen und Mitmachen die Zuschauerschaft ins EA-programmieren für MT4 eingeführt.

                Wir haben eine Ausbruchsstrategie nach meiner Wert-gebenden Trading-Philosophie aufgesetzt. Fertig wurden wir dabei auf der Buy-Seite. Gerne noch dazu programmiert hätte ich die Sell-Seite sowie eine Schleife, die die Range-Begrenzungen von nicht nur der Vorkerze, sondern mehreren Vorkerzen ermittelt. Dazu hatte die Zeit aber am Ende nicht ausgereicht, vielleicht können wir’s beim nächsten Mal nachholen.

                Wie einfach Sie das EA-Programmieren lernen können, sehen Sie hier selbst in der Aufzeichnung des Webinars, kostenfrei in voller Länge:

                Den gemeinsam programmierten Expert Advisor MQL4-Code gibt’s ab sofort hier und heute kostenfrei zum Download, unter dem wichtigen HAFTUNGSAUSSCHLUSS UND RISIKOHINWEIS, dass dieser EA keine Handelsempfehlung darstellt, sondern lediglich zur Veranschaulichung des MQL4-Programmierens und somit nur für Lernzwecke des EA-Programmierens dient. Nutzen Sie ihn ausschließlich auf Demo-Konten!

                Webinar-EA per Email bestellen

                Bitte senden Sie mir den gemeinsam im Webinar vom 2.10.2018 entwickelten MQL4-Code für den MT4-EA an folgende Email-Adresse:

                  Freitagsmails mit wichtigen und spannenden Themen rund ums EA-Programmieren und Trading gewünscht (kostenlos und jederzeit abbestellbar):

                  Datenschutz nach DSGVO. Sie können sich jederzeit aus unserem Email-Verteiler austragen.

                  Powered By ConvertKit

                  Danke für Ihr Interesse!

                  Viel Spaß und Erfolg beim selbst Programmieren und Traden
                  Cristof Ensslin von mindful FX, Ihr EA Programmierer

                  PS: wenn Sie das EA Programmieren von Grund auf lernen möchten, lege ich Ihnen unseren MQL4-Intensivkurs - EA-programmieren lernen vom 29.-30. Oktober 2018 in Stuttgart wärmstens ans Herz. Alle Infos hier: https://www.mindfulfx.de/mql4intensivkurs/

                  Wie man in MQL4 einen Teilverkauf mit Breakeven für die Restposition programmiert

                  Ein beliebter Ansatz des Positionsmanagements im Forex-Trading ist es, für einen Deal nicht nur ein, sondern zwei Take-Profit-Levels zu definieren. Bei Erreichen des ersten Gewinnziels wird ein Teil der Position, z.B. 50% der ursprünglichen Lotsize, glattgestellt und somit ein Mindestgewinn gesichert. Damit dieser nicht mehr verloren werden kann, wird für die verbleibende, 50-prozentige Restposition der Stop-Loss auf Einstandskurs nachgezogen.

                  Das kann man selbstverständlich manuell durchführen. Diese Vorgehensweise lässt sich aber ebenso in einem Expert Advisor (EA) für MetaTrader (MT4/MT5) automatisieren. In diesem Wissen erreichte mich neulich die folgende Frage eines Kunden.

                  Ich interessiere mich für den MAXingPro EA, hätte aber dazu jetzt eine Frage zu einer möglichen Änderung bzw. Anpassung des Codes. Wäre es möglich, eine Funktion in den Code einzubauen, wo man z.B. nach Erreichen von angegeben Pips einen Teilverkauf macht (diesen könnte man in % angeben) und dann die noch offene Position auf Break Even zieht und mit Trailing Stop einfach laufen lässt?
                  — Philipp L., Trader und mindful FX Kunde

                  Ich war mit Herrn L. so verblieben, dass diese Funktion in einer der nächsten EA-Versionen eingeführt wird. Heute ist es so weit.

                  Ich zeige all denjenigen, die selbst am Programmieren interessiert sind, zudem bei dieser Gegelenheit, wie ein solcher Teilverkauf in MQL4 programmiert werden kann. Los geht's, am Beispiel unseres Trendfolge-EA's mFX-MAXingPro!

                  Wichtiger Hinweis: in den folgenden Code-Beispielen sind die Änderungen bzw. Hinzufügungen in Fettschrift aufgeführt, während gleich bleibender Code in normaler Schrift geschrieben ist.

                  Schritt 1: EA-Datei unter neuem Namen abspeichern und neue Versionsnummer eintragen

                  Hier im ersten Schritt öffnen wir zunächst die mq4-Datei des EA's mFX-MAXingPro, der Kreuzungen von zwei Moving Averages (Gleitenden Durchschnitten) als Signalgeber verwendet. Wir speichern sie sofort unter einem neuen Namen (mFX-MAXingPro_v1.50) ab. Damit stellen wir sicher, dass wir jederzeit zur Ausgangs-Version v1.40 zurück kehren können, von der wir wissen, dass sie einwandfrei funktioniert.

                  Dann ändern wir im Code die Versionsnummer und das Erstellungsdatum ab, um unsere Arbeit im EA später nachvollziehen zu können. Die Code-Zeile lautet nun:

                  #property version "1.50" // 31.08.2018

                  Entsprechend unserer neuen Eingaben wird die neue Versionsnummer ab sofort bei Verwendung im MT4-Terminal unter "Allgemein" in den EA-Eigenschaften angezeigt.

                  Schritt 2: Teilverkaufs-Eingabeariable definieren

                  Eine Break-Even-Funktionalität haben wir in diesem EA schon. Diese wird gesteuert durch die folgenden Eingabevariablen:

                  input bool BreakEven_verwenden=true;
                  input double BreakEven_Trigger=30;
                  input double BreakEven_Profit=0;

                  Mit der ersten Variable BreakEven_verwenden kann der EA-Nutzer nachher die Break-Even-Funktionalität ein- und ausschalten. Bei BreakEven_Trigger kann er oder sie in Pips eingeben, bei welchem Dealgewinn der SL auf Einstandskurs nachgezogen werden soll. Mit BreakEven_Profit kann die Traderin schlussendlich eine Vertikalverschiebung in Pips eingeben, so dass der SL-Nachzug auf z.B. 1 Pip im Gewinn vollzogen wird.

                  Nun fügen wir zu diesem Codeblock die Eingabe-Variable hinzu, mit der wir später bei der EA Verwendung den gleichzeitigen Teilverkauf steuern können. Sinnvoll ist hier, den Prozentsatz der originalen Lotsize eingeben zu können, der teilgeschlossen werden soll:

                  input double BreakEven_Teilverkauf=50;

                  Wir werden das so programmieren, dass die Eingabge von 0 den Teilverkauf ausschaltet. Bei Eingabe der voreingestellten 50 würde der EA bei Erreichen der unter BreakEven_Trigger definierten Gewinn-Pips 50% der Ursprungsposition (Beispiel: 50% von 1.00 Lots = 0.50 Lots), also die Hälfte der bestehenden Lotsize teilschließen.

                  Schritt 3: Teilverkauf in Break-Even-Funktionalität zunächst für Buy-Deals einfügen

                  Nun bewegen wir uns hinein in die OnTick-Funktion, also die Funktion, die ein EA bei Empfang eines jeden Chartkursticks durchläuft. Dort haben wir eine schon eine Schleife programmiert, die alle bestehenden Deals auf MagicNumber und Chartsymbol filtert. Das macht den EA multi-Deal-fähig, denn somit kann er jederzeit seine eigenen Deals wiedererkennen.

                  Im bestehenden Code fragen wir für BUY- und SELL-Deals getrennt schon ab, ob einerseits die Break-Even-Funktionalität überhaupt aktiviert ist und ob andererseits der Kurs-Trigger erreicht ist, der zum Nachziehen des Stop-Loss-Kurses auf Einstandskurs +/- Mindestgewinn-Pips eingestellt wurde. Hier fügen wir nun Code ein, der den Teilverkauf effektiv durchführt.

                  Zuerst führen wir eine Serie von Bedingungs-Abfragen durch. Sie stellt fest, ob eine Teilschließung überhaupt zugelassen ist in diesem Moment. Am Ende, wenn also alle Bedingungen wahr sind, kommt das Closing selbst in den geschweiften Klammern.

                  Ich kommentiere dabei die jeweilige Zeile zum besseren Verständnis:

                  if ( BreakEven_Teilverkauf > 0 && BreakEven_Teilverkauf <= 100)
                  Diese Bedingung fragt ab, ob der Teilverkauf durch den EA-Nutzer gewünscht ist. Die Abfrage ist genau dann wahr, wenn die Eingabe-Variable BreakEven_Teilverkauf größer als null und gleichzeitig maximal 100 ist. Alle anderen Eingaben schalten also die Teilverkauf-Funktionalität effektiv aus.

                  if ( OrderSelect ( Count, SELECT_BY_POS ) )
                  In den folgenden Bedingungen benötigen wir Zugriff auf das bestehende Orderkommentar, die Orderlotsize, die Orderticketnummer sowie den aktuell verfügbaren Closingpreis für die Order. Damit der EA auf jeden Fall all diese Orderattribute zur Verfügung hat, selektieren wir die Order nocheinmal. Denn im Fall der OrderModify-Durchführung der Breakeven-Funktionalität kann es sein, dass die bisherige Orderselektion aufgehoben wird. OrderSelect(...) gibt dann wahr zurück, wenn die Order anhand des Schleifen-Zählers Count im Dealpool (SELECT_BY_POS) erfolgreich gefunden werden konnte.

                  if ( StringFind ( OrderComment(), "from #" ) < 0 )
                  Nun schauen wir im Orderkommentar OrderComment() nach, ob diese Order schon einmal teilgeschlossen wurde. Alle Teilschließungen werden im MT4 automatisch mit from #1234567 anstelle eines eventuell schon bestehenden Orderkommentars kommentiert, damit man erkennen kann, von welcher ursprünglichen Order her diese Restposition stammt. Das ist hilfreich, weil Restpositionen zwar den gleichen Einstiegskurs und die selbe Einstigeszeit, jedoch eine neue Ticketnummer erhalten. Mit der in MQL4 eingebauten StringFind-Funktion durchsucht der Expert Advisor nun das OrderComment() daraufhin, ob der Text from # schon darin zu finden ist. Wenn nein, gibt uns die StringFind-Funktion einen negativen Wert zurück. Unsere if-Bedingung ist also immer dann wahr, wenn die Order noch nicht teilgeschlossen wurde.

                  if ( BreakEven_Teilverkauf / 100 * OrderLots() >= MarketInfo ( Symbol(), MODE_MINLOT ) )
                  Um Fehlermeldungen im EA-Ablauf der eigentlichen Teilverkäufe zu vermeiden, fragen wir hier ab, ob der Prozentsatz BreakEven_Teilverkauf / 100 der bestehenden Orderlotsize OrderLots() mindestens so groß ist wir die Mindestlotsize des Brokers. Letztere wird über die MarketInfo-Funktion für das aktuelle Chartsymbol Symbol() mit dem Bezeichner MODE_MINLOT abgefragt.

                  Sind nun alle vier Bedingungen wahr, kann der EA in die geschweiften Klammern eintreten und den folgenden Code durchlaufen:
                     {
                     double clsLots = NormalizeDouble ( BreakEven_Teilverkauf / 100 * OrderLots() ,                                              LotsRundung ) ;

                  Hier wird die Berechnung der teilschließenden Lotsize der neuen double-Variable clsLots zugewiesen. Der Wert wird dabei durch die NormalizeDouble-Funktion auf die richtige Anzahl an Nachkommastellen gerundet, welche wir in der OnInit-Funktion ermittelt und der Integer-Variable LotsRundung zugewiesen haben.

                     while ( IsTradeContextBusy() ) Sleep ( 10 ) ;
                  Wir lassen den Experten über die Sleep-Funktion ein in Millisekunden (hier: 10) definiertes Nickerchen machen, solange (while...) die Tradingleitung zum Broker belegt ist, was wir über IsTradeContextBusy() erfahren.

                     bool oc = OrderClose ( OrderTicket(), clsLots, OrderClosePrice(), UseSlippage,                                    clrCornflowerBlue ) ;
                     }

                  Zu guter letzt wird der Teilverkauf an sich durchgeführt. Die OrderClose-Funktion bestücken wir entsprechend mit den notwendigen Parametern Ordernummer OrderTicket(), Lotanzahl clsLots, aktueller Schließpreis (Bid oder Ask) OrderClosePrice(), maximal akzeptierte Kursabweichung (Slippage) UseSlippage (schon in OnInit-Funktion mit dem gewünschten Maximalwert belegt) sowie die Farbe clrCornflowerBlue des Pfeils, der vom EA bei Teilschließung in den Chart eingezeichnet wird.

                  Schritt 4: Teilverkauf für SELL-Deals ergänzen

                  Der Code, um Sell-Deals teilzuclosen ähnelt dem im letzten Schritt geschriebenen Code sehr stark. Wir können ihn daher per Copy & Paste in die Sell-Deal-Abfrage einfügen. Wir müssen dann nur noch eine kleine Änderung ergänzen:

                  if ( BreakEven_Teilverkauf > 0 && BreakEven_Teilverkauf <= 100 )
                  if ( OrderSelect ( Count, SELECT_BY_POS ) )
                  if ( StringFind ( OrderComment(), "from #" ) < 0 )
                  if ( BreakEven_Teilverkauf / 100 * OrderLots() >= MarketInfo ( Symbol(), MODE_MINLOT ) ) 
                     {
                     clsLots = NormalizeDouble ( BreakEven_Teilverkauf / 100 * OrderLots() ,                                              LotsRundung ) ;
                     while ( IsTradeContextBusy() ) Sleep ( 10 ) ;
                     oc = OrderClose ( OrderTicket(), clsLots, OrderClosePrice(), UseSlippage,                                    clrCornflowerBlue ) ;
                     }

                  Vor den Variablen clsLots und oc musste ich lediglich die Variablendefinition entfernen, da wir diese schon bei der Behandlung der Buy-Orders definiert haben und wir uns nicht im strikten Kompiliermodus befinden. Alles andere konnte eins zu eins von der Buy-Seite übernommen werden. (Im strikten Kompiliermodus #property strict hätten wir den kompletten Code inklusive der Variablendefinitionen übernehmen können.)

                  Hinweis: um Copy&Paste zu vermeiden, hätten wir auch eine eigene Funktion schreiben können, die dann jeweils bei BUY und SELL abgefragt wird. Das bewirkt das exakt gleiche Ergebnis in der letztendlichen EA Verwendung, spart aber Platz im Code.

                  Schritt 5: testen, ob der EA mit dem neuen MQL4-Code funktioniert

                  Abschließend testen wir die neue EA-Version des mFX-MAXingPro noch, um sicherzustellen, dass die neuen Code-Module auch wirklich das bewirken, was wir mit ihnen beabsichtigt haben. Dazu rufen wir den Strategietester im MetaTrader 4 auf.

                  Bei solchen Funktionalitätstests ist das Modell "Kontrollpunkte" ausreichend. Im folgenden Screenshot sehen Sie wunderbar, wie die Teilclosings nun in der Chart-Grafik aussehen, sowohl für Buy als auch für Sell. Wir beobachten in diesen Fällen zwei gestrichelte Linien vom Einstiegsmoment nach rechts. Die erste hin zum Moment des Breakeven-SL-Nachzugs und Teilverkaufs, die zweite hin zum Zeitpunkt des Schließens der Restposition.

                  Funktioniert also alles wie gewünscht! Insbesondere im Fall des Buy-Teilverkaufs am 9. August um ca. 13 Uhr sieht man, wie positiv sich ein solcher Teilclose auf das Ergebnis auswirken kann. Die zwischenzeitlichen Kursgewinne konnten hier zumindest zur Hälfte (Teilverkauf von 50%) mitgenommen werden, während für die Restposition bei Gegensignal immerhin noch ein kleiner Gewinn verblieb.

                  Wollen Sie noch mehr MQL4 und EA-programmieren lernen? Vielleicht sogar von Grund auf?

                  MQL4-Intensivkurs in Stuttgart

                  Wollen Sie von Grund auf lernen, eigene EA's zu programmieren? Möchten Sie mit mir und Gleichgesinnten gemeinsam ein Grundgerüst für einen MT4 Expert Advisor erstellen, auf dem aufbauend Sie weiter entwickeln und lernen können? 

                  Dann kommen Sie Ende Oktober zum nächsten MQL4-Intensivkurs - EA-programmieren lernen. Alle Details erfahren Sie hier: https://www.mindfulfx.de/mql4intensivkurs/

                  Ich freue mich auf Sie!

                  Allerbeste Programmier- und Tradingerfolge wünscht
                  Cristof Ensslin von mindful FX, Ihr EA-Programmierer