Trendfolge Blog

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

      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

          Open Range Breakout EA programmieren

          Am vergangenen Dienstag, 9.4., habe ich, gemeinsam mit Ihnen, in einer LIVE-Programmier-Session den ersten Teil eines Expert Advisors (EA) für MetaTrader 4 (MT4) zum Automatisieren der beliebten Open Range Breakout Strategie programmiert. Die Teilnehmer des sehr gut gefüllten Webinar-Raums konnten dabei sehen und lernen, wie der EA

          1. mittels einer Programmierschleife die vergangenen M1-Kerzen im Chart nach deren Zeitstempel sowie deren Höchst- und Tiefstkursen durchsucht,

          2. mittels Wenn-dann-Abfragen und mathematischen Logiken die Handelsspanne des gewünschten Zeitraums ermittelt und

          3. diese Angaben nutzt, um ein blaues Rechteck in den Chart einzuzeichnen, das diese Range farbig markiert.

          Sehen Sie in der folgenden Webinaraufzeichnung selbst, wie wir dabei vorgegangen und welches Ergebnis dabei herausgekommen ist:

          Danke für all Ihre aktive Teilnahme am Webinar!

          Kostenloser Download des EA’s

          Um den EA zum Stand des Webinarendes absolut kostenlos und unverbindlich herunterzuladen, klicken Sie hier, um zum Bestellformular zu gelangen.

          Wichtig an dieser Stelle ist unser HAFTUNGSAUSSCHLUSS UND RISIKOHINWEIS: dieser EA stellt keine Handelsempfehlung dar, sondern dient lediglich zur Veranschaulichung des MQL4-Programmierens und somit nur für Lernzwecke des EA-Programmierens. Nutzen Sie ihn ausschließlich auf Demo-Konten!

          Erweiterte Version des EA’s kommt; und Sie können mit dabei sein

          Der EA ist in seinem jetzigen Stadium noch nicht fertig. Er kann lediglich die oben beschriebenen Dinge. Was ihm fehlt sind unter anderem

          • Handelssignale und automatische Tradeeröffnung

          • Deal- und Risikomanagement

          • gewisse Vorkehrungen im Code, die die Stabilität der Funktionalitäten auch bei MT4-Absturz oder -Neustart gewährleisten.

          All das werde ich für Sie und gemeinsam mit Ihnen in drei weiteren online LIVE Programmier-Sessions in den kommenden Wochen durchführen. Sie können mit von der Partie sein und

          • LIVE mitprogrammieren und dadurch das EA-Programmieren lernen

          • Durch Anregungen und Wünsche die Funktionalitäten des EA’s mitgestalten

          • mich direkt in den online Sessions fragen, was Sie schon immer über EAs, MT4, MQL4-Programmieren, Trading etc. wissen wollten.

          Die Sessions finden an den drei verbleibenden Dienstagen des April statt, jeweils 19 Uhr bis 20 Uhr: also 16.4., 23.4. und 30.4. Diese Programmierstunden werde ich für Sie aufzeichnen, so dass Sie nichts verpassen werden, auch wenn Sie mal eine Sitzung nicht dabei sein können. Sie erhalten auch immer den aktuellen Code-Stand als mq4-Datei direkt im Anschluss an jede Session. Die Kursabende werden wir übrigens über die sehr leicht bedienbare online-Videokonferenz-Plattform Zoom.us durchführen.

          Klicken Sie hier für alle Informationen und melden sich am besten gleich an, um sich Ihren Platz zu sichern. Ich freue mich auf Ihre Teilnahme.

          Ganz herzliche Grüße
          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

            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

            Übergeordnete Trendeinschätzung umsetzen im MAXingPro EA

            Neulich erreichte mich eine Frage zu den Einstellungsmöglichkeiten des EA's mFX-MAXingPro. Dieser EA für MT4 handelt Signale aus Kreuzungen von zwei frei einstellbaren Moving Averages. Er kann die Kreuzungen je nach Wunsch des Traders trendfolgend, aber auch konträr umsetzen.

            Nun die Frage des EA-Käufers:

            Folgendes Problem bzw. folgender Wunsch:
            was muss ich machen, wenn ich nur Longsignale handeln will und der Deal beim nächsten Shortsignal geschlossen wird?
            Ich gehe bei den ganzen Überlegungen von dem von ihnen programmierten mFX-MAXingPro EA aus. Wenn ich einen stabilen Trend habe, kann ich ja festlegen, ob ich beim 1. Signal long oder short gehen will. Bei der nächsten Richtungsänderung soll der Deal geschlossen werden und dann soll der EA wieder beim nächsten Longsignal aktiv werden.
            — ein Käufer des mFX-MAXingPro EA's

            Danke für Ihre Frage. Den gewünschten Effekt erzielen Sie, indem Sie folgende Einstellungen im EA vornehmen:

            Close_bei_Gegensignal = true
            Max_offeneBuys = 1
            Max_offeneSells = 0
            Max_offeneDeals = 1

            Im Screenshot nebenan sehen Sie, wie dies dann in den EA Eingaben aussieht.

            So erreichen Sie, dass Sie den EA je nach Ihrer übergeordneten Trendeinschätzung z.B. nur Buy-Signale handeln lassen. Sie sind generell bullisch für den EURUSD, Brent oder DE30? Dann können Sie somit den MA-Kreuzungs-EA mFX-MAXingPro für MT4 entsprechend einsetzen und die Aufwärts-Swings mitnehmen.

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

            PS: alle Infos und den Sofortdownload des Expert Advisors für MetaTrader 4 mFX-MAXingPro finden Sie unter folgendem Link: https://www.mindfulfx.de/maxingpro-ea

            Wie programmiert man einen EA, damit Range-Ausbrüche nur auf Schlusskursbasis getradet werden?

            In diesem Blogpost zeige ich Ihnen, wie Sie einem Expert Advisor (EA) für MetaTrader 4 (MT4) sagen können, dass er Signale nur auf Schlusskursbasis handeln soll. Das bedeutet, dass zum Eröffnungstick einer jeden Kerze der gerade festgestellte Kerzenschluss der Vorperiode analysiert wird. Das geschieht dann anstelle der ständigen Tick-für-Tick-Beobachtung.

            Ein Beispiel anhand unseres mFX-HochTiefAusbruch EA's: dieser vergleicht bislang bei jedem Kurstick, ob der aktuelle Bid-Kurs höher oder tiefer als die Handelsspanne der letzten 24 abgeschlossenen Kerzen liegt, wobei die Periodenanzahl '24' einstellbar ist durch den EA-Nutzer. Wenn ein Kursausbruch aus dieser gleitenden Range auf dieser kontinuierlichen Beobachtungsbasis vorliegt, tradet der EA vollautomatisch in Ausbruchsrichtung.

            Was aber, wenn Sie als Trader auf den Schlusskurs warten und damit eine eindeutige Signalbestätigung erhalten möchten, um viele voreilige Fehlsignale herauszufiltern? (Eine sehr ähnliche Schlusskurs-orientierte Ausbruchsstrategie hat übrigens die legendären Turtle Trader aus Chicago berühmt und reich gemacht.)

            Um ein Chart-Beispiel für Ausbruch auf Schlusskursbasis und Fehlausbruch auf kontinuierlicher Beobachtungsbasis zu betrachten, sehen Sie sich bitte obiges Video von Minute 0:27 bis Minute 1:24 an. Dann sehen Sie sofort, was ich meine.

            Jetzt zeige ich Ihnen die Elemente im MQL4-Code des EA's, die notwendig sind, um dieses Ziel zu erreichen. Geänderte oder neue Codebestandteile werde ich dabei in Fettschrift darstellen.

            Schritt 1: EA-Datei unter neuem Namen abspeichern und Versionsnummer und Datum ändern

            Zunächst öffnen wir die mq4-Datei des EA's mFX-HochTiefAusbruch, die wir schon haben, und speichern sie unter einem neuen Namen (mFX-HochTiefAusbruch_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.

            Nun ändern wir die Versionsnummer und das Erstellungsdatum ab, um unsere Arbeit im EA jederzeit identifizieren können. Die geänderte Code-Zeile lautet:

            #property version "1.50" // 14.08.2018

            Die neue Versionsnummer in Anführungszeichen wird nun im Reiter "Allgemein" des EA-Eigenschaften-Fensters ohne Anführungszeichen angezeigt.

            Schritt 2: Neue Eingabevariable definieren

            Wir fügen nun im Code-Block der Eingabevariablen eine neue durch den EA-Nutzer in den EA-Eingaben einstellbare boolesche Variable ein, also ein True/False- bzw. An/Aus-Schalter. Damit können wir später in der Nutzung des fertigen EA's zwischen alter und neuer Version hin und her springen, z.B. um in Tests festzustellen, in welcher Marktphase die ständige Ausbruchsbeobachtung besser ist und wann wir lieber die Schlusskursbetrachtung bevorzugen sollten.

            Die neue, eingefügte Code-Zeile lautet:

            extern bool AusbruchNurAufSchlusskursBasis = true ;

            Schritt 3: Eröffnungstick einer neuen Kerze erkennen

            Als nächstes benötigen wir einen Mechanismus, der feststellt, wann eine neue Kerze eröffnet wurde. Denn im Moment der neuen Kerzeneröffnung liegt uns effektiv ein gerade abgeschlossener Kerzenschlusskurs vor, den der EA auf Range-Ausbruch hin untersuchen soll.

            Dazu brauchen wir zunächst eine neue Datum-und-Zeit-Variable (Variablentyp "datetime" in MQL4) auf globaler Basis, also außerhalb aller Funktionen definiert. Diese Variable kann somit in der OnInit-Funktion einen ersten Wert erhalten, der dann einfach in der OnTick-Funktion verwertet werden kann.

            Wir nennen sie "CurrentTimeStamp", also der Zeitstempel der aktuellen Kerze, und fügen diese Variable im relevanten Code-Block zu schon bestehenden, global verfügbaren datetime-Variablen des EA's hinzu:

            datetime SignalTime, Waitzeit, WaitzeitTP, CurrentTimeStamp ;    

            Schritt 4: neue Variable mit erstem Wert belegen  

            In der OnInit-Funktion, die einmalig bei jedem Start des EA's durchlaufen wird, lassen wir den EA nun die neue Variable CurrentTimeStamp mit dem ersten Wert belegen. Das nennt sich auch "initialisieren".

            Innerhalb der geschweiften Klammern der OnInit-Funktion fügen wir folgende Code-Zeile ein:

            CurrentTimeStamp = Time[0] ;

            Time[0] fragt den Zeitstempel (Time) der aktuellen Kerze ([0]) ab. Time[1] wäre der Zeitstempel der zuletzt abgeschlossenen Kerze, Time[2] der davor etc.

            Schritt 5: Tick für Tick den Chart auf neue Kerze hin überprüfen

            Nun bewegen wir uns zur OnTick-Funktion. Das ist der Code-Bestandteil, in dem Sie definieren, was der EA bei jedem Empfang eines Kursticks des gewählten Chartsymbols berechnen und ausführen soll.

            Hier überprüfen wir nun jeden Tick, ob der Zeitstempel der aktuellen Kerze noch dem in der Variable CurrentTimeStamp festgehaltenen Wert entspricht. Wenn ja, befinden wir uns offensichtlich noch in der selben Kerze wie zum vorherigen Tick. Wenn nein, was in MQL4 durch die Zeichenkombination != geprüft wird, dann ist soeben eine neue Kerze eröffnet worden.

            In diesem letzteren Fall müssen wir eine zuvor neu definierte Wahr-Falsch-Variable NewBar (englisch für neuer Balken, neue Kerze) für diesen einen Kurstick auf WAHR (true) stellen sowie die CurrentTimeStamp-Variable auf den jetzt vorhandenen Zeitstempel anpassen.

            Das alles geht folgendermaßen:

            bool NewBar = false ;
            if (Time[0]  != CurrentTimeStamp)
               {
               NewBar = true ;
               CurrentTimeStamp = Time[0] ;
               }

            Für den Rest des OnTick-Codes, also alles, was unterhalb dieses eben eingefügten Code-Blocks geschrieben ist, kann nun die Variable NewBar, die nun exakt einen Tick lang auf True steht, als Hinweis auf die Kerzeneröffnungs-Situation verwertet werden.

            Schritt 6: Handelssignal auf beide Ausbruchsmethoden anpassen

            Den bestehenden Code, der ein Ausbruchs-Handelssignal in der kontinuierlichen Betrachtungsmethode auslöst, müssen wir nun daraufhin anpassen, dass er nur noch dann durchlaufen wird, wenn eben diese Ausbruchsmethode ausgewählt ist. Wir erinnern uns an Schritt 3: das wird dadurch durch den EA-Nutzer gesteuert, dass die Eingabevariable AusbruchNurAufSchlusskursBasis auf False gesetzt wird.

            Das fragen wir nun so ab:

            if ( !AusbruchNurAufSchlusskursBasis && Bid > LongLevel && HandelsRichtung >= 0 ) LongSignal = true ;
            if( !AusbruchNurAufSchlusskursBasis && Bid < ShortLevel && HandelsRichtung <= 0 ) ShortSignal = true ;

            Hinweise: LongLevel und ShortLevel sind Variablen, die aus Range-Untergrenze bzw. Range-Obergrenze ermittelt werden, siehe weiter unten. HandelsRichtung ist eine Eingabevariable des EA's, die die erlaubte Handels-Richtung definiert, also Long (1), Short (-1), oder Long&Short (0).

            Nun ergänzen wir Code für den Fall, dass AusbruchNurAufSchlusskursBasis auf True eingestellt ist:

            if ( AusbruchNurAufSchlusskursBasis && NewBar && Close[1] > LongLevel && HandelsRichtung >= 0 ) LongSignal = true ;
            if ( AusbruchNurAufSchlusskursBasis && NewBar && Close[1] < ShortLevel && HandelsRichtung <=0 ) ShortSignal = true ;

            Damit fragen wir nun diese Ausbruchslogik nur einmal pro Kerze ab (NewBar, also zum ersten Tick einer Kerze) und vergleichen dann den gerade festgestellten Schlusskurs (Close[1]) mit der Range.

            Schritt 7: Range aus den richtigen Kerzen ermitteln

            Kommen wir nun zur Range-Ermittlung, also zur Berechnung der Variablen LongLevel und ShortLevel. Diese müssen wir nun noch so anpassen, dass sie bei der Schlusskurs-basierten Verwendung unseres Ausbruch-EA's die Range aus den richtigen Kerzen ermittelt.

            Wir befinden uns ja im Moment der Kerzeneröffnung schon in einer neuen Kerze, wollen aber nun die Vorkerze mit den vor dieser Vorkerze liegenden Extremkursen vergleichen. Daher müssen wir die Höchst- und Tiefstkursabfrage um eine Kerze nach links verschieben, den Abfrage-Shift also um eins erhöhen.

            Das machen wir so:

            int barshift = 0 ;
            if ( AusbruchNurAufSchlusskursBasis ) barshift = 1 ;
            double RangeUp = High [ iHighest ( NULL, 0, MODE_HIGH, HochTief_Perioden, 1+barshift ) ] ;
            double RangeLo = Low [ iLowest ( NULL, 0, MODE_LOW, HochTief_Perioden, 1+barshift ) ] ;
            double LongLevel = RangeUp + ( Puffer_Pips * UsePoint ) ;
            double ShortLevel = RangeLo - ( Puffer_Pips * UsePoint ) ;

            LongLevel und ShortLevel werden in dieser Programmierweise durch einen Zwischenschritt berechnet. Zunächst berechnen wir die Variablen RangeUp und RangeLo, die den höchsten Höchstkurs bzw. den tiefsten Tiefstkurs innerhalb der durch die Eingabevariable HochTief_Perioden in Anzahl Kerzen definierten Rangedauer zugewiesen bekommen. Danach adjustieren wir die Range noch um einen manuellen Puffer, der durch die Eingabevariable Puffer_Pips in Pips vom EA-Nutzer definiert wird. UsePoint enthält dann unsere Pip-Definition: 1 Pip = 0,0001 Kursbewegung, wenn 4- oder 5-stellig quotiert wird; 1 Pip = 0,01 Kursbewegung, wenn 3-stellig quotiert wird; 1 Pip = 1,00 Kursbewegung, wenn 0-, 1- oder 2-stellig quotiert wird.

            Diese sieben Schritte sind nun im MQL4-Code für den EA mFX-HochTiefAusbruch eingefügt, wodurch Sie nun ab sofort in Deals einsteigen können, so wie die Turtle Traders aus Chicago es getan hätten - nur mit dem klitzekleinen Unterschied, dass Sie es mit einem EA voll automatisch haben können anstatt manuell die Märkte überwachen zu müssen.

            Wollen Sie mehr EA-programmieren lernen? Kommen Sie einfach zu meinem Präsenz-Workshop MQL4-Intensivkurs - EA-programmieren lernen in Stuttgart im Oktober. Klicken Sie hier oder auf das Bild, um sich zu informieren und dann anzumelden.

            Herzliche Grüße und beste Wünsche für Ihr eigenes Trading
            Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer

            Drawdown, Profitfaktor, Rendite und Gewinn: Trading-Ergebnisse unter der Lupe

            Letzte Woche in meinem Blog Top 3 Erfolgs- und Risiko-Maße im EA Trading bat ich um Ihre Mitarbeit, um eine Wortwolke (Wordcloud) zu erstellen mit den wichtigsten 3 Maßstäben, an denen wir alle unsere EAs statistisch messen können.

            Vielen Dank für Ihre super Mitwirkung! Sie sind spitze!

            Stand heute (in den Morgenstunden des 12.7.2018) gaben insgesamt 30 Trader Ihre Stimmen ab. Daraus erstellte uns Mentimeter vollautomatisch und im Handumdrehen folgende Wortwolke:

            Die Anzahl der gleichen Stimmabgaben bestimmt die Größe des Eintrags im Layout der obigen Wortwolke. Gold und Silber sind eindeutig vergeben, der dritte Platz ist meiner Interpretation nach geteilt:

            1. Drawdown
            2. Profitfaktor
            3. Gewinn in Kontowährung
              Rendite p.a.

            Was mir gleich auffällt, ist, dass meine EA-Trader-Community das Risiko einer Trading-Strategie als wichtigstes Erfolgskriterium im Blick hat. Das lässt mein Herz höher schlagen und die Hoffnung steigern, dass wir hier gemeinsam Stück für Stück uns in die 10% der erfolgreichen Trader reinarbeiten. Denn simpel, aber wahr: wer den maximalen Rückgang des Kontowerts gering hält, hat es einfacher, verlorenen Boden wieder gut zu machen.

            Der Profitfaktor kombiniert elegant die Trefferquote und den durchschnittlichen Gewinn und Verlust eines Trading-Robots und ist somit sehr nützlich. Zusammen mit Gewinn und Rendite sollten diese vier Risiko- und Erfolgs-Maßstäbe dem ernsthaften EA-Trader einen guten Einblick geben, um eine Strategie bewerten zu können.

            In den kommenden Wochen und somit Blog-Artikeln werde ich Drawdown, Profitfaktor, Rendite und Gewinn ausführlich (und hoffentlich leicht verständlich) erklären.

            Bleiben Sie also informiert, indem Sie sich hier rechts in meinen wöchentlichen Infomail-Verteiler eintragen. Es wird sich lohnen. Denn nur wer die harten Fakten seiner EAs kennt, versteht und daraus Konsequenzen zieht, kann ständig dazu lernen und ein immer besserer Trader werden.

            Herzliche Grüße und bis nächsten Freitag
            Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer

            Automatisierung des Recovery Zone Systems mittels Trading-Robot, speziell als EA für MT4.

            In den letzten drei Blog-Artikeln haben wir ausführlich über das Recovery Zone Trading System gesprochen. Auch als Zone Recovery oder Hedge Zone bekannt, zielt dieser Algorithmus mit Hilfe einer Dealserie mit sich anpassenden Lotsizes (Handelsvolumina) darauf ab, aus jeder Position mit einem festgelegten Mindest-Gewinn auszusteigen, falls sie nicht ins angedachte Gewinnziel läuft, sondern sich in den Verlust bewegt.

            Lesen Sie dazu den Artikel Recovery Zone verspricht jeden Deal mit Gewinn zu schließen.

            Wie genau sich das Nominalvolumen der Folgedeals ermittelt, haben wir mittels einer simplen Formel kennen gelernt. Sie beinhaltet vier Elemente:

            1. die Größe der Recovery Zone
            2. die bislang durch Drehen der Position aufgelaufenen Verluste
            3. die Kursdistanz, die jeder Deal als Gewinnziel erhält
            4. der Mindestgewinn, mit dem wir uns im Fall der Recovery Zone Verwendung begnügen.

            Dazu habe ich Ihnen ein kostenfrei verwendbares Spreadsheet vorbereitet, das Sie in diesem Artikel abrufen können: Recovery Zone Spreadsheet: Lotsize- und Risiko-Berechnungen schnell durchführen.

            Letzte Wochen haben wir in einer Analyse der Marktphasen dann einen ersten Eindruck gewonnen, wann dieses Handelssystem vielversprechend ist versus wann es hohe Risiken birgt.

            In einem Satz ausgedrückt: in Phasen steigender Volatilität, z.B. gemessen am 14-Tages-ATR, bringt ein Deal, der mittels Recovery Zone Systematik gemanagt wird, mit hoher Wahrscheinlichkeit Gewinn ein.

            Alle Details dieser Marktphasenanalyse, die ich mit unserem mFX-RecoveryZone Expert Advisor (EA) auf einem EURUSD-Chart im Strategietester des MetaTrader 4 (MT4) durchführte, können Sie hier nochmal nachlesen: Meine Einschätzung zu den passenden Marktphasen für das Recovery Zone System.

            Wie lässt sich das Recovery Zone Prinzip mittels Trading-Robot automatisieren?

            Obwohl eine manuelle Umsetzung des Recovery Zone Algorithmus möglich ist, ist es ratsam, eine solche Technik zu automatisieren. Das bringt Schnelligkeit, Emotionslosigkeit und Präzision in der Umsetzung.

            Daher haben wir für uns und Sie einen EA für MT4 namens mFX-RecoveryZone produziert, der

            1. in allen oben genannten Punkten individuell eingestellt werden kann,
            2. daraus die Lotsizes der Dealserie vollständig autonom ermittelt,
            3. das theoretische Maximalrisiko des Recovery Zone Setups vorab berechnet und uns darüber vor dem ersten Deal informiert und
            4. der dann die Strategie in Manier eines Trading-Robots automatisch umsetzt.

            Dazu muss der Trader selbst nur noch die passende Marktphase für das gewählte Asset finden und sicherstellen, dass der EA ständig mit seinem Broker verbunden ist - z.B. über Verwendung eines VPS, auf dem der EA und der MT4 installiert und mit dem korrekten Konto eingeloggt ist.

            Aktuelles Einsatzbeispiel

            Nach ein bisschen Suche konnte ich den EURAUD-Chart als guten Kandidaten identifizieren. Im Tages-Chart steigt die Average True Range (ATR) der letzten 14 Tage eindeutig an. Hier kann ich nun zum Beispiel folgende Einstellungen vornehmen:

            1. Kursdistanz, die jeder Deal als Gewinnziel erhält: 100% der aktuellen ATR = 122 Pips
            2. Größe der Recovery Zone: 50% der aktuellen ATR = 61 Pips
            3. Anfängliche Lotsize 1.0 Lots, also 100.000 EUR Nominalvolumen.
            4. Mindestgewinn, mit dem wir uns im Fall der Recovery Zone Verwendung begnügen: 10% der aktuellen ATR = 12,2 Pips (bzw. 12.2 im englischen Zahlenformat)
            5. Als maximale Dealserien-Länge wähle ich zunächst 10 Deals.
            6. Falls mathematisch Lotsizes mit mehr als 2 Nachkommastellen errechnet werden, sollen diese aufgerundet werden.

            Wenn ich nun auf OK klicke, kalkuliert der EA zunächst die Lotsizes der aus den eingegebenen Variablen nach der besprochenen Formel resultierenden Dealserie. Danach kann er das Maximalrisiko dieses Setups in Kontowährung sowie Prozent des aktuellen Kontowerts ermitteln, jeweils aufgerundet auf de nächst-höhere ganze Zahl. Das Ergebnis zeigt der Trading-Robot uns sogleich an:

            Mir persönlich sind 21% des aktuellen Kontowerts zu viel Risiko, auch wenn die Eintrittswahrscheinlichkeit für diesen Verlust sehr gering ist. Daher klicke ich vorerst auf "Nein".

            Daraufhin wird der EA deaktiviert, wodurch keinerlei Deals geöffnet werden können. Er verbleibt aber auf dem Chart, um die eben gemachten Einstellungen zu speichern. Mit F7 auf der Tastatur gelange ich wieder in die Experten Eigenschaften zu den Eingaben der Variablen. 

            Da ich an den Pip-Abständen (Recovery Zone / SL, TP-Distanz und Kursgewinn der Dealserie= nichts ändern möchte, reduziere ich die Startlotsize von 1.0 auf 0.5. Außerdem verkürze ich die Dealserie von maximal 10 auf maximal 6: 

            Die Dealserien-Verkürzung erhöht die Verlustwahrscheinlichkeit ein wenig. Das bekomme ich dadurch "entlohnt", dass ich ein deutlich niedrigeres Verlustrisiko habe. Außerdem habe ich ja schon durch die Wahl der Marktphase einer an der ATR gemessen steigenden Vola meine Erfolgschance maximiert.

            Folgende Werte hat der mFX-RecoveryZone EA nun mit den veränderten Parametern in Sachen Dealserien-Lotsizes und Maximalrisiko berechnet:

            Mit 2% Risiko auf das aktuelle Kontoequity bezogen kann ich leben. Das Risiko gehe ich ein und klicke auf den Ja-Knopf des Dialogfensters, das mir der EA so schön vorgelegt hat.

            Nun kann es los gehen, indem ich entscheide, ob mit Buy oder Sell von 0.5 Lots gestartet werden soll:

            Ich gehe derzeit, sagen wir, von tendenzieller Euro-Schwäche aus. Daher starte ich mit 0.5 Lots Sell, indem ich auf den roten der beiden Buttons rechts im Chart klicke.

            Ein Bestätigungsdialog fragt mich, ob ich das auch wirklich tun möchte - denn es könnte ja sein, dass ich aus Versehen den Buttonklick ausgelöst habe. Auch habe ich nochmal die Chance sicherzustellen, dass ich noch keine anderen Deal oder Dealserien mit der eingestellen MagicNumber 180403 (s.o. in den Screenshots mit den Variablen Eingaben in den EA Eigenschaften, wo Sie neben der Einstellung der MagicNumber, anhand derer der EA seine eigenen Deals wieder erkennt, übrigens auch diesen Bestätigungsdialog ausschalten können) offen habe:

            Alle Checks sind meines Erachtens erfolgreich absolviert, also klicke ich auf OK. Dadurch wird sofort eine Market-Order Sell 0.5 Lots in meinem Demokonto eröffnet. Sekundenbruchteile später übermittelt der EA mFX-RecoveryZone den SL für diesen ersten Sell-Deal, Deal Nr. 1 der Dealserie. Auf gleichem Kurslevel wie der SL wird zudem eine BuyStop-Order platziert, Deal Nr. 2 der Dealserie, mit den Berechnungen entsprechender Lotsize. Außerdem zeichnet der EA die Recovery Zone (innere rote Linien) sowie die Gewinnziele für Buy und Sell (äußere rote Linien) ein:

            Ab diesem Moment läuft nun alles voll automatisch durch den Trading-Robot. Sollte der Kurs nach oben gehen und sowohl Sell SL als auch Buy Stop erreichen, wird Deal Nr. 1 geschlossen und die Recovery Zone beginnt. Deal Nr. 2 ist nun nicht mehr Buy Stop, sondern ein Buy. Der EA platziert dann sofort eine Sell Stop Order mit der vorher ermittelten Lotsize für Deal Nr. 3.

            Wird nun beim letzten Deal der Dealserie, in unserem Beispiel Deal Nr. 6, wieder das andere Ende der Recovery Zone oder aber hoffentlich vorher das obere oder untere Gewinnziel erreicht, in unserem Beispiel bei entweder 1,58872 AUD pro EUR oben oder 1,55822 AUD pro EUR auf der Unterseite, ist die Dealserie beendet. Es werden vom EA wieder der blaue BUY- und der rote SELL-Button eingeblendet. Der EA wartet also nach Beendigung der Dealserie auf einen Eingriff des Traders, um erneut eine Dealserie zu starten.

            Gleiches gilt, wenn uns die ganze Sache schon vor Erreichen eines der gerade genannten, natürlichen End-Szenarien zu bunt wird und wir den "AllesSchliessen"-Button betätigen. Dieser wird eingeblendet, sobald eine Dealserie mit Buy oder Sell gestartet wurde.

            Dass der EA-Nutzer wieder zur Tat gebeten wird, ist durchaus sinnvoll. Denn er kann so die Situation auf dem Chartsymbol (hier EURAUD) neu einschätzen, Chancen und Risiken aktuell abwägen und dann bewusst die gleiche Einstellung erneut verwenden, Variablen anpassen oder komplett das Chart wechseln.

            Der Expert Advisor mFX-RecoveryZone für MetaTrader 4 kann übrigens auf bis zu 100 Charts gleichzeitig installiert werden und unabhängig voneinander laufen. Wenn unter allen Charts, die auf das gleiche Tradingkonto zugreifen, mehrere Charts das gleiche Symbol haben, achten Sie bei der Verwendung der EAs unbedingt darauf, dass Sie pro Chart mit gleichem Symbol unterschiedliche MagicNumbers vergeben. Nur so können diese Trading-Robots garantiert ihre eigenen Deals von denen anderer EAs unterscheiden.

            Weitere Programmier-Möglichkeiten

            Erweiterungen zu der im vorherigen Blog-Abschnitt beschriebenen EA-Programmierung sind durchaus möglich. Ideen dazu gibt es mannigfaltig. So könnte

            • ein Volatilitätsmaß eingebaut werden
            • Indikatoren zur Festlegung der Erstrichtung befragt werden
            • ein Regelwerk zur automatischen Ermittlung der Kursabstände für Recovery Zone und Gewinnziele integriert werden
            • die Folgerichtung andersartig alterniert werden, weil ja nicht unbedingt die Richtungsumkehr entscheidend ist, sondern es vielmehr auf Folge-Lotsize und Wegstrecke zum Take Profit Kurs ankommt.

            Ich habe mich ob all dieser Freiheitsgrade bewusst dazu entschieden, den ab sofort unter http://www.mindfulfx.de/recoveryzone-ea auch für Sie im Sofortdownload verfügbaren MT4-EA mFX-RecoveryZone wie oben beschrieben vergleichsweise einfach zu halten. Daher

            1. ist er leicht zu bedienen
            2. bleibt er sehr erschwinglich
            3. können Sie seine Aktionen vollständig nachvollziehen

            Wenn Sie die Variante MQ4 kaufen, können Sie dann sogar Ihre eigenen Ideen nach freiem Belieben als weitere Funktionalitäten in den EA einbauen oder einbauen lassen.

            Alles Gute für Ihre Programmier- und Tradingaktivitäten
            Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer

            Meine Einschätzung zu den passenden Marktphasen für das Recovery Zone System

            In den letzten beiden Blogposts ging es um das so genannte Recovery Zone Prinzip, auch Zone Recovery oder Hedge Zone genannt, im Trading mit oder ohne Expert Advisor (EA). Es verspricht, jeden Deal mit Gewinn schließen zu können.

            Zunächst zeigte ich Ihnen die Vorgehensweise selbst (Recovery Zone verspricht jeden Deal mit Gewinn zu schließen). Darauf folgte die letztwöchige Vorstellung eines Spreadsheets, mit Hilfe dessen Sie Chancen und Risiken (ja, die gibt es - die Recovery Zone ist kein heiliger Gral!) sowie die einzelnen Lotsizes der Deal-Serie schnell und zuverlässig berechnen können (Recovery Zone Spreadsheet: Lotsize- und Risiko-Berechnungen schnell durchführen).

            So weit, so gut. Wie bei allen EAs bzw. Tradingmechanismen der Fall, ist auch das Recovery Zone Prinzip kein Selbstläufer. Es muss gezielt in bestimmten Marktphasen eingesetzt werden, um Erfolg zu bringen. 

            Wir erinnern uns: durch den Richtungswechsel am jeweils gegenüber liegenden Ende der Recovery Zone sind wir quasi unabhängig davon, in welche Richtung die Reise des Kurses im Endeffekt geht. Ob hoch oder runter, wir können in beiden Szenarien unser Gewinnziel erreichen. Dafür darf das Asset (z.B. EURUSD, Dax-CFD, Gold etc.) aber nicht innerhalb der Recovery Zone gefangen sein, weil wir sonst durch den ständigen Richtungswechsel Verluste ansammeln, die Lotsize erhöhen müssen und irgendwann das gesetzte Maximalrisiko erreichen.

            Um also die Wegstrecke in den Take-Profit-Abstand zurücklegen zu können, ohne vorher zu oft die Recovery Zone durchkreuzt zu haben, benötigt der Kurs ein Mindestmaß an Volatilität. Sehen wir uns fünf verschiedene Marktphasen an:

            Marktphasencheck für Recovery Zone EA

            #1: Kurs seitwärts bei niedriger, fallender Vola

            #2: Kurs seitwärts bei niedriger, nur leicht fallender Vola

            #3: Kurs tendiert aufwärts bei stark ansteigender Vola

            #4: Kurs seitwärts mit Swings, bei hoher, aber fallender Vola

            #5: Kurs tendiert abwärts bei leicht ansteigender Vola

            Fazit

            Das Recovery Zone Prinzip ist in einer ruhigen oder ruhiger werdenden, seitwärts laufenden Marktsituationen auf alle Fälle zu vermeiden. Wie volatil die Marktphase ist, haben wir dabei anhand der Average True Range (ATR) gemessen, die als Standard-Indikator im MetaTrader 4 und 5 mitgeliefert wird.

            Profit-versprechend ist das Trading mit einer Recovery Zone Dealserie in der Regel dann, wenn:

            • für die gewählten SL- und TP-Einstellungen der Systematik bzw. des EA's eine genügend hohe Volatiltät vorliegt
            • die Volatilität tendenziell ansteigt
            • ein klarer Abwärts- oder Aufwärtstrend mit stabiler oder steigender Volatilität vorliegt.

            Es folgt nächste Woche ein weiterer Artikel zum Thema Recovery Zone. Darin stelle ich Ihnen vor, wie dieser Handelsalgorithmus mittels EA für MT4 automatisiert werden kann. Ich zeige Ihnen unseren Recovery Zone-EA mFX-RecoveryZone, der übrigens all die Risikoberechnungen aus dem kostenlosen Spreadsheet von letzter Woche schon eingebaut hat und den Nutzer in eleganter Art und Weise vor dem ersten Trade entsprechend informiert. Seien Sie gespannt und klicken zum Lesen auf diesen Link!

            Alles Gute, bis nächste Woche
            Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer

            Recovery Zone Spreadsheet: Lotsize- und Risiko-Berechnungen schnell durchführen

            Nach der letztwöchigen Einführung ins Recovery Zone Prinzip fürs Trading von beliebigen Assets, innerhalb und außerhalb von MetaTrader 4 (MT4), sowie mit oder ohne Expert Advisor (EA), gibt es heute wie versprochen Zugang für Sie zu einem sehr nützlichen und zielführenden Spreadsheet. Mit Hilfe dieser Tabellenkalkulation können Sie:

            1. Lotsizes der Folgedeals berechnen, je nach gewählter Kurs-Abstände, und
            2. Ihr Maximal-Risiko erkennen, je nach maximaler Länge der Dealserie und verwendeter Startlotsize.

            Das Spreadsheet habe ich für Sie bei Google Docs hinterlegt, so dass Sie es entweder dort verwenden, sich in Ihre persönliche Google Drive "Meine Ablage" abspeichern oder sich unter

            Datei -> Herunterladen als

            im gewünschten Format, z.B. MS Excel oder OpenOffice Calc, herunterladen können.

            Wichtige Hinweise: Spreadsheet-Brechnungen ohne Gewähr, Verwendung auf eigenes Risiko. Nur die Werte in den türkis hinterlegten Eingabefeldern verändern!

            Sind Sie bereit?

            Dann machen wir uns gleich ans Eingemachte und besprechen ein paar Szenarien, wie das Spreadsheet zu verwenden ist und Sie Ihre eigenen Lotsize- und Risiko-Berechnungen zum Recovery Zone Forex Trading durchführen können.

            Beginnen wir mit dem Szenario von letzter Woche:

            1. Recovery Zone, also Erstdeal Buy#1 schließen und gleichzeitig den ersten Hedgedeal Sell#2 öffnen, bei 50 Pips = 0,0050 Kursdifferenz Verlust.
              → Eingabe von 0,0050 in Eingabefeld 1. Recovery Zone / SL
            2. Auf die Erstlotsize von 1,0 Lots berechnet, wollen wir 10 Pips (=0,0010 Kursdifferenz) Gewinn machen, wenn die Recovery Zone aktiviert und somit mindestens ein Hedge notwendig wird
              → Eingabe von 0,0010 in Eingabefeld 2. Zielgewinn Dealserie.
            3. Der TP-Abstand für die Deals ist 100 Pips, also 0,0100 Kursdifferenz. Ob Erstdeal oder Folgedeals, sobald ein Deal 100 Pips Gewinn gemacht hat, wird die Dealserie beendet.
              → Eingabe von 0,0100 in Eingabefeld 3. TP Kursstrecke
            4. Erstdeal Buy EURUSD mit 1,0 Lots
              → Eingabe von 1,0 in Eingabefeld 4. Startlotsize

            Eingabefelder 5 bis 7 lassen wir zunächst wie sie voreingestellt sind. Daraus ergibt sich folgendes Bild:

            Sie sehen nun auf einen Blick:

            1. Ihr maximaler Verlust, der Auftritt, wenn alle fünf Positionen in den SL laufen: bei EURUSD also 2.940,00 USD.
            2. Ihr Gewinn, wenn der Erstdeal in den unter 3. TP Kursstrecke eingestellten Take-Profit läuft: bei EURUSD und 1,00 lots sind dies 1.000 USD.
            3. Ihr Gewinn, wenn der Erstdeal in den SL läuft und somit die Recovery Zone-Dealserie getriggert wird: bei EURUSD mit Dealserien-Zielgewinn von 10 Pips sind dies 100 USD.
            4. Die auf- bzw. abgerundeten (wie unter 7. Lotrundung eingestellt) Lots aller Positionen untereinander sowie deren Richtung.

            Feine Sache, finden Sie nicht auch?

            Diese schnelle Übersicht gibt Ihnen die erwarteten Zahlen in den verschiedenen Gewinn- und Verlust-Szenarien. Daraus leiten Sie dann selbst ab, wie hoch die jeweiligen Eintrittswahrscheinlichkeiten in der aktuellen Marktlage sind und ob die Gewinnchance Ihnen das Verlustrisiko wert ist.

            Spielen Sie nun mit den Eingabe-Variablen

            Nun spielen Sie einfach mit den Eingabe-Variablen, um ein Gefühl dafür zu entwickeln, wie sich deren Veränderungen auf das Chance-Risiko-Profil auswirken. Damit finden Sie sicherlich eine Kombination, die für das gewünschte Handelssymbol, dessen Marktphase sowie Ihre Profit-Erwartungen und Risiko-Verträglichkeit passend ist.

            Beispiel 1: Recovery Zone verbreitern

            Wenn wir einen größeren SL-Abstand verwenden, verbreitert sich die Recovery Zone entsprechend. Gleichzeitig steigt das Maximalrisiko stark an. Verdoppeln wir die Recovery Zone von 50 auf 100 Pips erhöht sich unter maximaler Verlust von unter 3 TUSD auf über 17 TUSD! Das ist überproportional und somit sehr heikel.

            Vorsicht ist angesagt, obwohl natürlich die Wahrscheinlichkeit sinkt, dass wir in einem höher-volatilen Seitwärtsmarkt gefangen werden.

            Grund für das höhere Gesamtrisiko ist die deutlich schnelleren und stärkeren Lotsize-Zuwächse von Position zu Position, die die höheren Verluste aufzuholen versuchen. Sehen Sie selbst im Spreadsheet:

            Beispiel 2: höherer Zielgewinn für die Dealserie

            Der Zielgewinn für die gesamte Dealserie ist ein deutlich sanfterer Hebel. Verdoppeln wir ihn von 10 auf 20 Pips, verdoppelt sich der Gewinn der Dealserie entsprechend von 100 auf 200 USD bei 1,0 Lots in EURUSD, siehe folgender Screenshot des Spreadsheets:

            Im Vergleich mit dem Basisszenario (50 Pips Recovery Zone) erhöht sich das Maximalrisiko in Prozent ausgedrückt unterproportional von 2.940 USD auf gerade einmal 3.350 USD. Absolut betrachtet ist die Verlustrisikosteigerung von 410 USD aber dennoch höher als die 100 USD Gewinnsteigerung.

            Beispiel 3: größerer Take-Profit-Abstand

            Mit dem TP-Abstand, den jede Position als Kursgewinn erwirtschaften muss, haben wir wieder einen längeren Hebel in der Hand. Verdoppeln wir ihn von 100 auf 200 Pips, geschehen im Vergleich zum Basis-Szenario folgende Dinge:

            1. Der Maximalverlust sinkt um mehr als die Hälfte von 2.940 USD auf 1.370 USD.
            2. Der mögliche Gewinn mit dem Erstdeal, sollte dieser ins TP laufen, verdoppelt sich bei 1,0 Lots Startvolumen von 1 TUSD auf 2 TUSD.
            3. Die Lotsizes der Folgedeals bleiben lange auf verhaltenem Niveau: für alle vier Folgepositionen benötigen wir deutlich unter der Startlotsize liegende Nominalvolumen, wie Sie im nachfolgenden Screenshot des Spreadsheets deutlich sehen können.

            Woran liegt dieses Phänomen? Ganz einfach: die Wahrscheinlichkeit, dass 200 Pips statt nur 100 Pips Take Profit erreicht werden, ist deutlich geringer. Insbesondere ist dies der Fall, wenn wir die Recovery-Zone-Bedingung hinzunehmen, dass, bis es zum TP kommt, die Recovery Zone höchstens vier mal (bei den eingestellten maximal fünf Positionen) durchquert werden darf.

            Daraus ergibt sich ganz automatisch die Basis für das nächste und letzte Beispiel: was also, wenn wir an der maximalen Dealanzahl erhöhen?

            Beispiel 4: mehr Folgedeals erlauben

            Was passiert also, wenn wir mehr Folgedeals erlauben? Für dieses Beispiel nutzen wir als Vergleichsszenario Beispiel 3 (200 Pips TP-Abstand) und verdoppeln die maximal erlaubte Dealanzahl der Serie von fünf auf zehn Geschäfte. Im Screenshot, der folgt, sehen wir, dass sich dadurch nur am Maximalrisiko etwas verändert. Zu unseren Ungunsten wohl gemerkt:

            Der Maximalverlust steigt überproportional an, wird mehr als verdreifacht durch die Dealanzahl-Verdopplung. Auf den ersten Blick scheint man also gar nichts dafür zu bekommen, dass man sein Risiko erhöht. Wie kann das sein?

            Das unsichtbare Gut namens "Wahrscheinlichkeit" macht für das erhöhte Risiko wett. Es ist ganz einfach deutlich wahrscheinlicher, dass maximal 9 Recovery-Zone-Kreuzungen benötigt werden bis der 200 Pip TP-Fall eintritt als dass das ganze binnen nur 4 SLs geschieht.

            Spezielles Setup: Martingale

            Wenn Sie die ersten drei Eingabe-Felder

            1. Recovery Zone / SL
            2. Zielgewinn Dealserie
            3. TP Kursstrecke

            mit identischen Werten versehen, ergibt sich übrigens das klassische Martingale-Profil der Positionsverdoppelungen bei jedem Stop-Loss-Ereignis. Beispiel 50 Pips:

            Wann ist mit Erfolg und wann mit Maximalverlust zu rechnen?

            Wenn Sie mit diesem Ansatz traden wollen, ist ein ganz wichtiges Thema, wie und wann das System einzusetzen ist - unabhängig davon, ob Sie es manuell oder mit einem RecoveryZone-EA umsetzen wollen.

            Ein ständiger Dauerbetrieb des Systems wird einen mathematischen Erwartungswert vor Kosten von 0 haben - denn es gibt keinen "Free Lunch". Daher besprechen wir im nächsten Blog-Artikel bestimmte Marktsituationen und -phasen, in denen mit dem Recovery Zone Prinzip profitabel gearbeitet werden kann.

            Möchten Sie eine wöchentliche Infomail, wenn unsere neuen Blog-Artikel druckfrisch erscheinen? Dann tragen Sie sich hier rechts in unseren Email-Verteiler ein.

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

            Recovery Zone verspricht jeden Deal mit Gewinn zu schließen

            Heute stelle ich Ihnen eine Systematik für das Trading von beliebigen Handelswerten, z.B. EURUSD, Gold oder Indizes, vor, die verspricht, jeden Deal mit Gewinn oder zumindest ohne Verlust beenden zu können. Dieser Algorithmus ist unabhängig von der gewählten Handelsplattform und Automatisierungen. Er kann also auf MetaTrader 4/5 (MT4/MT5) oder jeder anderen Trading-Software und bei jedem Broker verwendet werden, sowohl im manuellen wie auch im automatisierten Trading mittels eines Expert Advisors (EA).

            Man beginnt mit einem Start-Deal, je nach Markteinschätzung oder Signal long oder short, z.B. in EURUSD. Das hier und heute Ihnen vorgestellte Handelssystem schließt den Erstdeal bei einem gewissen erreichten Verlust und eröffnet zeitgleich einen Hedge-Deal, also einen Deal in Gegenrichtung. Der Hedge-Deal hat ein an die Verlust-Situation und das Gesamt-Gewinnziel sowie den Take-Profit-Abstand angepasstes Volumen und kann weitere Hedge-Geschäfte nach sich ziehen.

            Um genau zu sein, verspricht diese Vorgehensweise also nicht, jede einzelne Position mit Gewinn zu schließen, sondern zielt vielmehr darauf ab, dass die Gewinnsumme von Originalgeschäft + Hedge-Deal-Serie (beides zusammen im folgenden als "Dealserie" bezeichnet) einen vorgebbaren Mindestgewinn erreicht. Dieser mathematisch-logische Algorithmus ist nichts geheimes, obgleich einige Internet-Auguren mit ihm oder ähnlichem als heiligen Gral, der "top secret" ist, werben.

            Ich habe bei meinen Recherchen mehrere Namensgebungen für dieses Konzept gefunden. Ob "Recovery Zone", "Zone Recovery" oder "Hedge Zone" - im Kern meinen diese alle das gleiche. Ich selbst habe mich für "Recovery Zone" zur weiteren Verwendung in diesem Blogpost entschieden.

            Eines muss ich hier gleich klarstellen: eine Garantie auf Gewinn ist auch dieses System nicht. In bestimmten Marktphasen wird die mit der Zeit mathematisch zwangsläufig notwendige Volumenserhöhung von Hedge zu Hedge, je nach Einstellung früher oder später, auch das größte Konto ausreizen.

            Damit Sie selbst für sich entscheiden können, ob so etwas wie die Recovery Zone etwas für Ihren eigenen Trading-Stil ist, zeige ich Ihnen in diesem und den nächsten Blog-Artikeln folgende Dinge:

            1. Alle Details des Systems selbst, mit hoffentlich genügend Rechenbeispielen, damit Sie es verstehen und vollkommen unabhängig anwenden können.
            2. Eine Tabellenkalkulation, die Sie sich kostenlos downloaden können, mit Videoeinführung zu deren Verwendung, um die notwendigen Trading- und Chance-Risiko-Berechnungen schnell durchführen zu können.
            3. Meine Einschätzung zu den passenden Marktphasen für das System, um unsere Gewinnchance damit zu maximieren.
            4. Automatisierungsmöglichkeiten mittels Trading-Robots, speziell als EA für MT4.

            Tragen Sie sich hier in unseren Freitags erscheinenden Newsletter ein, um über die Folge-Veröffentlichungen automatisch informiert zu werden


            Die Systematik der Recovery Zone

            Das System der Recovery Zone soll Sie davor schützen, dass Sie bei einer Fehlentscheidung oder einem Fehldeal bzw. -Signal Verluste machen. Ein Beispiel:

            Nehmen wir an, Sie starten aufgrund Ihrer Marktmeinung oder bestimmter Handelsregeln (ob mit oder ohne EA) eine Position in EURUSD z.B. long, platzieren also im MT4 eine Buy-Order. Wenn alles nach Plan verläuft, steigt der Kurs und Sie erreichen Ihr Gewinnziel oder Exitszenario. Die Recovery Zone bleibt im Gewinnfall des originalen Deals also komplett außen vor.

            Läuft's aber gegen Sie, fällt der EURUSD-Kurs also in diesem Beispiel, realisieren Sie bei Erreichen einer durch Sie festgelegten Verlust-Pip-Anzahl einen Verlust und eröffnen eine Sell-Order. Läuft dieser Hedge ins festgelegte Gewinnziel (Take-Profit), wird der Hedge geschlossen und sein Gewinn und der Verlust des originalen Geschäfts saldieren sich zum erwarteten Gesamtgewinn.

            Was passiert aber, wenn der Markt wieder dreht und die zuletzt eröffnete Sell-Order in den Verlust läuft?

            Dann wird bei gleichem Verlust-Pip-Abstand, also theoretisch exakt am Einstiegskurs der originären Buy-Order, der erste Hedge geschlossen und ein weiterer Hedge eröffnet, diesmal aber in der Buy-Richtung. Es entsteht also eine Dealserie aus Original-Geschäft und Hedge-Deals, siehe folgender Chart-Screenshot.

            Damit das alles sauber funktioniert und am Ende der erwartete Gewinn herauskommt, muss für jede einzelne dieser Hedge-Orders das korrekte Volumen, die korrekte Kontraktgröße bzw. Lotanzahl also, berechnet werden. 

            Dazu gibt es eine Formel, vor deren Befüllung Sie drei Fragen beantworten müssen:

            • Bei wie viel Verlust-Pips wird gehedgt?
            • Welches Gewinn-Ziel soll für die Dealserie gelten, in Pips auf die originale Lotsize gerechnet?
            • Wie viel Gewinn-Pips darf der Hedge benötigen, um den Verlust der Vororder(s) auszugleichen und das Gewinn-Ziel der Dealserie zu erreichen?

            Haben Sie diese Variablen festgelegt, kann nun für jede der möglichen Hedge-Orders die Lotsize berechnet werden.

            Die Formel dazu ist recht einfach und lautet:

            Summe von "Aufgelaufener Verlust (AV)" und "Gewinnziel nach Hedge (GZ)"
            geteilt durch
            "Gewinnstrecke der Hedgedeals (TP)",
            dann alles multipliziert mit "Lotsize des originalen Deals (OL)".

            Wichtig ist dabei, das "Aufgelaufener Verlust" und "Gewinnziel nach Hedge" als Pip-Anzahl bzw. Kursstrecke im Verhältnis zur Lotsize des Erstdeals ausgedrückt werden. Die "Gewinnstrecke der Hedgedeals" ist hingegen als einfacher, nominaler Kursgewinn (analog in Pips bzw. Kursstrecke) ausgedrückt.

            Wieder ein Beispiel in EURUSD, um die Formel zu veranschaulichen:

            • Erstdeal Buy mit 1,0 Lots,
            • Recovery Zone von 50 Pips,
            • Gewinnstrecke der Hedgedeals soll 100 Pips sein,
            • Gewinnziel nach Hedge ist 10 Pips (auf Erstdealgröße von 1,0 Lots grechnet).

            Kommt es zu einer Hedge-Serie durch Anwendung der Recovery Zone, begnügen wir uns also mit 10 Pips Gewinn auf die Erstlotsize gerechnet. Bei EURUSD sind 10 Pips pro 1 Lot (=100.000 EUR Nominalvolumen) 100 USD Gewinn (100.000 x 0,0010).

            Zunächst das Szenario mit einem einzigen Hedge-Deal. Wenn der Kurs vom originalen Buy-Einstieg zunächst 50 Pips fällt, schließen wir den Buy-Deal und berechnen das hedgende Sell-Deal-Volumen mit

            ( 50 Pips (AV) + 10 Pips (GZ) ) / 100 Pips (TP) = 0,6. Das Ergebnis wird multipliziert mit 1,0 (OL), also erhalten wir 0,6 Lots für den ersten Hedge-Deal.

            Hinweis: wenn Sie den Original-Deal offen lassen wollen, addieren Sie einfach das Originalvolumen zu diesen 0,6 Lots. Ich rate aber stark davon ab, denn Sie verschwenden ansonsten Finanzierungkosten (Swap), bezahlen unnötige Kommission (auf 1,6 statt 0,6 Lots) und je nach Berechnungsmethode des Brokers schränken Sie Ihre Handlungsfähigkeit durch zusätzliche Belegung freier Margin ein.

            Das 100-USD-Gewinnszenario tritt bei einem Hedge-Deal bei einem weiteren EURUSD-Kursvervall von 100 Pips ein:
            - 500 USD Verlust (50 Pips x 1,0 Lots des Erstdeals Buy)
            + 600 USD Gewinn (100 Pips x 0,6 Lots des Hedgedeals Sell).

            Läuft der Hedgedeal Sell allerdings nicht in den angestrebten Take-Profit von 100 Pips, hat der Kurs offensichtlich wieder nach oben gedreht. Steigt der Kurs nun auf den Recovery Zone-Abstand von 50 Pips über dem Einstandskurs des Hedge-Sells, wird dieser geschlossen und ein neuer Buy eröffnet. Mit welcher Lotsize?

            Zur Berechnung des Folge-Dealvolumens benötigen wir zunächst den aufgelaufenen Verlust in Pips, normalisiert auf die Erstlotsize:

            Buy #1: Verlust von 50 Pips auf 1,0 Lots
            Sell #2: Verlust von 50 Pips auf 0,6 Lots, was 30 Pips auf 1,0 Lots entspricht.

            Der aufgelaufene Verlust (AV) ist also 50 Pips + 30 Pips = 80 Pips.

            Diesen Wert verwenden wir nun in der Lotsize-Berechnungsformel für den Folgedeal, Buy #3:

            ( 80 Pips (AV) + 10 Pips (GZ) ) / 100 Pips (TP) = 0,9. Das Ergebnis wird wieder multipliziert mit 1,0 (OL), woraus wir 0,9 Lots für den zweiten Hedge-Deal erhalten.

            Machen wir die Probe aufs Exempel: Wird Buy#3 mit 100 Pips Take-Profit geschlossen, haben wir in Summe

            - 500 USD Verlust (-50 Pips x 1,0 Lots des Erstdeals Buy#1)
            - 300 USD Verlust (-50 Pips x 0,6 Lots des ersten Hedgedeals Sell#2).
            + 900 USD Gewinn (+100 Pips x 0,9 Lots des zweiten Hedgedeals Buy#3).

            = 100 USD Gewinn gemacht mit der gesamten Dealserie, ausgelöst durch das Engagement in den ersten Buy-Deal.

            Die mathematische Logik dieser Formel ergibt folgende, allgemein gültigen Zusammenhänge:

            1. Je größer Sie die Recovery Zone wählen, desto größer wird der Aufgelaufene Verlust und umso schneller wachsen die Folge-Lotsizes an.
            2. Je größer der gewählte, angestrebte Dealserien-Gewinn, desto größer errechnen sich die Volumina der Folge-Deals.
            3. Je größer die Kursstrecke, die der Hedgedeal zurücklegen muss, um den angestrebten Dealserien-Gewinn zu erwirtschaften, desto kleinere Lotsizes entstehen.

            Das alles ist nun erst mal nicht ganz so leicht zu verstehender Tobak. Ich habe ebenso einiges an Hirnschmalz und Zeit gebraucht, um das alles zu verstehen. Es ist aber 100% konsistent, der Mathematik sei Dank.

            Um ein besseres Gefühl für die Zusammenhänge und die Möglichkeiten zu entwickeln, die sich aus diesem Ansatz ergeben, habe ich ein ausführliches Spreadsheet gebaut. Darin kann ich die oben genannten Variablen einstellen. Es errechnet mir dann alle Lotsizes sowie Chance und Risiko der Strategie.

            Hier rechts im Text sehen Sie schon mal eine Vorschau darauf. Nächste Woche im Blog zeige ich es Ihnen detailliert.

            Ein Geschenk an Sie als treuen Blogleser und Email-Newsletter-Abonnent: Sie werden komplett kostenfreien Zugriff auf die Tabellenkalkulation erhalten. Auf jeden Fall wird das OpenOffice Calc Sheet für Sie verfügbar sein. Ich lege mich ins Zeug, dass auch eine Version für Google Sheets verfügbar sein wird, die Sie dann auch als Microsoft Excel-Kopie herunterladen können.

            Bis nächste Woche viel Erfolg in Ihrem Trading
            Cristof Ensslin von mindful FX, Ihr EA Programmierer