MT4 Fragen und Antworten

Trading-Systeme, die richtig funktionieren

Neulich erhielt ich folgende Email:

Ist es möglich, dass dieses ganze Technischeanalyse-Ding sich sehr schwer tut mit der dauerhaften Rentabilität?
Es hört sich jetzt etwas blöde nach “Undergroud-Trader” an. Aber kann es sein, das Systeme, die richtig funktionieren, nicht einfach per Google zu finden sind?

Dies ist eine fantastische Frage, die sehr berechtigt ist! Vielen Dank dafür. Diese Mail ist tatsächlich stellvertretend für viele ähnliche Fragen, die mir per Email oder über unseren YouTube-Kanal gestellt werden.

Viele Neulinge im Bereich Trading erhalten durch diverseste Eindrücke aus Büchern, von Youtube-Gurus und Websites, dass Trading zu einfachem, schnellen und vor allem risikofreien Reichtum führt - oder zumindest führen kann. Manchmal finde ich sogar heraus, dass auch erfahrenere Trader solchen Verlockungen nur schwer widerstehen können - mich selbst inbegriffen, muss ich ehrlich zugeben.

An all uns Menschen, die von Gier und Angst getrieben werden: Aufgepasst!

Um es kurz und knapp zu sagen: es gibt keine Abkürzung.

Trading ist eine Arbeit wie jede andere. Je mehr Sie darüber lernen und je mehr Zeit Sie darin investieren, desto größer sind Ihre Erfolgschancen. Klar, kann es sein, dass Sie (oder obige Gurus) kurzfristig eine Glücksträhne haben und irrsinnige Profite im Schlaf erwirtschaften. Wer aber auf Dauer erfolgreich sein und das Gewonnene nicht schnell wieder verlieren will, muss viel Geduld mit sich bringen.

Geduld für:

  • all die Lektionen, die man lernen muss; unter anderem durch Verluste, da einfach nicht alles aus Büchern, Magazinen oder von gutmeinenden Lehrern lernbar ist.

  • all die Zeit, die man investieren muss, um Systeme zu entwickeln.

  • all die Erfahrungswerte, die zu sammeln sind, um diese Systeme in den richtigen Märkten und zu den richtigen Zeitpunkten einzusetzen.

  • die langfristige, stetige Entwicklung der Rendite.

Wer langfristig denkt und weiß, dass eher in 10-20% Jahresrendite gedacht werden sollte, statt nach durchaus menschlicher und daher sehr weit verbreiteter Gier-frisst-Hirn-Manier an schnelle, ständig sich wiederholende Kapitalverdoppelungen sich zu sehnen, ist schon halb am Ziel.

Ich bin selbst ein Kind des Bullenmarkts zu Zeiten des Neuen Markts und der High-Tech-Blase der Jahrtausendwende. Ich musste diese Lektionen durch zunächst jubelnde Gewinne und dann schmerzhaft dahinschmelzende Depot-Stände selbst lernen.

Meine wichtigsten vier Lernerfahrungen möchte ich mit Ihnen teilen:

  1. Haben Sie realistische Rendite-Erwartungen! Wo hohe Gewinne locken, verstecken sich immer extrem hohe Risiken.

  2. Denken Sie langfristig! Statt ständig im M1- und M5-Chart nach Mustern zu suchen, entwickeln Sie lieber ein Handels-System im Tages- (D1) oder Wochenchart (W1). Meine besten Erfolge sind in eben diesen Timeframes. Darin entwickelte Systeme haben meiner Erfahrung nach auch eine viel größere Wahrscheinlichkeit, dauerhaft zu funktionieren.

  3. KISS - Keep it simple, stupid! Einfache Systeme funktionieren besser als komplizierte Systeme. Zum Beispiel ein Range-Ausbruchs-Modell à la Donchian-Channel wie im EA mFX-HochTiefAusbruch abgebildet oder ein Trendfolge-Modell mittels zweier Gleitender Durchschnitte wie im EA mFX-MAXingPro automatisiert, jeweils im D1- oder W1-Chart angewendet und mit realistischen Renditeerwartungen, ist auf Dauer vielversprechender als Systeme, die 27 Indikatoren und andere Trigger-Faktoren enthalten.

  4. Trading ist eine Vollzeitbeschäftigung. Klar können Sie durch Trading-Robots wie eben Expert Advisors für MetaTrader 4 sich das Leben erleichtern und Ihre Strategien stringenter und emotionsloser umsetzen. Sie können aber nicht im Ernst erwarten, dass Sie im Schlaf Geld verdienen können, wenn Sie nicht vorher tausende von Stunden Ihrer wertvollen Zeit fürs Lernen, Ausprobieren und Korrigieren aufgewendet haben. Wenn Sie keine Zeit und Hirnkapazität investieren können oder wollen, dann sollten Sie lieber auf langfristige Investitionen in ein Portfolio echter Vermögenswerte (sprich Immobilien, Aktien, Edelmetalle) setzen. Dann können Sie ruhig schlafen.

Ist es also möglich, mit Hilfe technischer Analyse Trading-Systeme zu finden, die funktionieren? Ich denke ja, aber nur sofern realistische Rendite-Erwartungen, Langfristigkeit, Einfachheit des Systems und verfügbare Zeitkapazität seitens eines lernfähigen und -willigen Traders zusammenkommen.

Auf beste Umsetzung dieser Lerneffekte
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Expert Advisors – immer zuverlässig?

Nun möchte ich auf die möglichen Ausführungsfehler eingehen, die neben

den realen Verlauf eines Expert Advisors (EA) unterscheiden lassen werden von dem, was ein Backtest im Strategietester des MetaTraders (MT4/MT5) machen würde.

Im Backtest werden immer alle Deals komplett korrekt ausgeführt, sofern der EA richtig programmiert ist. Wenn wir nun im laufenden Handel unterwegs sind, dann können verschiedene Fehlermeldungen vorkommen.

Eine der üblichsten Fehlermeldung ist, dass der Trade-Kontext "busy" ist. Die MT4-Fehlermeldung dazu lautet "Trade context is busy" und der Fehlercode ist 146. Das ist wie eine belegte Leitung am Telefon: der Trade Server des Brokers ist einfach schon von einem anderen EA oder vom manuellen Trading in Ihrem Metatrader gerade eine Aktivität empfangen und muss diese erst verarbeiten.

Es ist in diesem Zusammenhang wichtig zu wissen, dass der MT4 nur eine Leitung zum Trade Server Ihres Brokers hat. Wenn Sie ein und denselben EA auf 20 verschiedenen Währungspaaren oder CFDs laufen haben und wir nehmen an, dass Signale alle zu einem Kerzenbeginn (also per Schlusskursbetrachtung) generiert und ausgeführt werden, dann kann es natürlich vorkommen, dass mehrere, eben bis zu 20 verschiedene Orders gleichzeitig eröffnet, geschlossen oder angepasst werden sollen.

Ihr MT4 muss diese Orderanfragen sequentiell, also nacheinander, Stück für Stück, eine nach der anderen abarbeiten. Wenn nun alle 20 Charts einen Dealvorgang übermitteln wollen, kommt nur einer dieser EAs zum Tradeserver des Brokers durch. Die Versuche der anderen sind dann wahrscheinlich eine Millisekunde später dran und bekommen die Fehlermeldung zurückgemeldet, dass der Trader Server "busy" ist, die Leitung also belegt ist.

Wie ein EA mit einer solchen Fehlermeldung umgeht kommt ganz darauf an, wie er programmiert ist. Wenn Sie als Auftraggeber einen EA programmieren lassen, dann müssten sie sich auch am besten überlegen, welche Umgangsweise bei solchen Fehlern für Ihre Strategie die passende ist: z.B. kann man dem EA über entsprechende Gestaltung des Codes sagen, "okay, wenn ein Fehler kommt, dann

  • probiere es einfach so lange erneut bis das Signal wirklich ausgeführt ist; 
  • oder probiere es nur ein einziges Mal, und wenn dieses eine Mal eine Fehlermeldung kommt, oder diese spezielle Fehlermeldung generiert wird, dann lösche das Signal;
  • oder aber etwas in zwischendrin, dass z.B. 60 Sekunden lang oder für 50 Kursticks Neuversuche unternommen werden.

Das ist alles programmierbar und kann für jeden einzelnen der möglichen MT4-Fehlermeldungen auch separat programmiert werden. Damit wird der Umgang mit Ausführungsfehlern wirklich ganz speziell für Sie, Ihre Vorlieben und Ihr Handelssystem speziell abgestimmt.

Die am häufigsten vorkommenden Fehler sind

  • Trade-Kontext is busy, Leitung des MT4 zum Tradeserver des Brokers ist belegt (Fehler Code 146: "Trade context is busy.")
  • Der Preis hat sich zu stark seit Anfrage verändert (Fehler Code 135: "Price changed.")
  • Der Broker macht einen Requote (Fehler Code 138: "Requote.")
  • Es kann sein, dass nicht genügend Geld, nicht genügend Kapital für einen Deal vorhanden ist, insbesondere wenn Sie mit hohem Hebel arbeiten (Fehler Code 134: "Not enough money.")
  • Es kann sein, dass das Symbol für temporär oder dauerhaft vom Broker gesperrt, z.B. nach Fälligkeit eines Futures (Fehler Code 133: "Trade is disabled.")
  • Es kann sein, dass ein falsches Handelsvolumen errechnet oder eingestellt wurde, dass es zu klein oder zu groß ist oder auf zu viele Nachkommastellen gerundet wurde (Fehler Code 131: "Invalid trade volume.")
  • Rundungsfehler können auch für Stop- und Limit-Preise geschehen und eine Fehlermeldung auslösen (Fehler Code 130: "Invalid stops."). Dieser Fehler Code wird auch bei zu engen Stop- oder Limitabständen ausgegeben.

Diese Auflistung benennt nur die häufigsten Fehlerquellen. Weitere sind möglich, siehe diese Auflistung in der MQL4-Dokumentation. Möglichst viele dieser Szenarien müssen bedacht werden. Denn ein EA ist grundsätzlich nur so schlau wie er programmiert ist. Nur wenn er mit solchen Fällen bestückt wird, weiß er, wie er damit speziell umzugehen hat.

Genau diese Szenarien kommen in der Realität ganz einfach vor. Im Strategietester kommen sie dagegen nicht vor. Das führt zu Abweichungen zwischen dem theoretischen Backtest und der wirklich erzielten Performance.

Daher ist es auch so wichtig, in regelmäßigen Abständen die Funktionalitäten und Deals des Expert Advisors zu prüfen und am Rechner zu sein. Es gilt also auch aus dieser Sicht:

Ein EA ersetzt den Trader nicht. Er macht aber einen ernsthaften, guten Trader zu einem noch besseren Trader.

Auf beste Deals
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Heute ist NFP-Freitag: was Sie vor dem Live-Schalten eines Expert Advisors über Ausführungsqualität und „Slippage“ wissen sollten

Stellen Sie sich vor: es ist der erste Freitag im Monat, 14:29:59 Uhr deutscher Zeit. Der Markt scheint wie eingefroren, erstarrt wie die Kartoffelsuppe im Kühlhaus. Der Sekundenzeiger – langsamer als sonst - springt um und ....

es ist Punkt 14:30 Uhr und der Markt bricht in völlig irrationale Bewegungen aus. Ihr Herz pocht, Blutdruck und Puls angeschwollen. Sie möchten unbedingt auf den Kursausbruch aufspringen, in der Hoffnung auf eine Trendfortsetzung; aber die Ausführung Ihrer Order scheint nicht zu klappen. Ein erstes Mal, ein zweites Mal, ein drittes Mal.

Endlich, als Stunden empfundene 10 Sekunden später gibt Ihr Broker Ihnen endlich Ihren Ausführungskurs – und Ihr Mut sinkt in Ihre Knie, denn er ist ganze 27 Punkte schlechter als erhofft...

Kommt Ihnen das bekannt vor? Waren Sie selbst schon in einer solchen Situation? Dann wissen Sie aus eigener Erfahrung um das Problem der Ausführungsqualität. Sie möchten eigentlich zum aktuellen Kurs handeln, bekommen aber einen ganz anderen, oft schlechteren Kurs für Ihren Dealeinstieg.

Diese Situationen kommen immer wieder vor, teils erwartet (geplante, wichtige Veröffentlichungen von Wirtschaftsdaten wie z.B. die Non-Farm-Payrolls, der monatliche vielbeachtete US-Arbeitsmarktbericht ohne den Agrarsektor - wie oben im Beispielszenario erwähnt), teils unerwartet (überraschende Zentralbank-Entscheide, Wahlausgänge, Weltnachrichten, Flash-Crashes usw.). Insbesondere wenn Sie trendfolgend handeln möchten, wird Ihnen diese Besonderheit des Marktes immer wieder ein Schnippchen schlagen.

Viele Trader verschreiben sich Trendfolge-Strategien. Diese sind oftmals mit ganz kurzfristiger Haltedauer ausgelegt, so genannte Scalping-Techniken. Beispiel: eine Widerstandslinie im Dax läge bei 13.000 Punkten. Der Markt, also im Endeffekt viele Marktteilnehmer, liegen auf der Lauer. Wird die magische Marke nach oben hin durchbrochen, springen Börsenhändler, ob per Mensch oder Maschine, auf den Ausbruch aus.

Das verzerrt den Markt kurzfristig. Dies wirkt sich so aus, dass plötzlich fast keine Verkaufsquoten mehr vorhanden sind. Der Kurs springt nach oben wo er vorher noch fast planbar Tick für Tick, Sprosse für Sprosse langsam aber sicher erklomm.

All dies geschieht in Windeseile, wie ein Blitz.

Selbst wenn wir Expert Advisors (EAs) für solche Marktsituationen verwenden, sind wir dennoch in der Regel um Millisekunden zu spät dran, um wirklich vernünftige Kurse zu erhalten. Hedgefonds und Banken haben sich darauf spezialisiert, in solchen Situationen die schnellsten am Markt zu sein: mit buchstäblich kürzeren und schnelleren Leitungen. Unsere WLAN-Verbindung mag schnell erscheinen, sie ist aber "nur" ein für öffentliche Straßen zugelassener Porsche Carrera statt ein rasanter Formel-1-Flitzer.

Dieses Phänomen nennt sich gemeinhin „Slippage“. Es führt dazu, dass Sie einen Kurs anfragen (z.B. 13.001) aber einen schlechteren Kurs als Ausführung erhalten (z.B. 13.002, 13.005 oder noch höher). Das klingt nach teilweise keinem großen Unterschied, kann sich aber aufsummieren über den Verlauf der Zeit.

Generell gilt: je höher die Tradingfrequenz Ihres Trading-Systems ist, also je öfter sie Deals eröffnen und wieder schließen, desto ungünstiger wirkt sich die Slippage auf Ihre echte Trading-Performance aus – was übrigens in Backtests nicht abgebildet wird und somit nicht ersichtlich ist.

Wenn Sie Trendfolge-EAs backtesten, empfehle ich, den Strategietester im MetaTrader (gilt für MT4 wie MT5) mit einem deutlich höheren Spread einstellen als den, den Sie üblicherweise von Ihrem Broker erhalten.

Traden Sie beispielsweise in normalen Marktverhältnissen mit 0,2 Pips Spread in EURUSD (üblicher Spread z.B. bei direktbroker-fx.de), stellen Sie den Spread im Strategietester auf 1 Pip, 2 Pips oder noch höher ein. Dazu müssen Sie im Strategietester im Feld Spread den Wert 10 bzw. 20 eingeben, da MT4 in Punkten statt Pips denkt. 1 Punkt ist bei 5-stelliger Quotierung der Unterschied zwischen 1,18000 und 1,18001, was in der Forex-Terminologie 0,1 Pips bedeutet.

Aufgepasst: heute ist ein solcher NFP-Freitag. Es ist zwar nicht der erste Freitag im Monat, aber es steht dennoch die Veröffentlung der "Non-Farm-Payroll" Arbeitsmarkt-Schätzung des US-Arbeitsministeriums an.

Denn die Termin-Regel für die NFP-Veröffentlichung lautet: der dritte Freitag nach der Woche, die den 12. Tag des Monats beinhaltet. Der 12. November war ein Sonntag. In USA gilt der Sonntag als erster Tag der Woche, nicht der Montag wie international Standard. Daher ist der 24.11. der erste, der 1.12. der zweite und der 8.12. der dritte Freitag nach Vollendung der Woche, die in USA am 12.11. begann.

Für heute um 14:30 Uhr (MEZ) wünsche ich Ihnen alles Beste für Ihr Trading
Cristof Ensslin von mindful FX, Ihrem EA-Programmierer

MQL4-Intensivkurs – EA-programmieren lernen: neuer Termin

Endlich ist es soweit. Ich freue mich, Ihnen einen neuen Termin für den MQL4-Intensivkurs - EA-programmieren lernen mitteilen zu können:

29.-30.1.2018

Montag, 29.1.2018, von 9:30 Uhr bis 17:30 Uhr und Dienstag, 30.1.2018, von 9:00 Uhr bis 17:00 Uhr werde ich mich intensiv darum kümmern, Ihnen eine praxistaugliche MQL4-Programmier-Anleitung zu bieten. Die Anmeldung ist ab sofort möglich auf der Website www.mindfulfx.de/mql4intensivkurs.

Der Workshop findet in Stuttgart statt und ist für Sie gedacht, wenn Sie das Programmieren von EAs lernen möchten, aber noch keinerlei oder erst wenig Programmierkenntnisse haben.

Vor ca. sechs Jahren habe ich selbst das EA Programmieren in der Programmiersprache MQL4 für MT4 aus Trader-Sicht gelernt. Diese Erfahrung kann ich Ihnen nun weiter geben.

Der Kurs [hat] meine Erwartungen mehr als erfüllt. Die strukturierte Vorgehensweise, der klare Aufbau sowie der Ablauf des Kurses haben mir gefallen. Theorie und Praxis wechselten sich auflockernd und zielführend ab.
Kurz um:
Der Einstieg in die EA-Programmierung ist mit Hilfe dieses Kurses gelungen.
— Workshop-Teilnehmer August 2017

Wir gehen dabei nicht so sehr auf die Theorie des Programmierens ein, denn dies ist kein Informatik-Universitätskurs. Sie sind Trader und wollen einfach Ihre Strategie-Ideen schnell und einfach selbst automatisieren können - für Tests und das Live-Trading.

Dieser Kurs, MQL4-Intensivkurs – EA-programmieren lernen, ist dafür gedacht, um Ihnen die Grundlagen dafür zu vermitteln.

Um die persönliche Intensiv-Betreuung und damit eine steile Lernkurve zu garantieren, ist das Teilnehmer-Kontingent strikt auf 8 Plätze beschränkt. Melden Sie sich hier an, um am Workshop teilnehmen zu können.

Ich freue mich auf Sie
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

BacktestTool: mehrere EA-Backtests aus MT4 verknüpfen und analysieren

Heute muss ich Ihnen mal etwas zeigen, was mich selbst sehr begeistert.

Und zwar geht es ums Backtesting von EAs. Wie Sie aus dem MT4-Strategietester wissen, wird dort in der Equity- bzw. Kontostands-Grafik als X-Achsen-Punkte jeder geschlossene Deal genommen. Das hat Vor- und Nachteile. Was mich daran aber immer gestört hat, ist, dass es schwierig zu fassen war für mich, welche Deals welchem Zeitraum zuzuordnen waren.

Ein weiteres Problem in MT4: ich kann mir immer nur einen Backtest auf einmal ansehen. Es wäre doch aber ungemein hilfreich, die aggregierte Performance mehrerer EA-Strategien (oder auch des gleichen EA's auf mehreren Symbolen) bequem zu ermitteln, oder?

Für beide Probleme habe ich jetzt eine Lösung: das BacktestTool. Ich bin selbst ganz begeistert davon!

Ein Bild sagt mehr als tausend Worte; ein Video sagt mehr als tausend Bilder:

Wie kam es dazu?

Nun, unser guter Kunde Hans-Günter K. fragte, ob es so etwas schon auf dem Markt gibt. Mir war dergleichen nichts bekannt. Unser Programmierer René Balke hatte aber schon mal ein Trading-Journal in Java programmiert, das ähnliche Ziele für das Live-Trading verfolgte. 

1 und 1 zusammengezählt - und schwuppdiwupp war die Idee für das BacktestTool geboren.

Einige Zeit des Programmierens und Testens und Verbesserns später bin ich nun extrem froh über das Ergebnis - wie Sie im obigen Video sicher sehen konnten. Die beiden Probleme sind gelöst:

  1. Zeitlich in Tagen dargestellte Kontostands-Kurve
  2. Möglichkeit, mehrere Backtests zu aggregieren, sprich zu verknüpfen und gemeinsam oder getrennt zu analysieren.

Klasse, oder?

Es kommt aber noch besser: das BacktestTool ist ab sofort zum Kauf erhältlich, auch für Sie.

Klicken Sie einfach auf einen der BacktestTool-Links in diesem Blog-Artikel, um mehr zu erfahren.

Auf noch bessere Erkenntnisse aus dem MT4-Strategietester
Ihr Cristof Ensslin von mindful FX, Ihrem EA Programmierer.

Welche Auswirkungen hat ein variabler Spread auf mein EA Trading und meine MT4-Backtests?

Neben dem A und O der Datenqualität ist ein weiterer Faktor, der Theorie (Backtest im Strategietester des MetaTraders) von Praxis (Live Trading mit Expert Advisors) trennt, der variable Spread.

Der Spread ist die Differenz zwischen Bid und Ask Kurs. Die meisten Broker bieten variablen Spread an, um die wahre Marktliquidität abzubilden. Sie schützen sich damit davor, in engen Marktsituationen Minusgeschäfte machen zu müssen. 

Das heißt, in figurativen 99% aller Handelszeiten haben Sie mit variablem Spread einen besseren, sprich engeren Spread. Nur in manchen Situationen kommt es zu Spreadausweitungen. Wann kann das passieren?

  1. Zum Tageswechsel: die Liquiditätsgeber, die hinter Ihrem Broker stehen, schließen oftmals zum Tageswechsel ihre Handelsbücher für wenige Minuten. Das geschieht in der Regel aus technischen Gründen, um Tradingergebnisse abzugrenzen und offene Positionen finanzierungstechnisch vom einen Tag in den nächsten zu „rollen“. Wenn Liquidität vom Markt entfernt ist, kommt es automatisch zu ausgeweiteten Spreads, da weniger Bid- und Ask-Quotierungen im Markt verfügbar sind.
  2. Am Wochenbeginn: Sonntag nachts und Montag früh sind die Märkte für Währungshandel als allererstes an Australiens Ostküste in Sydney geöffnet. Dort finden allerdings keine großen Volumina statt, abgesehen von australischen Anleihen und Aktien. Erst wenn die Händler in Tokyo, Hong Kong und Singapur hinzustoßen, sind im Devisenmarkt alle gängigen Währungspaare mit regulär engen Spreads handelbar. Wenn dann London hinzustößt, geht’s natürlich richtig los mit Volumen. Das heißt für Sie: während Sie zwar schon handeln können, ist um diese, für den deutsch-sprachigen Raum nachtschlafenden Zeiten mit ausgeweiteten Spreads zu rechnen. Das geschieht insbesondere stark, wenn ein Gap zwischen dem Freitags-Schlusskurs und dem Montags-Eröffnungskurs entsteht.
  3. Zu Zeitpunkten von wichtigen Nachrichten: manche davon sind planbar, manche nicht. Wir wissen zum Beispiel, wann EZB und Fed deren Zinsentscheide und das US Arbeitsministerium den monatlichen, berühmt-berüchtigten „Non-Farm Payroll“ Arbeitsmarktbericht veröffentlichen. Wann eine Naturkatastrophe geschieht, ein Terroranschlag verübt wird, oder wann die Schweizerische Nationalbank die Kursunterstützung bei 1,20 CHF pro EUR aufgibt, können wir nicht planen. Zu solchen Situationen werden Liquiditätsgeber ängstlich, wollen, wie alle anderen und wir auch, keine Verluste machen. Daher ziehen sie die Kursstellung zurück oder weiten zumindest die Kursdifferenz ihrer Kauf- und Verkaufquotierungen aus, der Markt wird dünn und der Spread weitet sich aus. Das geschieht oft sprunghaft.

Solche Situationen sind in einem EA-Backtest im Strategietester des MT4 in der Regel nicht abgebildet. Anders ausgedrückt: bei welchen Positionen, die im Backtest unberührt bestehen bleiben, der Stop-Loss in Wirklichkeit getriggert worden wäre, ist schwer zu sagen. Umgekehrt werden im Backtest Take-Profits erreicht, von denen der echte, handelbare Kurs aber meilenweit entfernt war.

All das führt dazu, dass Backtests von Expert Advisors mit sehr gesunder Vorsicht zu genießen sind. Je mehr Deals pro Tag/Woche/Monat, umso angreifbarer sind EA-Backtests.

Der ernsthafte Trader kommt nicht umhin, seine Modelle über Monate im Live-Betrieb eines oder besser mehrerer Demokonten zu testen, um Anfälligkeiten wie diese festzustellen. Die Erkenntnisse aus dem MT4-Demokonto-live-Test des EA's müssen dann dazu verwendet werden, die Backtest-Performance-Ergebnisse entsprechend konservativ um diese Risiken zu bereinigen.

Ich habe eine Schritt-für-Schritt Testempfehlung für Sie zusammen gestellt, die Ihnen helfen soll, EA Backtests richtig zu bewerten. Sie können sie rechts kostenfrei als PDF-"Spickzettel" erhalten.

Ihnen, Ihren Tests und Ihrem Trading alles Gute
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

EA soll bei Signal eine Push-Nachricht aufs Handy versenden

Kürzlich erreichte mich die Frage, wie man in MQL4 den Versand einer Pushnachricht aufs Handy programmiert:

Wie kann man vom EA generierte Handelssignale auf seinem Smartphone erhalten, ohne immer wieder auf die Charts zu schauen? Ich benötige das, da ich Vollzeit arbeite und dadurch sehr viele Chancen verpasse. Es sollen keine Positionen eröffnet werden im EA. Ich möchte nur informiert werden, wenn ein Signal generiert wurde, z.B. per SMS “EURUSD Long Signal”.

Der Versand von SMS geht vom MetaTrader 4 (MT4) nicht direkt, dafür aber eine Push-Nachricht. Das ist meines Erachtens sogar besser!

Dazu gehören drei Schritte:

  1. Pushnachricht im Code des Expert Advisors (EA) oder Indikators veranlassen.
  2. Im Code sicherstellen, dass nur eine Pushnachricht pro Signal vom Programm versendet wird.
  3. Erlaubnis der Pushbenachrichtigung im MT4 einrichten.

Schritt 1

Der erste Schritt ist sehr einfach zu bewerkstelligen. Im Code des EA's oder Indikators wird eine Zeile eingefügt, die die in MQL4 schon eingebaute Pushnachricht-Funktion abruft:

SendNotification ( "Buy-Signal liegt vor" ) ;

In den Anführungszeichen steht der Text, den die Push-Nachricht auf dem Handy darstellen soll. Diese Nachricht können wir noch etwas informativer gestalten, indem wir zum Beispiel noch das Chart-Symbol und den Chart-Timeframe (in Minuten) hinzufügen, auf dem der EA oder Indikator gerade läuft. Diese zusätzlichen Verkettungen habe ich in Fett in die MQL4 Codezeile eingefügt:

SendNotification ( "Buy-Signal liegt vor in " + Symbol() + " M" + Period() ) ;

Jedes Mal, wenn diese Codezeile des EA's oder -Indikators durchlaufen wird, veranlasst die MT4-Instanz nun den Versand der Push-Nachricht aufs Handy.

Schritt 2

In einem EA, der keine Deals eröffnet, sondern nur Nachrichten versendet, muss dann noch sichergestellt werden, dass wirklich nur einmal pro Signal die Pushbenachrichtigung versendet wird. Nehmen wir das einfache Beispiel, dass ein Buy-Signal generiert wird bei Überschreiten des Hochs der Vorkerze:

if ( Bid > High[1] )  {
SendNotification ( "Buy-Signal liegt vor in " + Symbol() + " M" + Period() ) ;
}

Der EA würde nun bei jedem Tick über dem Vorkerzen-Hoch die Pushnachricht veranlassen. Es kann also dutzende, hunderte oder gar tausende Male pro Kerzenperiode das Handy läuten. Das würde uns aber sicher mit der Zeit nerven.

Daher müssen wir eine boolesche Variable einfügen, eine Wahr-Falsch- oder True-False-Variable also, die die Sendeerlaubnis steuert. 

Wie das im Detail geht, sehen Sie im .mq4-Code-File, das Sie hier herunterladen können.

Schritt 3

Damit die Push-Benachrichtigungen funktionieren können, müssen Sie die entsprechenden Einstellungen im MT4, auf dem Sie den EA aktivieren wollen, unter dem Menüpunkt

Extras → Optionen → Benachrichtigungen

vornehmen. Dazu setzen Sie im gerade geöffneten Fenster

  1. das Häkchen links neben „Push-Benachrichtigungen einschalten“ und geben
  2. Ihre MetaQuotes ID ein.

Im Bild rechts sind diese beiden Schritte jeweils mit einem roten Pfeil markiert.

Um die MetaQuotes ID zu erhalten, müssen Sie die Mobilversion des MetaTraders für iPhone bzw. Android auf Ihrem Smartphone installieren. Dort finden Sie sie unter Einstellungen → Benachrichtigungen, sobald Sie in den iPhone-/Android-Einstellungen "Benachrichtigungen erlauben/zulassen" o.ä. für die MT4-App eingestellt haben.

Geschafft!

Herzliche Grüße und beste Trading-Erfolge wünscht Ihnen
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

PS: wenn Sie am EA-programmieren Lernen interessiert sind, schauen Sie sich doch mal unseren MQL4-Intensivkurs - EA-programmieren lernen an.

 

Warum MT4-Backtests vom realen EA-Handel abweichen

Aha, Sie haben also einen Expert Advisor (EA) gefunden, der funktioniert?

Mit „funktioniert“ meine ich, dass Sie nach vielleicht sogar stundenlangem Optimieren der Parameter-Einstellungen in den EA-Eingaben und unzähligen Backtest-Durchläufen im Strategietester des MetaTrader 4 (MT4) endlich eine Kombination der Variablen gefunden haben, die in den letzten drei Monaten oder gar letzten ein oder zwei Jahren – je nachdem wie lange die Datenhistorie zurück reicht, die Ihr Broker Ihnen zur Verfügung gestellt hat.

Die Kapitalentwicklung, auch Equity-Kurve genannt, zeigt nun also von links unten nach rechts oben? Drawdowns sind fast keine vorhanden und Sie springen vor Freude in die Luft?

Langsam, langsam, langsam.

Bevor Sie Ihre Gier frei walten lassen und Ihr hart verdientes Erspartes einsetzen, in der Hoffnung auf (oder gar in Erwartung von) schnelle, sichere, quasi unendliche Gewinne, halten Sie bitte nochmal inne.

Backtests von EAs im Strategietester des MT4 sind genau das: Backtests. Nicht mehr und nicht weniger.

Wie viel haben sie mit der Realität zu tun - insbesondere der nahe anstehenden, zukünftigen Wirklichkeit?

Es sind einige Faktoren zu beachten. Die wichtigsten sind die Folgenden:

  1. Datenqualität Ihrer Kursverlaufsdaten

  2. Variabler Spread

  3. Ausführungsqualität

  4. Ausführungsfehler

Das erste ist die Datenqualität. Datenqualität ist das A und O eines Backtests.

Wenn Sie beispielsweise Demokonten bei drei verschiedenen Brokern eröffnet haben (eines davon hoffentlich beim von uns oft wegen seiner unschlagbar engen EURUSD-Spreads und ultra-niedrigen Commissions empfohlenen Berliner Brokers direktbroker-fx.de) und in deren MT4-Instanzen den Strategietester aufrufen, den gleichen EA im gleichen Zeitraum mit den exakt gleichen Testeinstellungen durchlaufen lassen, erhalten Sie oftmals komplett unterschiedliche Ergebnisse.

Wenn die Equity-Kurve nur bei einem der drei Brokers die gewünschte Form aufweist, haben Sie auf alle Fälle ein Problem mit der Datenqualität.

Wie kann so etwas überhaupt passieren? Nun, im Devisen- und CFD-Handel agieren Sie nicht an einer regulierten Börse, bei der jeder Kurstick öffentlich und zentral festgehalten wird. Wenn Sie Xetra-Aktienmarktdaten analysieren wollen, behandeln Sie die exakt gleichen Daten wie jeder andere Marktteilnehmer – egal ob Profi bei Hedgefonds oder Investementbanken, oder ob Gelegenheitsanalyst und Vermögensverwalter der eigenen 10 Cent.

Der Devisen- und CFD-Handel findet aber komplett dezentral statt. Das bedeutet, dass direktbroker-fx.de andere Tick-Daten erstellt als GKFX oder ActivTrades; einfach deshalb, weil jeder dieser Broker andere Liquiditäts-Provider nutzt, aber auch andere Kunden hat, die allesamt andere Deals in Auftrag geben und zu unterschiedlichen Zeitpunkten handeln.

Klar, es kann sein, dass die anderen beiden Broker Ihnen schlechte Daten zur Verfügung stellen und Sie wirklich beim Erfolg-versprechenden Broker richtig gelegen wären. Die Wahrscheinlichkeit dafür tendiert aber gegen null, meiner bescheidenen Meinung nach.

Ich würde dem ganzen Backtest eines EA's nur dann einen zweiten Blick schenken, wenn alle drei Broker-Daten ähnliche Kurvenverläufe darstellen.

Außerdem kann es passieren, dass Ihre MT4-Instanz die historischen Daten lückenhaft vorhält. Dadurch entstehen Kurssprünge, die im echten Handel nicht vorgekommen sind. Das kann sich gut oder schlecht auswirken auf die Performance Ihres Robots. Beide Ausprägungen sind aber nicht nützlich, um einen guten Eindruck des Vergangenheits-Verhaltens Ihrer automatisierten Trading-Strategie zu erhalten.

Hinzu kommt, dass MT4 im Strategietester nicht mit echten Tickdaten rechnet, um Speicherplatz zu sparen. In der Regel wird mit OHLCV-Daten gearbeitet. OHLCV steht für die fünf Eckpunkte einer jeden Chart-Kerze: Open, High, Low, Close, Volume. Diese Kerzen-Eckpunkte werden über einen Algorithmus zu Tickdaten simuliert.

Eine hohe Anzahl an "Chartanpassungsfehlern" im Testbericht sind ein Hinweis darauf, dass der Backtest zwar die Funktionalität eines EA's richtig wiederspiegelt, aber nicht dessen Performance.

Wie kann ich dem Problem der Datenqualität Abhilfe schaffen? 

Die einfachste und wahrscheinlich zuverlässigste Variante ist, dass Sie sich teils kostenfrei, teils kostenpflichtig hoch-qualitative historische Daten in Ihren MT4 laden. Am präzisesten dafür sind Tick-Daten. Diese bekommen Sie zum Beispiel von Tickstory hier über unseren Partnerlink. Deren Datenbasis aggregiert echte Trading-Daten von mehreren Brokern und bildet daraus eine solidere, objektivere Tick-für-Tick-Betrachtung des echten Kursverlaufs.

Die Sicherstellung einer hochwertigen Datenqualität bringt Sie auf bessere Verlässlichkeit in der Vergangenheitsbetrachtung. Das ist zwar noch keine Garantie für die zukünftige Entwicklung. Es ist aber das beste Werkzeug, das uns vorliegt, um ein erstes gutes Gefühl für eine per EA automatisierte Trading-Strategie zu entwickeln.

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

Über die Kunst, mit Expert Advisors stetige Gewinne zu erzielen

Wir nutzen MetaTrader 4 oder 5 und Expert Advisors (EAs), um Trading-Strategien zu automatisieren. Dadurch, dass das Trading vom Computer erledigt wird, kann ich mir über Strategie-Entwicklung und Marktphasen Gedanken machen. Muss ich sogar, denn das ist und bleibt meine Aufgabe als Trader.

Wir können wirklich keine so guten Prognosen abgeben. Obwohl wir so tun, als könnten wir, können wir es nicht.
— Alan Greenspan

Der Markt ist wie ein Flussverlauf, den man vom Quellpunkt bis zur Meeresmündung verfolgt. Wir können immer nur die nächsten paar 100 Meter, wenn überhaupt, sehen. 

Beispiel des Verlaufs des Rheins. Stellen Sie sich die Quelle vor: mit dem Thomasee am Oberalbpass in der Schweiz (westliches Graubünden) findet Deutschlands längster Fluss seinen Ursprung. Das Wasser ist grünlich-blau, herrlich idyllisch. Dann geht es als kleiner Bach ins Tag hinab, fröhlich sprudelnd über Stock und Stein. Immer wieder gibt es kleine Ruhephasen, kleine Tümpel, dann geht es weiter talwärts.

Irgenwann beruhigt sich das Ganze, zwischen Chur und Bregenz ist der Rhein teils eingefasst, alles schön kontrolliert. Dann geht’s in und durch den Bodensee. Tagelange Ruhe, aber mit Sturmgefahren: gar Windhosen können sich darauf entwickeln, Segler wissen um die Gefahren, die auf sie lauern.

Aus Deutschlands größtem See hinaus geht’s bald die imposant-rasanten Rheinfälle zu Schaffhausen laut tosend hinab. Dann die oberrheinische Tiefebene, dann vorbei an großen Industriebauten in der Metropolregion Mannheim-Ludwigshafen. Hier ist der Rhein schon lange schiffbar. Wie ist der Wasserstand?

Dann geht’s in die malerischen Mittelgebirge, munter links und rechts, vorbei an der Lorelei, wo schon so einige Kähne auf Grund gelaufen und zerschellt sind. Bis schließlich der Unterrhein sich bei Rotterdam in die Nordsee ergießt.

Stellen Sie sich nun vor, Sie schiffen den Rhein abwärts. Für jeden Teil ihrer Reise benötigen Sie ein anderes Schuhwerk oder Gefährt. In den Alpen Wanderstiefel, ein Kanu vielleicht im Tal zwischen der Schweiz und Österreich, wie wäre es mit einem Segelboot auf dem Bodensee oder einem Drachenflieger, um die Rheinfälle von Schaffhausen zu überstehen? Dann per Binnenschiff oder auch Touristendampfer bis nach Köln, oder mit Ruderbooten oder Fähren nach Holland und schließlich mit Schlepperkähnen und Hochseeriesen im Rotterdamer Hafen.

Prognosen sind eine schwierige Sache. Vor allem, wenn sie die Zukunft betreffen.
— Mark Twain

Wir kennen den Rhein. Den Markt kennen wir aber nicht. Er ändert sich ständig. Daher stellen Sie sich vor, dass Sie nicht wissen, welches Schuhwerk oder welchen Kahn Sie zu welchem Zeitpunkt benötigen. Denn die aufeinanderfolgenden Marktphasen stehen nicht wie ein bekannter Flussverlauf von vornherein fest, sondern sie verändern sich stetig und unerwartet.

Munter wechselt der Markt zwischen Seitwärtsphasen und Trendmärkten, in ganz unterschiedlichen Volatilitätsausprägungen.

In den 80er Jahren wurde durch das Turtle Trading Projekt in Chicago das Trading per Trendfolgemodellen populär. Ist es heute noch aktuell, jetzt wo es Algotrader der Großbanken und Hedgefonds gibt, die für Flash-Crashes und unerwartete Zacken in der Chartentwicklung sorgen? Vielleicht ja, vielleicht nein, aber wir dürfen keinesfalls einfach gut-gläubig annehmen, dass ein Modell noch in die heutige Zeit passt. 

Marktmeinung, Markttechnik und Marktpsychologie sind im ständigen Wandel. Das einzig konstante ist die Veränderung. Daher gilt für uns Trader, ob mit oder ohne Expert Advisor (EA) am Markt unterwegs, ob auf MT4, MT5 oder einer anderen Plattform mit dem Broker unserer Wahl verbunden (z.B. die von uns wegen engster EURUSD- und Dax-Future-CFD-Spreads oft empfohlene direktbroker-fx), dass wir in regelmäßigen Abständen hinterfragen müssen, ob unser Tradingansatz noch der richtige ist.

Die Ergebnisse dieser so objektiv und sachlich wie möglich durchzuführenden Selbst-Reflektion müssen dann entsprechend beherzt in erneuertes Vertrauen ins eigene Trading-System, in kleinen Anpassungen im Detail oder in großen, gegebenenfalls schmerzhaften Umwälzungen in den verwendeten Strategien umgesetzt werden.

Wo ist Rate of Change Indikator im MetaTrader?

Bis vor kurzem suchte ich vergeblich im MetaTrader 4 den Indikator "Rate of Change" oder auch "RoC" genannt. Dieser soll einfach die prozentuale Abweichung des aktuellen Kurses von vor x Perioden darstellen. 

Die mathematische Formel lautet:

RoC = ( aktueller Kurs / Referenzkurs - 1 ) * 100

Beispiel EURUSD, Tages-Chart (D1 in MT4), 14 Perioden: wenn EURUSD vor 14 Tagen bei 1,19090 stand und jetzt aktuell bei 1,19953 liegt, wird für die RoC ganz einfach gerechnet:

Also für unser Beispiel: 

RoC = ( 1,19953 / 1,19090 - 1 ) * 100 = 0,7247 (gerundet auf 4 Nachkommastellen).

Heißt zu gut deutsch, dass der EURUSD jetzt gerade 0,7247% höher steht als der Schlusskurs vor 14 Tagen.

Das ist ein schöner, einfacher, um den 0-Wert oszillierender Indikator, um einen Hinweis auf die Trendrichtung zu bekommen. Ich benutze ihn gerne im gleichen Chart mehrfach, z.B. einmal mit 10, einmal mit 38 und einmal mit 52 Perioden. 

Mit der mehrfachen Betrachtung kann ich Zufälligkeiten reduzieren und erhalte einen besseren Überblick, ob es sich wirklich um einen soliden Aufwärts- oder Abwärtstrend handelt. Dazu müssten alle drei RoCs auf der selben Seite der 0-Linie sein.

Wo ist nun aber der Indikator Rate of Change oder RoC im MetaTrader?

Zwar bin ich auf Foren fündig geworden und könnte diesen Indikator auch selbst programmieren in MQL4, aber dann handelt es sich ja immer um einen so genannten Custom-Indikator, dessen Abruf in einem Expert Advisor (EA) länger dauert als die eingebauten Indikatoren.

Ich konnte es einfach nicht fassen, dass ein solch einfacher, auch durchaus üblicher Indikator, nicht im MT4 vorhanden ist. Also bin ich auf die Suche durch die Code-Files der im MetaTrader eingebauten Indikatoren gegangen - und siehe da: wer suchet, der findet!

Darf ich vorstellen: Momentum.

Der Momentum-Indikator ist im MetaTrader untern den Oszillatoren zu finden. Wenn wir ihn öffnen, sehen wir schnell, dass das Momentum um die 100-Linie hin und her schwankt.

RoC ist um die 0-Linie zentriert, Momentum um die 100-Linie. Offensichtlich ein Unterschied, oder?

Ja und nein. Die Berechnung des Momentum ist ganz ähnlich wie die des RoC und geht wie folgt:

Momentum = ( aktueller Kurs / Referenzkurs ) * 100

Also für unser Beispiel: 

( 1,19953 / 1,19090 ) * 100 = 100,7247 (gerundet auf 4 Nachkommastellen), siehe auch der Chart-Screenshot rechts, den Sie durch Klicken vergrößern können.

Mathematisch wird einfach die Konstante '-1' weggelassen. Das führt rechnerisch dazu, dass Momentum um die 100, während RoC um die 0 oszilliert.

100,7247 im Momentum heißt dann ebenfalls wie oben im RoC, dass der derzeitige Kurs 0,7247% höher liegt als der Schlusskurs vor 14 Tagen.

Ansonsten ist Momentum aber exakt das gleiche wie die Rate of Change - und umgekehrt!

Nun kann ich also auch im MetaTrader meine EAs mit einem eingebauten, schneller und einfacher abrufbaren Indikator versehen. Dazu nutze ich einfach die iMomentum-Funktion.

Für unser 14-Tage-Momentum im aktuellen Chart wäre im MQL4-Code eines Expert Advisors also folgender Abruf zu erfolgen:

double aktuellerMomentum = iMomentum ( Symbol() , PERIOD_D1 , 14 , 0 , 0 ) ;

Feine Sache. Glauben Sie mir: als ich die Gleichheit von Momentum zum Rate-of-Change entdeckte, habe ich fast einen Luftsprung gemacht. Daher wollte ich dies unbedingt mit Ihnen teilen.

Ihnen die allerbesten Wünsche und erfolgreiche Trades
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Wie Sie auf mehrere MT4-Konten beim gleichen Broker gleichzeitig zugreifen

Ob Sie mehrere MetaTrader 4-Konten beim gleichen Broker gleichzeitig vom gleichen PC oder VPS aus beobachten wollen, oder ganz einfach mehrfach auf ein und dasselbe Konto zugreifen wollen:

Sie müssen dazu mehrere Instanzen des MT4 installieren.

In anderen Worten: ein MT4 von einem bestimmten Broker, z.B. die von uns oft empfohlene direktbroker-fx (gilt aber für alle Broker), muss in mehrfacher Ausführung installiert sein. Dann können Sie sich auf mehreren Konten gleichzeitig einloggen (oder auch mehrfach auf dem gleichen Konto eingeloggt sein). Alles von ein und demselben Rechner aus.

Wie installiert man nun mehrere Instanzen des MetaTraders des gleichen Brokers?

Das geht so:

1. Installationsdatei ausführen (z.B. durch Doppelklick).

2. Gegebenenfalls zustimmen, dass das Programm auf Ihren Rechner zugreifen darf.

3. Im neuen Fenster, das sich gerade geöffnet hat, das Häkchen bei "Lizenzvertrag zustimmen" setzen (sofern Sie dem Lizenzvertrag zustimmen), ABER NOCH NICHT AUF WEITER KLICKEN!

4. Stattdessen Auf Einstellungen klicken.

5. Standardnamen des Installationsordners auf einen noch nicht bestehenden Ordnernamen ändern, z.B. \meinBroker MetaTrader 4 II.

6. Standardnamen der Programmgruppe auf einen noch nicht bestehenden Namen ändern, z.B. meinBroker MetaTrader 4 II

7. Optional: Häkchen löschen bei MQL5.community Website Öffnen

8. Auf Weiter klicken und restliche Installationsautomatik abwarten.

In Ihrem Programm-Menü finden Sie nun die beiden "Instanzen" in separaten Programmgruppen und können sie separat öffnen. Ob Sie sich auf den beiden MT4-Instanzen mit dem gleichen oder mit unterschiedlichen Konten einloggen, ist Ihnen überlassen.

Das Einloggen in zwei verschiedenen Konten beim gleichen Broker begründet sich von selbst. Sie wollen einfach in beiden Konten gleichzeitig aktionsfähig sein.

Warum aber zwei mal gleichzeitig im gleichen Konto einloggen?

Dafür kann sprechen, dass Sie Expert Advisors (EAs) am laufen haben und diese auf Dutzenden von Symbolen installiert haben. Jeder MetaTrader hat nur eine Schnittstelle zum Tradeserver des Brokers.

Sie können also Ihre Kommunikationsfähigkeit mit dem Broker (fast) verdoppeln, indem Sie einen Teil Ihrer EAs in der einen Instanz und den anderen Teil in der zweiten Instanz laufen lassen.

Dabei ist unbedingt zu beachten, dass Sie nicht das gleiche EA-Setup auf beiden MT4-Instanzen verwenden. Ansonsten kann es zu Doppel-Ausführungen von Dealeröffnungen und anderen Problemen im Dealmanagement kommen.

Herzliche Grüße und beste Trading-Erfolge wünscht Ihnen
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

MQL4 Programmier Coaching neu im Angebot

Nach gelungenem ersten MQL4-Intensivkurs EA-programmieren lernen letzte Woche kam die Frage auf: und was jetzt?

Ich werde versuchen, hier auf diesem Blog so viel wie möglich wertvolle Inhalte zum Thema EA Programmieren mit Ihnen zu teilen. Dennoch werden Sie unweigerlich auf Coding-Herausforderungen stoßen, die ich nicht alle hier abdecken kann.

Daher biete ich Ihnen ab sofort an, dass wir mit Ihnen online per Telefonanruf bzw. Voice-over-IP-Verbindung mit Bildschirmübertragung (Zoom.us) oder auf Wunsch auch Fernzugriff (TeamViewer) eine private Programmier-Coaching-Session durchführen, damit Sie Ihren selbst programmierten EA schneller und einfacher fertig bekommen.

Nach dem Kauf Ihrer Session für 45 EUR je angefangener Viertel-Stunde pro Termin über den Paypal-Knopf rechts vereinbaren wir per Email den nächstmöglichen gemeinsamen Termin. Gerne sind auch Abendtermine möglich.

Beste EA-Programmier- und Trading-Erfolge wünschen Ihnen
Cristof Ensslin und das Team von mindful FX.

Was Sie unbedingt wissen müssen, bevor Sie einen EA einsetzen

Ein Expert Advisor (EA) ist ein Werkzeug.

Nicht mehr und nicht weniger.

Sie dürfen niemals glauben, dass ein EA Ihnen zu unendlichem, leicht erreichbaren Reichtum verhilft.

Ein Trader macht Gewinne, nicht ein EA.

Sind Sie selbst der Trader? Nun, stellen Sie sich vor, dass Sie Handwerker sind. Nun stellen Sie sich vor, dass Sie von Ihrer 80-jährigen Nachbarin gebeten werden, im Haus etwas zu richten, z.B. ein Loch in die Decke zu bohren, damit sie eine neue Hängelampe anbringen kann.

Das richtige Werkzeug für ein solches Projekt? Schlagbohrmaschine – eine Hilti am besten. Na toll, aber wie geht man damit um? Es ist eine schwere Maschine, mit der man viel Unheil anrichten kann, sei es an Mensch oder Materie:

  • Das Eigengewicht kann Sie von der Leiter oder vom Stuhl fegen.
  • Der Bohr-Staub kann Ihnen in die Augen fallen, wenn Sie keinen Staubsauger daneben halten oder Schutzbrille tragen.

Das kann üble Folgen haben. Ich will hier jetzt nicht schwarz malen, aber die Grunderkenntnis ist diese, ziemlich offensichtlich, wie ich meine:

Ein Werkzeug ist ein Verstärker. Es macht einen schlechten Handwerker tendenziell schlechter (oder zumindest gefährlicher und damit schlechter). Nur einen guten Handwerker macht es besser.

Ein gute Handwerker lässt sich die Zeit, nimmt sich die Zeit, das Benutzerhandbuch zu studieren, ausführlich zu testen und zu lernen. Ein guter Handwerker belegt Kurse, um sich im Umgang mit einer Maschine weiterzubilden und ausbilden zu lassen. Erst nach genügend Übung und mit fundiertem Selbstvertrauen geht’s an den richtigen Speck.

Es gibt vier Phasen der Handwerkskunst-Entwicklung:

  1. Selbstvertrauen kombiniert mit Unwissen
  2. Totaler Selbstzweifel, da man durch den Übermut aus 1. um sein Unwissen gelernt hat
  3. Entstandenes Wissen kombiniert mit noch immer vorherrschenden Selbstzweifeln
  4. Selbstvertrauen kombiniert mit fundiertem Wissen.

An welcher Stufe stehen Sie als Trader?

Erst bei Stufe 4 sollten Sie wirklich mit Echtgeld von entscheidender Größe handeln. Selbsterkenntnis ist der erste Schritt zur Besserung.

Es gibt kostenfreie Demo-Konten bei jedem MT4-Broker. Wenn es zeitlich ausläuft, eröffnen Sie ein neues. Wenn Ihr Broker Sie zu einem einer Echtgeld-Einzahlung dränkt und Ihnen andernfalls kein neues Demokonto eröffnen möchte, wechseln Sie den Broker – denn offensichtlich hat er nicht Ihre Interessen im Sinn.

Machen Sie Fehler, machen Sie viele Fehler, und machen Sie diese Fehler schnell und kontinuierlich. Aber machen Sie einen Fehler nicht: dass Sie Ihre menschlich-natürliche Gier Sie selbst dazu verleiten lassen, zu früh mit Summen traden zu beginnen, deren Verlust Ihnen richtig weh tun und Ihrem finanziellen Wohlergehen schaden würde.

Auch ein EA ist ein Werkzeug.

Nicht mehr und nicht weniger.

Es ist ein Werkzeug, dessen korrekter Umgang gelernt werden muss.

Selbst wenn Sie am Punkt angelangt sind, dass Sie eine Strategie gefunden haben, entwickelt haben, die Sie sehr sicher zum Erfolg, zum finanziellen Gewinn bringen wird, stellen Sie durch ausführlichste Tests mittels MT4-Strategietester und „laufen lassen“ im Demo-Konto sicher, dass der EA exakt das tut, was Sie möchten.

Das sieht offensichtlich aus. Aber über die eigentlichen Handelssignale hinaus, die natürlich passen müssen, und deren Umsetzung Sie noch relativ leicht prüfen können, gibt es viele Feinheiten, die Ihnen im Strategietester nicht auffallen werden, sondern nur durch ausgiebige Live-Tests.

Sie sollten Ihr Werkzeug kennen lernen und verstehen und gegebenenfalls ändern im Code (nein, eine Hilti können Sie nicht unbedingt von der Maschine her verändern, aber Sie können einen anderen Bohrer einklemmen, andere Bohrgeschwindigkeit wählen etc., insofern passt die Analogie noch immer).

Fragen, die Sie sich während des MT4-Demokonto-Dauertests stellen sollten:

  • Macht der EA das, was ich will, wenn Spreads ausgeweitet werden?
  • Was ist die gewünschte Verhaltensweise, wenn eine Order nach Signal nicht ausgeführt werden konnte, weil z.B. der Tradeserver des Brokers überlastet war?
  • Was ist, wenn die Order wegen zu hoher Slippage nicht ausgeführt werden konnte?

Und, und, und.

Dies sind erste Ansatzpunkte, die Ihnen helfen sollen, die Tiefen der notwendigen Test- und Lernarbeit zu erkennen und nachhaltig anzugehen. Wenn Sie mit der notwendigen Ernsthaftigkeit an die Sache "EA-Trading" herangehen, werden Sie tolle Ergebnisse erzielen können.

Viel Erfolg und beste Trading-Gewinne wünscht Ihnen
Cristof Ensslin von mindful FX, Ihrem EA Programmierer

Mit einem EA kann ich mich zurück lehnen und verdiene ständig Geld, richtig?

Falsch.

Ein Handelssystem sich auszudenken, einen Algorithmus festzulegen und einen Expert Advisor (EA) daraus zu erstellen ist nicht das Ende, sondern der Anfang!

Ihre Aufgabe als Trader besteht darin, einerseits gute Einstellungen der Signalidentifikation zu finden, andererseits ein Gefühl oder anderweitige Indikatoren oder Filterregeln dafür zu entwickeln, in welcher Einstellungs-Kombination der EA in welche Marktphase passt.

Es gibt keine "Master"-Einstellung für Ihren EA; genausowenig gibt es einen "Master"-EA, der andauernd verlässliche Gewinne abwirft.

Es wird immer wieder Phasen geben, in denen der EA besser ausgeschaltet bleiben sollte. So wie es auch immer wieder Phasen geben wird, in denen Ihr EA eine Vielzahl an perfekten Trades machen wird. 

Aus diesem Grund gibt es nur eine logische Schlussfolgerung für den Moment, da die Trading-Strategie fertig entwickelt und der Expert Advisor programmiert ist: jetzt geht's erst richtig los mit der Arbeit!

Einige meiner Kunden sind auf diese Weise über wochen- und monatelange Test- und Verfeinerungsrunden zum Ziel des profitablen Tradings gestoßen.

Das wünsche ich auch Ihnen!

Beste Tradingerfolge
Ihr Cristof Ensslin von mindful FX, Ihrem EA Programmierer

MT4 vs. MT5 – ist MT4 veraltet?

„MT4 ist veraltet“ - habe ich kürzlich als Email erhalten.

Viele MetaTrader-Benutzer nehmen an, dass MetaTrader 5 (MT5) einfach die neuere, schickere Version des MetaTrader 4 (MT4) ist, die sich im Hintergrund aber nicht weit voneinander unterscheiden. Während dieser Eindruck vielleicht so von der entwickelnden Softwarefirma MetaQuotes beabsichtigt war, heben sich überraschenderweise die Programmiersprachen MQL4 und MQL5 (mit Hilfe derer Expert Advisors, Indikatoren und Skripte programmieren werden) stärker voneinander ab als ein Nicht-Programmierender von der brüderlichen Namensgebung her annehmen sollte.

Daher höre ich hin und wieder die Aussage, MT4 sei überholt und werde bald abgeschaltet. Hierzu weiter unten mehr...

Zunächst aber ist die Sache diese: Aus Sicht eines Programmier-Anfängers ist MQL4 viel einfacher zu lernen als MQL5. Funktionalitäten sind mit fast intuitiver Logik (und ein wenig Übung) programmierbar. Viele Funktionen sind eingebaut.

Das macht MQL4 einerseits weniger flexibel. Andererseits führt dies dazu, dass Entwickler im Programmier-, Test- und Korrektur-Prozess weniger Frustrationen erleben – insbesondere wenn sie (noch) nicht wissen, was sie mit der ganzen Flexibilität von MQL5 machen können (oder müssen).

Wenn Sie MQL5 lernen möchten, ohne vorher Programmiererfahrung zu haben, dann werden Sie schnell auf eine Mauer prallen. Die Programmiersprache MQL5 ist zwar flexibler, aber auch komplexer und für Programmier-Anfänger schwieriger zu verstehen. Flexibilität klingt gut, führt aber dazu, dass mehr Details von Funktionalitäten im Code definiert werden müssen als bei MQL4.

Das bedeutet, dass ein EA mit gleichen Funktionalitäten in MQL5 eine über den Daumen gepeilt doppelt so lange Programmierzeit in Anspruch nimmt also in MQL4.

Zudem ist in MT5, der unbestritten viele Vorzüge mit sich bringt, übrigens nicht alles Gold, was glänzt:

  • in MT4 werden einzelne Positionen vorgehalten und können manuell und auch von EAs einzeln gemanagt werden, z.B. in Sachen Schließung gezielter Deals und Vergabe unterschiedlicher Stop-Loss- und Take-Profit-Kurse. In MT5 werden dagegen mehrere Dealeröffnungen in die gleiche Trading-Richtung als eine Position mit nach Volumen gewichteten durchschnittlichen Einstiegskurs und ein und demselben SL bzw. TP zusammengefasst.

  • Die meisten in der EU zugelassenen Broker lassen ihre MT4-Kunden hedgen, also eine Gegenposition aufbauen. In MT5 ist das technisch nicht möglich. Wenn Sie in Ihrem MT5-Konto zum Beispiel 10 Lots Buy geöffnet haben und 1 Lot Sell eröffnen möchten, schließt ihr Broker stattdessen eine der 10 Buy-Lots, so dass Sie nur die Netto-Position von 9 Lots im Konto sehen. In MT4 können Trader so handeln, dass neben der 10 Buy-Lots ein separater Deal mit 1 Lot Sell besteht.

Jetzt zum rosa Elefanten, der im Raum steht: dass MT4 irgendwann zu Gunsten MT5 komplett eingestampft wird. Während das sicherlich passieren kann, glaube ich persönlich an dieses Szenario nicht.

Warum nicht?

  • MT4 ist viel weiter verbreitet als MT5. Das Broker- und Trader-Interesse an MT4 ist riesig. Das ist in Etwa vergleichbar mit dem Kampf um die Marktvorherrschaft bei Video-Kassetten in den 80er Jahren. Beta war technisch überlegen, während VHS aufgrund der schnelleren, weiteren Verbreitung zum Standard wurde. Ähnliches galt für die Betriebssystem Unix versus Microsoft Windows und die Datenschnittstellen FireWire versus USB. MT5 und MT4 befinden sich in einer vergleichbaren Situation.

  • MT4 und all seine Expert Advisors sind ein großer Umsatzgenerator für die Entwicklerfirma MetaQuotes. Auf mql5.com können MT4- und MT5-Trader ihre Trades als Signale, sowie ihre EAs, Indikatoren und Skripte veröffentlichen und an andere MT4-Nutzer vermieten und verkaufen. MetaQuotes erhält 20% Provision für jeden Verkauf. Der MT4-Markt ist deutlich größer als der für die MT5-Produkte. Warum sollte MetaQuotes diese Einnahmequelle aufgeben?

  • Es erscheint mir aus diesen Gründen für MetaQuotes sinnvoller, MT5 Schritt für Schritt, oder zumindest in weiten Teilen, so gut es technisch eben geht, für MQL4-Programme kompatibel zu machen (was im übrigen durch einige Ergänzungen in MQL4 schon in ersten Schritten geschehen ist).

Viele Broker teilen übrigens meine Meinung, so dass einige offen bekräftigen, dass sie auf Dauer ihren Trading-Kunden beide MetaTrader Plattformen anbieten werden.

Falls MT4 aber wirklich irgendwann weichen sollte, ist es für Sie von großem Vorteil, über MQL4-Kenntnis zu verfügen. Denn es ist eine tolle Grundlage, um dann als nächsten Schritt MQL5 zu lernen.

Wer Motorrad fahren lernt, beginnt zuerst mit einer kleinen Maschine, oder gar mit einem Roller oder Moped. Erst später geht er oder sie zu einem größeren, schwereren, schnelleren Gefährt über.

Ebenso ist es bei den MQL-Sprachen der beiden MetaTrader-Plattformen. MQL5 für MT5 direkt zu lernen, ist sehr viel komplexer und kann den Einsteiger komplett vom Programmieren abhalten. Dagegen ist MQL4 für MT4 vergleichsweise ein Kinderspiel. Es eröffnet Code-Neulingen die einmalige Möglichkeit, ins Programmieren einzusteigen.

Das macht MQL4 die beste Programmiersprache, um das Entwickeln eigener EAs, Indikatoren und Skripte von Grund auf zu lernen.

Wer EAs und Co. selbst programmieren kann, kann schneller neue Handels-Ideen testen und spart sich die Kosten für einen Programmierservice, sei es unser eigenes Programmier-Angebot oder das von anderen renommierten Dienstleistern.

Wie können Sie MQL4 erlernen?

Wir bieten neben Buchtipp und Video-Tutorial den Workshop MQL4-Intensivkurs – EA-programmieren lernen an. Er findet das nächste Mal im August statt. Klicken Sie hier, um alle Informationen wie Inhalte, Kosten, Ort und Anfahrt zu erhalten und sich anzumelden.

Mich würde es freuen, Sie beim Workshop persönlich kennen zu lernen.

Herzliche Grüße
Cristof Ensslin von mindful FX, Ihrem EA-Programmierer

Warum ist nach EA-Optimierung im MT4 Strategietester das Ergebnisfenster leer?

Im folgenden MetaTrader 4 (MT4) Tutorial Video erhalten Antwort auf die Frage:

Beim Optimierungsmodul habe ich auch noch ein Problem. Ich habe mal eine Komponete des MACD (die SMA Linie) optimieren lassen. Die Sache lief gut 20 Minuten, aber das Optimierungsdiagramm und das Auswertungsfenster waren leer. Vielleicht haben Sie eine Idee?

Beste Erfolge für Ihr Trading wünscht Ihnen
Cristof Ensslin und das mindful FX-Team

Was tun bei MT4-Fehlermeldung "Trade is disabled"?

Hier erhalten Sie Antwort auf die folgende MetaTrader 4-Frage eines unserer Expert Advisor Kunden:

Ich hatte mir von Ihnen zwei EAs anpassen lassen und habe mit diesen im Strategietester herumprobiert. Nun wollte ich den EA auf einem Demo-Konto laufen lassen [...]. Der EA lässt sich quasi ganz normal starten, nur dann bekomme ich im Journal bei jedem Trade-Versuch eine Ablehnung [mit der Fehlermeldung "Trade is disabled"].

"Trade is disabled" liegt in der Regel an einem der drei folgenden Szenarien, die von Trader-Seite weder manuell noch per Expert Advisor umgangen werden können:

1) Broker hat Trading deaktiviert derzeit; z.B. wegen eines Feiertags, höherer Gewalt oder Erstellung eines täglichen oder monatlichen Trade-Reports. Oder aber wegen eines ungewöhnlich illiquiden Markts, z.B. vor einer wichtigen Datenveröffentlichung oder schlicht und ergreifend vor Eröffnung des Referenzmarkts (insbesondere bei Aktienindizes möglich). Sie erhalten zwar Ticks, da die Liquiditätsprovider des Brokers aktiv sind. Daher rechnet der EA bei jedem Tick und generiert eventuell Signale, möchte dann handeln. Aber wenn der Broker das Trading gerade ausgeschaltet hat, geht's eben trotzdem nicht und Ihr MT4 gibt Ihnen die Fehlermeldung "Trade is disabled".
Lösung: Broker ansprechen und nachfragen, wann Trading wieder erlaubt ist.

2) Ihr Konto ist nicht aktiviert. Gleiches gilt: Ihr MT4 erhält Ticks, EA rechnet und möchte ggfls. traden, aber Trades sind nicht möglich.
Lösung: Broker ansprechen und nachfragen, wie Sie das Konto aktivieren können.

3) Das Handelssymbol ist nicht tradebar. Zum Beispiel kann es sein, dass ein Broker die Symbole EURUSD und EURUSDc anbietet. Beide sind abrufbar im MT4, aber z.B. je nach Kontoart nur eines der beiden handelbar. Die nicht handelbaren Symbole sind im Marktfenster in der Regel in grauer Schrift dargestellt.
Lösung: In diesem Fall einfach das andere, nicht-graue Symbol wählen. 

Beste Trading-Erfolge wünscht Ihnen
Cristof Ensslin und das mindful FX Team

Wie Sie einen einzelnen Expert Advisor (EA) ausschalten bzw. stoppen können.

Im folgenden MetaTrader 4 (MT4) Tutorial Video erhalten Antwort auf die Frage:

Ich habe immer zahlreiche Charts offen und lasse den EA bei verschiedenen Symbolen laufen. Wie kann ich einen einzelnen EA wieder ausschalten bzw. stoppen?

Beste Erfolge für Ihr Trading
Ihr Cristof Ensslin und das mindful FX-Team

Installations-Anleitung für Skripte in MetaTrader 4 (MT4)

Um ein Skript in MetaTrader 4 (MT4) zu installieren, folgen Sie den folgenden Schritten oder lassen Sie sich vom Video unten anleiten:

  1. Speichern Sie die Skript-Datei (mq4 oder ex4) auf dem Desktop Ihres Computers. Sie können die Datei beliebig umbenennen.
  2. Gehen Sie zum Desktop, wählen die Datei aus und kopieren sie in den Zwischenspeicher (z.B. mit Tastenkombination Strg + c).
  3. Öffnen Sie nun den MetaTrader, in dem Sie das Skript installieren wollen.
  4. Wählen Sie im Menü „Datei“ den Punkt „Dateiordner öffnen“ aus.
  5. Dort wählen Sie den zunächst den Unterordner „MQL4“, dann den Unterordner „Scripts“ und fügen die zwischengespeicherte Datei ein (z.B. mit Tastenkombination Strg + v).
  6. Schließen Sie nun den MetaTrader und öffnen ihn neu.
  7. Im Navigator-Fenster ist das Skript nun unter „Skripte“ zu finden.
  8. Wählen Sie das gewünschte Konto aus. Zum Testen und Erlernen, wie das Skript funktioniert und aktiviert wird, nutzen Sie unbedingt ein Demo-Konto. Wenn das Skript Deals eröffnen, ändern oder schließen soll, muss „AutoTrading“ (Schaltfläche in der oberen Symbolleiste) eingeschaltet sein.
  9. Es gibt (mindestens) drei verschiedene Wege wie Sie das Skript ausführen können. Das sehen Sie im Video des Blog-Artikels Mit einem Klick alle Deals schließen in MT4.

Hier nun die Installations-Anleitung per Video:

Beste Erfolge für Ihr Trading
Ihr Cristof Ensslin und das mindful FX-Team

Mit einem Klick alle Deals schließen in MT4

Hier und heute wieder eine Antwort auf eine uns zugemailte Frage zu MetaTrader 4 und zur EA-Programmierung. Sie lautet in leicht anderen Worten ausgedrückt:

Wie kann ich alle Trades in einem Moment closen?

Wenn Sie alle offenen Deals in einem Konto auf einmal schließen möchten, bietet sich am besten an, ein Skript anzuwenden. Ein Skript in MT4 ist eine Sammlung von Anweisungen in der Programmiersprache MQL, so wie auch ein Expert Advisor (EA). Skripte werden im Gegensatz zu EAs jedoch nicht bei jedem Preistick durchlaufen, sondern lediglich ein einziges Mal zu genau dem Zeitpunkt, zu dem es manuell gestartet wird.

Wir haben Ihnen ein solches Skript zur Verwendung im MT4 erstellt. Es wird Ihnen besonders dann dienlich sein, wenn Sie viele Deals auf einmal fahren, egal ob mit einem Hochfrequenz-EA oder im manuellen Handel. Weiter unten können Sie es kostenfrei herunterladen!

Das Skript ist so programmiert, dass es alle Deals schließt, die im Moment der Ausführung geöffnet sind, und zwar ganz ohne Filterung: Marktorders (Buys und Sells) werden zum aktuellen Bid bzw. Ask geschlossen (unter Beachtung von Slippage = Ausführungsrisiko), Stop- und Limitorders werden gelöscht.

Im folgenden Video sehen Sie, wie Sie das Skript, das wir mFX-AllesSchliessen getauft haben und das Sie unter dem Video kostenfrei downloaden können, im MT4 anwenden:

Sie sehen, dass per Skript das Closen von vielen Deals auf einmal extrem schnell geht. Das macht Sie zu einem schlagkräftigeren MT4-Trader und kann Ihnen in hektischen Marktphasen sehr wertvoll werden - vielleicht ja schon morgen/übermorgen zwecks US-Präsidentschaftswahl?

Hier nun für Sie der kostenfreie Download des MT4-Skripts mFX-AllesSchliessen, inkl. Lizenzvertrag und Dokumentation (mit Installationsanleitung), zusammen in einem ZIP-File.

Auf beste Handelserfolge für Sie
Ihr Cristof Ensslin von mindful FX