Von den Besten lernen: André Kostolany

Was Tulpenzwiebeln mit Kryptowährungen zu tun haben

Neulich las ich (mal wieder) Börsenaltmeister André Kostolanys Buch "Die Kunst, über Geld nachzudenken". Immer wieder eine unterhaltsame und vor allem lehrreiche Lektüre.

Als ich das Kapitel über den Tulpenzwiebel-Hype aus den 1630er-Jahren las, traf es mich wie eine Bratpfanne auf den Kopf:

Das unvernünftige Spiel mit dem ‘Wertlosen’ ist geradezu ein Symptom für das Ende großer wirtschaftlicher Booms, für die letzte Phase der Prosperität und die dritte Phase des Bullenmarktes, wo das Geld in Strömen fließt. Und dieses Phänomen kehrt immer wieder zurück. Eine Haussebewegung bleibt anfangs im klassischen Rahmen, dann greift sie auf die fragwürdigen Werte über.
— André Kostolany in "Die Kunst, über Geld nachzudenken"

Ein paar Sätze weiter kommt's dann erneut wie der Wink mit dem Zaunpfahl:

Schließlich erfasst diese Aufwärtsbewegung eine große Zahl von Unwerten, ja, von Antiwerten. [...] Alle Welt wollte verdienen und bezahlte unglaubliche Preise. Glücksritter aus ganz Europa kamen nach Holland, um Tulpen zu erwerben, die ja im Preis steigen mussten. Ähnlich wie heute kleine Sparer jeden Preis für Internet-Aktien bezahlen.”
— André Kostolany in "Die Kunst, über Geld nachzudenken"

Kostolany schrieb diese Worte 1999. Was ab März 2000 nach Platzen der Internetblase gut zweieinhalb Jahre lang mit den Aktienmärkten geschah, daran erinnere ich mich noch gut. Als Kind des Bullenmarktes der neunziger Jahre sah ich kopfschüttelnd zu, wie ein Tief nach dem anderen erreicht wurde!

Nun ersetzen Sie in Kostolanys Zitat das Wort "Internet-Aktien" mit "Kryptowährungen". Fällt es Ihnen nicht ebenso wie Schuppen von den Augen?

Zwar steht das Argument der begrenzten Coin-Menge pro Coin-Emission im Raum als Argument, das für die Stabilität einer einzelnen Kryptowährung spricht. Allerdings gibt es keine Begrenzung, wie viele verschiedene der digitalen "Werte" geschaffen werden können. Es wimmelt doch nur so von neuen ICOs, Initial Coin Offerings!

Denken Sie mal darüber nach! Vielleicht hilft Ihnen ein Buch wie dieses von Kostolany zu eigenen, neuen Erkenntnissen, die Sie für Ihren verdienten Trading- und Börsenerfolg schulend vorbereiten.

Zwar sind Bitcoin und Co. schon wochenlang auf Sinkflug. Dennoch kann (und meines Erachtens muss) die Entwertung der in sich wertlosen Kryptowährungen in Richtung der theoretisch möglichen 0-Linie weiter gehen.

Herzliche Grüße und beste Börsenerfolge wünscht
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mit “günstig” meine ich sogar kostenfrei!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Los geht’s!

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

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

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

Schritt 1: EA-Datei unter neuem Namen abspeichern

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

Schritt 2: Versionsnummer und Erstellungsdatum ändern

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

#property version "1.60" //16.11.2018

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

Schritt 3: Auswahlliste erstellen

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

enum BASIS_DEALMANAGEMENT
{
PIPS,
RANGE
};

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

extern BASIS_DEALMANAGEMENT Pips_oder_Range = RANGE;

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

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

Schritt 4: Voreinstellungen für Eingabevariablen ändern

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

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

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

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

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

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

Schritt 5: Handelsspanne in einer Variable speichern

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

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

double Range = RangeUp - RangeLo ;

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

Schritt 6: Range und Multiplikator zum Dealmanagement verwenden

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

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

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

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

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

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

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

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

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

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

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

Neue EA Version v1.60 ab sofort verfügbar

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

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

Schriftgröße im MetaEditor verändern

Wer im MetaEditor einen Expert Advisor (EA) oder Indikator programmiert, hat sich vielleicht schon mal gewundert, warum die angezeigte Schriftgröße nicht mit der 2-Finger-Technik auf dem Touchpad veränderbar ist, wie z.B. in Microsoft Word oder einem Browser wie Google Chrome. Ich selbst habe daraus lange Zeit die (falsche) Schlussfolgerung gezogen, dass die Schriftanzeige im MetaEditor einfach fix ist, ich sie also nicht verändern kann.

Kürzlich bin ich darauf gestoßen, dass ich aber auf andere (schon fast alt-herkömmliche) Art und Weise die Anzeige vergrößern kann. Insbesondere ist das wertvoll, wenn ich Webinare oder Videokonferenzen halte, in denen ich den EA Code erkläre.

So verändern Sie die Schriftgröße im MetaEditor

Drei einfache Schritt führen Sie zum Ziel.

Schritt 1: öffnen Sie eine Code-Datei (.mq4 oder .mq5) im MetaEditor.

Ich öffne eine mq4-Datei, z.B. die Code-Datei unseres Moving-Average-Crossover EA’s mFX-MAXingPro im MetaEditor.

Schritt 2: wählen Sie im Menü Werkzeuge den Punkt Optionen aus.

Im Menü Werkzeuge des MetaEditors wähle ich nun also den Unterpunkt Optionen aus.

Dadurch öffnet sich ein Fenster zu Einstellung verschiedener Programm-Eigenschaften.

Schritt 3: im Reiter Schriftart legen Sie die gewünschte Schriftgröße fest.

Nun klicke ich auf den Reiter Schriftart. Dort kann ich Schriftart und Größe ändern. Die Schriftart belasse ich hier auf Courier New, während ich bei Größe 16 einstelle. Nun klicke ich auf OK.

Zum Abschluss sehe ich den gleichen EA Code wie vorher, aber in geänderter Schriftgröße. Die größere Anzeige dient mir zum Beispiel zur besseren Leserlichkeit für mich selbst oder aber meinen Zuschauern in YouTube-Videos, Webinaren oder Videokonferenzen mit Bildschirmübertraung.

Ihnen viel Erfolg beim EA Programmieren und Traden
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

Expert Advisor mFX-EquityWatch so einstellen, dass zuerst alle Deals geschlossen werden und dann erst alle anderen EAs deaktiviert werden

Unser Risiko-Management-EA mFX-EquityWatch, ein Expert Advisor für MT4, ist bislang so ausgelegt, dass bei Erreichen des Equity-Stops-Levels zuerst alle anderen EAs in der laufenden MT4-Instanz entweder blockiert oder gelöscht werden. Erst danach aktiviert sich die Alles-Schließen-Routine, die alle offenen Orders schließt oder löscht.

Das verfolgt das Ziel sicherzustellen, dass die anderen Charts, auf denen eventuell andere EAs arbeiten, nicht sofort wieder neue Deals eröffnen können. Es soll ja bei Erreichen des Equity-Stop-Levels erst mal über die Strategie-Fortsetzung nachgedacht werden. Nur so lässt sich bewusst handeln.

Was aber, wenn Sie auf Ihrem MetaTrader einen Deal-Kopierer-EA laufen haben, der diese Dealschließungen automatisch an andere, abhängige Konten weitergeben muss?

Dann hätten Sie mit obiger Vorgehensweise das Problem, dass der Deal-Kopier-EA deaktiviert ist, bevor er die Dealschließungen kommunizieren kann. In den Worten eines Käufers des EA's mFX-EquityWatch ausgedrückt:

Ich brauche [den EA mFX-] EquityWatch, um alle anderen EAs zu schließen, aber es darf erst nach [Schließung aller offenen Deals] erfolgen. Ich verwende folgendes System: Trades, die vom Quellkonto (Demo) zum Zwischenkonto (Demo) und von dort zum Empfängerkonto (echt) übertragen werden. Das bedeutet, dass auf dem intermediate Account sowohl Receiver-EA als auch Sender-EA [des Deal-Kopierers] bei der Arbeit sind. EquityWatch ist auch auf dem Zwischenkonto. Bei Zwischengeschäften werden einige Trades invertiert, manche Trades werden so weiter übertragen wie sie sind. Die EquityWatch-Aufgabe besteht darin, alle Geschäfte zu schließen, wenn das Eigenkapital des Zwischenkontos ein vordefiniertes Niveau erreicht; sehr wichtig ist, dass die Aktien-Überwachung auch Empfänger- und Sender-EA [deaktiviert], aber eben erst, nachdem alle Geschäfte geschlossen wurden. Ansonsten bleiben auf dem (realen) Konto Handelsgeschäfte offen. Darüber hinaus gibt es einen Alert-Absender-EA auf dem Intermediate-Konto, der ebenfalls geschlossen wird, bevor er eine Warnung zum Abschluss von Geschäften senden könnte.
— Vladimir S., Käufer des EA's mFX-EquityWatch
 Zwei neue Eingabevariablen für Risikomanagement EA mFX-EquityWatch

Zwei neue Eingabevariablen für Risikomanagement EA mFX-EquityWatch

Um den EA mFX-EquityWatch auf diese Anforderung zuzuschneidern, gibt es ab sofort eine neue Version dieses unseres Risikomanagement-EA's. Durch dieses Update können Sie den mFX-EquityWatch EA so einstellen, dass zuerst alle Deals geschlossen werden und dann erst (z.B. 3 Sekunden später, selbstverständlich einstellbar) alle anderen EAs deaktiviert werden. Rechts im Bild sehen Sie einen Screenshot der neuen Eingabevariablen zur Steuerung des EA’s.

Hier gibt’s die neue Version im Sofortdownload zu kaufen: https://www.mindfulfx.de/equitywatch-ea/

Falls Sie den EA in den letzten 6 (Variante EX4) bzw. 12 Monaten (Variante MQ4) gekauft haben, finden Sie die neue Programm- bzw. Code-Version unter Ihrem persönlichen Downloadlink wieder, den Sie beim Kauf erhalten haben. Geben Sie mir bitte Bescheid, falls Sie beim Finden des Links oder Herunterladen der Dateien Hilfe benötigen.

Beste Trading-Erfolge und solides Risikomanagement wünscht
Cristof Ensslin von mindful FX, Ihr EA-Programmierer

EA Programmieren anfangen mit MQL4 oder MQL5?

Bei meinem letzten JFD-Webinar am 2.10.2018 wurde ich nach einer Empfehlung gefragt, ob man besser auf MT4 oder gleich auf MT5 das Programmieren von Expert Advisors lernen sollte. Hier meine Antwort.

Die Programmiersprache MQL4 für den MetaTrader 4 ist sehr viel einfacher als die Programmiersprache MQL5 für den MetaTrader 5. Damit eignet sie sich schlicht und ergreifend besser für Programmier-Einsteiger.

Die beiden Sprachen sind weiter voneinander entfernt als es deren Namensgebung erwarten lässt. EAs für MT5 zu programmieren kann man dan als zweiten Schritt lernen, wenn man den Einstieg ins Programmieren durch MT4 EAs geschafft hat.

Ich vergleiche das gerne mit Spanisch und Portugiesisch. Beide Sprachen sind eng miteinander verwandt. Spanisch ist aber viel leichter zu lernen, unter anderem weil die Aussprache sehr nah am geschriebenen Wort liegt. Das kommt dem deutschen Muttersprachler sehr entgegen. Portugiesisch hingegen hat zusätzlich ganz andere Ausspracheregeln, so dass dies zu einem höheren Schwierigkeitsgrad für das Erlernen dieser schönen Sprache führt.

Wenn Sie sich die einfachere Sprache zuerst aneignen, erhalten Sie zunächst das Verständnis für Vokabular und Grammatik. Noch wichtiger: Sie generieren in sich selbst die Fähigkeit, eine Sprache zu lernen. Das erleichtert den nächsten Schritt, eine weitere Sprache zu lernen.

Weil das EA-programmieren in MT5 deutlich schwieriger ist, halte ich es für Programmierneulinge für die überlegene Strategie, zunächst mit MQL4 zu beginnen.

“Wird nicht MT5 den MT4 irgendwann komplett ersetzen?” höre ich als Einwurf immer wieder. Das kann gut sein, wird aber sicherlich sich noch über Jahre hinziehen. Die Firma MetaQuotes, die beide Versionen des MetaTraders entwickelt, hat meines Erachtens sogar ein großes Interesse daran, entweder MT4 langfristig beizubehalten oder aber die Masse an MT4-Programmen für MT5 kompatibel zu machen. Warum?

Über deren Website mql5.com, die deren offizielle Plattform für MT4 und MT5 ist, gibt es tausende von EAs, Indikatoren und Signale für MT4 zu kaufen oder mieten. Die Anzahl der für MT5 verfügbaren Programme ist deutlich niedriger. An jedem Kauf, an jeder Miete und an jedem Abonnement verdient MetaQuotes mit ca. 20% mit.

Würden Sie eine solche Einkommensquelle einfach so abschalten? Wahrscheinlich nicht. Daher werden EAs und Co für MT4 in meiner idealen Welt voll kompatibel werden für MT5. Hinweise dafür gibt es schon:

Im Juni 2018 wurde seitens MetaQuotes bekannt gegeben, dass die in MQL4 verfügbaren Funktionen zum Kursdetail-Abruf (z.B. iTime, iOpen, iHigh, iLow, iClose, iVolume etc.) nun auch in MQL5 verwendet werden können. Das erleichtert das “Übersetzen” von MT4 EAs in MT5 EAs ungemein.

Außerdem seien laut Christian Kämmerer von JFD Brokers noch immer sieben mal mehr Lizenzen für MT4 im Umlauf als für MT5, wie er während unseres gemeinsamen Webinars vom 2.10.2018 erwähnte. Das bedeutet, dass der Umstellungsprozess noch eine ganze Weile dauern wird.

Daher ist es meines Erachtens weiterhin sehr sinnvoll, die Programmiersprache MQL4 für MT4 zu lernen und somit die Chance wahrzunehmen, den einfacheren Weg in die Welt des EA-programmierens zu nehmen.

 Heute ist Anmeldeschluss für Oktober-Kurs

Heute ist Anmeldeschluss für Oktober-Kurs

Übrigens: heute ist Anmeldeschluss für die nächste Ausgabe für unseren MQL4-Intensivkurs - EA-programmieren lernen. Noch ein paar Plätze sind verfügbar, so dass Schnellentschlossene am 29. und 30. Oktober 2018 direkt von mir das EA-Programmieren für MT4 lernen können. Klicken Sie rechts auf die Grafik oder oben auf den Link, um sich vollständig zu informieren und anzumelden.

Ich würde mich freuen, Sie Ende Oktober in Stuttgart zu sehen.

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

MQL4-Intensivkurs - EA-programmieren lernen

infomiert bleiben:

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

MQL5-Intensivkurs - EA-programmieren lernen

infomiert bleiben:

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

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

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

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

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

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

Webinar-EA per Email bestellen

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

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

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

    Powered By ConvertKit

    Danke für Ihr Interesse!

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

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

    Gewinn und Rendite eines Expert Advisors

    In zwei der letzten Blog-Artikel hatte ich Ihnen Drawdown (Drawdown: zwei Definitionen zum Messen von Expert Advisors) und Profitfaktor (Profitfaktor als Erfolgsmaß von Expert Advisor Deals) als Risiko- und Erfolgsmaß für das automatisierte Trading mit Expert Advisors (EAs) vorgestellt. Während diese beiden Kennzahlen eher das Risiko sowie die Gewinn- und Verlustverteilung einer Tradingstrategie beschreiben, benötigen wir abschließend noch das Erfolgsmaß schlechthin, um festzustellen, ob wir unser Geld in das untersuchte System investieren wollen oder nicht.

    Die Berechnung funktioniert eigentlich ganz einfach: wir betrachten den Netto-Gewinn nach Abzug aller Kosten. Diese Summe bezeichnen wir gerne auch als „Gewinn in Kontowährung”. Wir müssen also alle Kursgewinne und Kursverluste aufsummieren und eventuelle Finanzierungskosten sowie Gebühren davon abziehen.

    Setzen wir diesen Gewinn ins Verhältnis mit dem Startkapital, erhalten wir die Rendite, den Gewinn in Prozent des eingesetzten Kapitals, also:

    Um nun die Profitabilität eines EAs mit einer anderen Strategie oder gar komplett anderer Anlageformen vergleichen zu können, ist es sinnvoll, diese Rendite in eine jährliche Rendite, auch als Rendite p.a. (pro anno, lateinisch für pro Jahr) bekannt, umzurechnen. Die Formel dazu lautet wie folgt:

    oder

    oder

    Rechnen wir ein Beispiel aus. Wenn ich, wie derzeit (Stand 07.08.2018) mit unserer mFX-ProvideLiquidity Strategie, vollständig als EA für MT4 automatisiert, z.B. 27,36% Rendite habe, und das Trading mit diesem EA auf bis zu 14 Major Währungspaaren seit Mitte November 2017 aktiv ist, komme ich per Mitte August 2018, also nach neun Monaten, auf folgende annualisierte Rendite:

    Nun kann ich alles ins Verhältnis setzen. Ich kann 36,48% p.a. mit der Aktienmarktrendite oder dem Tagesgeldkonto vergleichen. Natürlich muss ich das vollständige Bild zeichnen, indem ich den wahrscheinlichen, möglichen Drawdown aller zu vergleichenden Renditen als wichtigstes Risikomaß hinzuziehe.

    Die Live Trading Resultate im MT4 zu analysieren, ist manchmal etwas mühsam. Denn die Ergebnisse werden standardmäßig im HTML-Format und zudem im englischen Zahlenformat exportiert. In einem der nächsten Blog-Posts zeige ich Ihnen eine Lösung dafür: ein Skript, mit dessen Hilfe Sie Ihre Dealhistorie in ein sehr Excel-freundliches Format umwandeln können.

    Bleiben Sie automatisch per Email über unsere Blog-Veröffentlichungen informiert:

    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

    Bis dahin alles Gute für Ihr EA-Trading
    Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer

    Einen (ersten) EA selbst programmieren in 60 Minuten​

    Wie programmiert man einen (ersten) Expert Advisor (EA) in nur 60 Minuten?

    EA programmieren ist kein Hexenwerk. Sonst wäre ich ja eine Hexe...

    In einem zusammen mit JFD Brokers veranstalteten Live-Webinar am kommenden Dienstag, 2.10., um 16 Uhr deutscher Zeit, zeige ich Ihnen die wichtigsten Elemente für ein flexibles Grundgerüst eines Expert Advisors für MT4 - Schritt für Schritt, verständlich und interaktiv erklärt.

    Haben Sie Lust darauf?

    Es wird auch eine Fragen-und-Antworten-Session im letzten Drittel des Webinars geben. Dadurch können Sie mir alle möglichen Fragen stellen.

    Nach dem Webinar werden Sie sogar die Möglichkeit bekommen, den gemeinsam entwickelten MQL4-Code des Expert Advisors kostenfrei von mir zugesendet zu bekommen.

    Alles was Sie zur Teilnahme benötigen, ist ein MT4 Demokonto (z.B. von JFD Brokers: absolut kostenlos und zeitlich unbegrenzt) sowie die kostenlose Anmeldung und Teilnahme am Webinar. Weitere Infos dazu hier:

    Melden Sie sich fürs Webinar gleich an, um sich einen der begrenzten Plätze zu sichern und einen exklusiven Einstieg in die spannende Welt des EA-Programmierens zu schaffen:

     klicken Sie auf diesen Screenshot, um zur JFD-Anmeldeseite zu gelangen. Dort dann auf ANMELDEN klicken und sich kostenlos und unverbindlich für das Webinar registrieren.

    klicken Sie auf diesen Screenshot, um zur JFD-Anmeldeseite zu gelangen. Dort dann auf ANMELDEN klicken und sich kostenlos und unverbindlich für das Webinar registrieren.

    Bis Dienstag im Webinar
    Cristof Ensslin von mindful FX, Ihr EA-Programmierer

    PS: Am Ende des Webinars werde ich ein spezielles Angebot für Sie haben, wenn Sie das EA programmieren vertiefen möchten. Registrieren Sie sich daher gleich hier und jetzt.

    Profitfaktor als Erfolgsmaß von Expert Advisor Deals

    Anfang Juli hatten wir in einer Leserumfrage festgestellt, dass Drawdown, Profitfaktor und Rendite p.a. bzw. Gewinn in Kontowährung die meist beachteten Risiko- und Erfolgsmaße einer Trading-Strategie sind, ob diese nun manuell getradet wird oder voll automatisch mittels Expert Advisors (EA) für MetaTrader 4 oder 5 (MT4/MT5). Während ich in einem weiteren Blog-Artikel den Drawdown in zwei verschiedenen Definitionen untersucht habe (Drawdown: zwei Definitionen zum Messen von Expert Advisors), komme ich in diesem heutigen Artikel auf den Profitfaktor zu sprechen.

    Der Profitfaktor kombiniert sehr elegant die Trefferquote sowie die durchschnittlichen Gewinne und Verluste eines EA's zu einer einzigen Zahl. Weiter unten erkläre ich Ihnen genau mittels Formel und ein paar Beispielen, wie der Profitfaktor genau berechnet wird. Zunächst aber noch Wichtiges zum Hintergrund dieses Erfolgsmaßes.

    „Ich habe über 90% Trefferquote“... Haben Sie eine solche Aussage schon mal gehört? Sind Sie dabei aus dem Staunen nicht mehr herausgekommen und haben gefragt: „Wie machst Du das denn?“

    Wenn die Antwort darauf lautet, „ich begnüge mich in meinem EA mit 1 Pip Gewinn pro Deal, während ich 100 Pips Verlust pro Deal risikiere“, wird dieser Tradingansatz voraussichtlich langfristig Verluste bringen – trotz der haushohen und fantastischen Trefferquote.

    Rechnen wir es nach. In 90 von 100 Deals macht der EA 1 Pip Gewinn. Die Summe aller Gewinndeals macht also 90 Pips aus. Ein einziger Verlust von 100 Pips macht nun den gesamten angesammelten Gewinn zunichte, selbst wenn die Trefferquote auf 99% ansteigt.

    Die Trefferquote alleine ist also nicht aussagekräftig. Wir benötigen zusätzlich den durchschnittlichen Gewinn aller Gewinndeals sowie den durchschnittlichen Verlust aller Verlustdeals, um aus der Trefferquote einen sinnvollen Reim zu machen. Hier kommt exakt der Profitfaktor ins Spiel.

    Berechnung des Profitfaktors

    Der Profitfaktor berechnet sich aus genau diesen Elementen:

    Sie sehen aus dieser Formel, dass der Profitfaktor umso höher ist,

    1. je mehr Gewinndeals vorhanden sind,

    2. je weniger Verlustdeals vorhanden sind,

    3. je höher der durchschnittliche Gewinn pro Deal ist und

    4. je niedriger der durchschnittliche Verlust pro Deal ist.

    Im obigen Beispiel mit 90% Trefferquote à 1 Pip Gewinn bei 100 Pips Risiko würde sich folgender Profitfaktor ergeben:

    Praxisbeispiel zur Profitfaktor-Berechnung

    Ein weiteres Beispiel aus der Praxis will ich anhand meiner Trading-Strategie mFX-ProvideLiquidity liefern, die ich mit Echtgeld vollautomatisch durch einen EA in MT4 handle und als abonnierbares und somit 1:1 kopierbares Signal auf dem EA- und MetaTrader 4 und 5-Forum mql5.com unter https://www.mql5.com/de/signals/364198 veröffentliche. Stand 3.8.2018 um 11:16 Uhr ergaben sich folgende Statistikwerte für das System, unabhängig berechnet und bestätigt von der mql5.com-Plattform seit Kontostart im November 2017:

    1. 100 Gewinntrades

    2. 44 Verlusttrades

    3. 8,83 USD Durchschnittlicher Profit

    4. -12,58 USD Durchschnittlicher Verlust

     ProvideLiquidity Signalstatistik lt. mql5.com-Auswertung, Screenshot vom 3.8.2018

    ProvideLiquidity Signalstatistik lt. mql5.com-Auswertung, Screenshot vom 3.8.2018

    Im Screenshot der Signalstatistik oben können Sie in der rechten Spalte, vierte Zeile von oben erkennen, dass der Profitfaktor vom mql5.com-Forum mit 1,59 berechnet wurde.

    Validieren wir diesen Wert durch Ausfüllen der oben kennengelernten Formel:

    Deutung und Bedeutung des Profitfaktors

    Ein profitabler EA wird also immer einen Profitfaktor von größer als 1 haben. Ein Wert unter 1 deutet auf rote Zahlen unterm Strich hin. Ein Profitfaktor von exakt 1 würde bedeuten, dass der EA immerhin die Transaktionskosten (Swap, Kommission, Spread, Slippage und GuV-Umrechnung in Kontowährung) verdient hat.

    Liegen noch keinerlei Verlusttrades vor, tendiert der Wert des Profitfaktor gegen unendlich. Denn dann wird durch 0 geteilt. Ein solcher Stand ist natürlich nur zeitweise vorhanden, weil auch die beste Strategie irgendwann Verlustdeals erleiden wird.

    Generell gilt: je höher der Profitfaktor, desto besser. Betrachten Sie den Profitfaktor eines EA's aber niemals alleine. Denn wenn gleichzeitig z.B. ein unangemessen hoher Drawdown vorhanden ist, ist wohl das Risiko sehr hoch. Zum Drawdown lesen Sie am besten meinen Blog-Artikel zum Thema vom 10. August 2018: Drawdown: zwei Definitionen zum Messen von Expert Advisors.

    Beste Grüße und viele erfolgreiche Trades wünscht Ihnen
    Cristof Ensslin von mindful FX, Ihr EA-Programmierer

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

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

    Wie man 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

    Multi-Asset-Management mit Gewinnziel-EA

    Kürzlich erreichten mich zwei Fragen eines Kunden bezüglich des Risiko- und Gewinnzielmanagements von Deals in mehreren Assets, die gleichzeitig auf einem MetaTrader 4-Konto laufen.

    Ich interessiere mich für Ihren EA mFX-GewinnZiel. Dazu eine Frage: kann ich ihn so einstellen, dass alle offenen Positionen bei einem bestimmten Gewinn/Verlust geschlossen werden? Also kann ich z.B. eingeben: alles schließen bei Gewinn von 10 EUR? Oder alles schließen bei Verlust von 10 EUR. Wenn ja, kann ich das auch in Prozent eingeben?
    — Kundenfrage vom Juli 2018

    Meine Antwort darauf ist kurz und knapp:

    Der EA mFX-GewinnZiel schließt alle Positionen bei Gewinn von x EUR oder Prozent, je nachdem, welche Einstellung Sie wählen. Das gleiche gilt für die Verlustseite, separat vom Gewinn einstellbar.

    Daraus ergab sich dann eine Folgefrage:

    Ich habe Ihren EA gekauft. Wie stelle ich ihn ein, wenn ich offene Positionen verschiedener Underlyings bei einem bestimmten Gesamtgewinn schließen möchte, wie z.B. EUR/USD + DAX + DJ?
    — mFX-GewinnZiel EA Käufer

    Auch das ist leicht geklärt:

    Wenn bei einem Gesamtgewinn aller schwebenden Positionen von z.B. 10 EUR alles realisiert werden soll, nutzen Sie folgende Eingaben:

    1. Klicken Sie unten rechts im Eingabefenster auf "Standard"
    2. Dann geben Sie bei GewinnZiel_inKtoWhrg 10 ein
    3. Filter_ChartSymbol muss auf false eingestellt werden.

    Dann wird der EA mFX-GewinnZiel bei 10 EUR Gesamtgewinn aller offenen Positionen in Ihrem MT4-Konto, quer über alle Assets hinweg, alle Deals schließen. Das fertige Eingabefenster sehen Sie rechts.

    Viel Erfolg beim Trading wünscht
    Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer

    Neuer MQL4-Intensivkurs-Termin im Oktober: EA-programmieren lernen

    Nach einigen Anfragen in den letzten Wochen, wann es denn wieder einen MQL4-Intensivkurs – EA-programmieren lernen geben wird, habe ich nun einen neuen Termin für Sie:

    29.-30. Oktober 2018 in Stuttgart, jeweils ganztägig.

    Was lernen Sie hier?

    1. Sie lernen, einen eigenen Expert Advisor für MetaTrader 4 zu programmieren. Wir bauen dabei gemeinsam ein EA-Grundgerüst, so dass Sie daraus selbst weitere EAs erstellen können.

    2. Sie lernen die wichtigsten Funktionen und Befehle der Programmiersprache MQL4 kennen, um selbst darauf aufbauen und weiter lernen zu können.

    3. Sie lernen direkt aus meinen Erfahrungen aus über 6 Jahren EA-Programmierung, so dass Sie schnell lernen, auf was es in der Programmierpraxis ankommt und wie Sie übliche Anfängerfehler einfach umgehen können.

    Das alles macht es vergleichsweise einfach, den Sprung ins kalte Wasser der EA-Programmierung mit Leichtigkeit zu schaffen.

    Was sagen vorherige Teilnehmer?

    Ich würde den MQL4-Intensivkurs – EA programmieren lernen weiterempfehlen, da man die komplette Funktionalität eines EA’s kennenlernt und da man im Anschluss in der Lage ist, eigenständig Strategien zu programmieren.
    — Timo Heberling, Marburg
    EA-Programmierung ist doch kein Hexenwerk! Durch klar strukturierte Herangehensweise haben wir unseren ersten EA programmiert.
    — Johann Hamm, Bonn
    Selbst wenn man ohne Vorkenntnisse teilnimmt, wird man an jeder Stelle mitgenommen und nach zwei Kurstagen in die Lage versetzt, eigene Handelssysteme aufzusetzen. Herr Ensslin nimmt sich viel Zeit und kann sich in die Situation eines Traders genauso wie eines Programmierers hineinversetzen. Klare Empfehlung!
    — E. Baumgarten, Ulm
     
    Der Kurs ist für Anfänger geeignet, wobei der Stoff zügig vorgestellt wird. Es wird darauf geachtet, dass die Teilnehmer folgen können. Vorkenntnisse in MQL4 sind vorteilhaft, jedoch keine Bedingung.
    — Teilnehmer vom Januar 2018
    Der Kurs gibt sehr praxisorientiert Einblick in Logik und Vorgehen der MQL4-Programmierung. Die Teilnehmer programmieren selbst ihr MQL4-Programm, was parallel von einem regen Austausch zu verschiedensten MQL4-/FX-Themen begleitet wird
    — Teilnehmer vom Januar 2018

    Übrigens: bei den letzten Terminen im August 2017 und Januar 2018 waren die 8 Workshop-Plätze sehr nachgefragt und daher schnell ausgebucht. Daher empfehle ich Ihnen, sich bei Interesse gleich zu informieren und anzumelden.

    Hier der Link zur Info- und Anmeldeseite: https://www.mindfulfx.de/mql4intensivkurs/

    Wer sich schon mindestens einen Monat vor dem ersten Workshoptag, also spätestens bis zum 29.9.2018, anmeldet, erhält 100 EUR Frühbucherrabatt. Das reduziert das Teilnahme-Ticket von 695 EUR auf nur 595 EUR.

    Darin enthalten sind Workshop-Teilnahme, ein Einführungs-Begleitbuch, Seminargetränke und -snacks sowie drei jeweils einstündige Follow-up-Sitzungen per online Video-Konferenz, in der Sie alle Ihre Fragen klären können, die im Nachhinein auftreten.

    Ich freue mich auf Sie und Ihre Anmeldung
    Cristof Ensslin

    Drawdown: zwei Definitionen zum Messen von Expert Advisors

    Im letzten Blog Drawdown, Profitfaktor, Rendite und Gewinn: Trading-Ergebnisse unter der Lupe hatten wir feststellen können, dass der Drawdown das meist beachtetste Risikomaß ist, um einen Expert Advisor (EA), also einen Trading Robot für MetaTrader 4 (MT4) und 5 (MT5) einschätzen zu können. Der Drawdown misst, allgemein gesprochen, den maximalen Rücklauf des Kontokapitals, auch Equity genannt. Man kann ihn entweder in Kontowährung oder als Prozentsatz ausdrücken.

    Parallel zu diesen beiden Möglichkeiten der Ausdrucksweise gibt es – und das ist meines Erachtens viel wichtiger zu wissen – zwei unterschiedliche Definitionen für den Drawdown eines Kontos oder einer Handelsstrategie. Sie haben beide ihren Stellenwert. Wir als Trader müssen wissen, wann welche Definition verwendet wird:

    1. Drawdown = der maximale Verlust von Equity vom Equity-Höchststand aus gemessen.

    2. Drawdown = der maximale Verlust von Equity vom jeweils aktuellen Kontostand aus gemessen.

    Nehmen wir nun beide Ermittlungsvarianten unter die Lupe. Welche Messlatte ist für welchen Zweck geeignet?

    Drawdown = der maximale Verlust von Equity vom Equity-Höchststand

    Mein bisheriges Verständnis für die Messung des Risikos einer Strategie anhand des maximalen Rücklaufs war dieses: um einen Drawdown zu ermitteln, muss ein EA zu jedem Zeitpunkt oder Kurstick folgende Messung anstellen.

    Startkapital
    +Summe der realisierten Gewinne
    - Summe der realisierten Verluste
    +Summe der schwebenden Gewinne
    - Summe der schwebenden Verluste
    = aktuelles Equity der Strategie bzw. des Kontos.

    Aus dieser – sagen wir sekündlichen – Messung merkt sich ein EA den höchsten gemessenen Stand. Sobald in einem Tick ein niedrigeres Equity ermittelt wird, ist ein Drawdown vorhanden. Diesen können wir entweder in Prozent vom Höchststand oder absolut in Kontowährung, also z.B. EUR, ausdrücken. Ein Beispiel:

    1. Wir starten mit 10.000 EUR Kapital auf dem Konto und eröffnen ein EURUSD Buy Geschäft – bzw. ein Expert Advisor tut dies für uns aufgrund eines Handelssignals.

    2. EURUSD tickt nach oben, zum Kontostand von 10.000 EUR kommen nun sagen wir 10 EUR schwebende Gewinne. Unser Equity steht also bei 10.010 EUR. Dies ist der bisherige Höchststand, also merken wir uns diesen Stand als Hochwassermarke.

    3. EURUSD tickt wieder nach unten auf unseren ursprünglichen Einstiegskurs. Der EURUSD Buy Deal ist also 0 EUR Wert. Zuzüglich der 10.000 EUR auf dem Konto beträgt unser Equity also wieder 10.000 EUR.

    4. 10 EUR Drawdown sind seit dem Equity-Maximum entstanden, was ca. 0,0999% von eben dieser Spitze entspricht.

    Dieser Ansatz der Drawdown-Messung wird übrigens im Strategietester Ihres MetaTraders verwendet. Wenn Sie im Testbericht nach dem Maß "Drawdown" oder, in deutsch-sprachigen Programmversionen, "Rücklauf" Ausschau halten, werden die Zahlen, die Sie dort finden, nach dieser Messmethode ermittelt worden sein. Ein Beispiel dazu sehen Sie für einen low-risk Backtest unseres MT4-EA's mFX-MAXingPro im folgenden Screenshot.

    Der Rücklauf vom maximal erreichten Equitystand ist sehr effektiv, um zum Beispiel einen Trailing Stop auf Kontoebene zu praktizieren. Dabei ziehen Sie – wie bei einem Trailing Stop auf Dealebene – immer dann die Reißleine, wenn der Rücklauf vom besten erreichten Equitystand einen festgelegten Wert erreicht oder überschreitet. Dieser Wert kann, wie schon erwähnt, in Prozent vom Kontokapital-Höchststand oder aber als absoluter Wert in Kontowährung ausgedrückt werden.

    Damit stellen Sie jederzeit fest, ob Ihr EA-Setup in der aktuellen Marktphase noch funktioniert oder nicht. Diese Logik habe ich übrigens im Überwachungs-EA mFX-EquityWatch automatisiert und für Sie preisgünstig zum Sofort-Download zur Verfügung gestellt: https://www.mindfulfx.de/equitywatch-ea/.

    Der Nachteil dieser Methode zur Messung des Drawdowns ist, dass Kapitaleinzahlungen oder -Abbuchungen keine Berücksichtigung finden, zumindest nicht voll automatisch. Warum?

    Dazu setzen wir unser Beispiel von oben fort:

    1. Wir entnehmen dem Konto 1.000 EUR, aus welchem Grund auch immer. Der Kontostand steht nun bei 9.000 EUR.
    2. Sind nun 10 EUR oder 1.010 EUR Drawdown vorhanden? Falls 10 EUR, weil um Kapitalbewegungen bereinigt, sind dies nun 0,0999% von 10.010 EUR oder 0,1111% von 9.000 EUR? Oder sollten wir nach Ein- oder Auszahlungen doch lieber alles zurücksetzen und von Neuem starten, also den gemessenen Equity-Höchststand dem aktuellen Equity gleichsetzen?

    Sie sehen schnell, dass hier viele Möglichkeiten und Freiheitsgrade gegeben sind. Dabei ist keine der Vorgehensweisen nach Kapitalbewegungen per se gut oder schlecht. Sie muss nur festgelegt und konsistent sein und zu Ihren Rahmenbedingungen passen.

    Wenn Sie regelmäßig Ein- oder Auszahlungen tätigen, ist der zweite Ansatz zur Drawdown-Berechnung in Betracht zu ziehen.

    Drawdown = der maximale Verlust von Equity vom jeweils aktuellen Kontostand aus gemessen.

    Vor knapp einem Jahr bin ich auf diese zweite Art der Messung eines Drawdowns gestoßen: Drawdown = aktuelles Equity – aktueller Kontostand. Wenn das Ergebnis dieser Formel positiv ist, wird der Wert auf 0 gesetzt. Denn das Equity ist dann größer als der Kontostand, was so viel bedeutet, dass die laufenden Deals in Summe im Gewinn liegen. Also ist kein Drawdown vorhanden.

    Merke: Diese Art und Weise der Rücklauf-Ermittlung blendet die realisierten Gewinne und Verluste komplett aus. Sie bewertet immer nur die laufenden Geschäfte, also die Summe der unrealisierten Gewinne und Verluste, im Verhältnis zum Kontostand.

    Wieder ein Beispiel, um die Systematik klarer darzustellen:

    1. Wir starten mit 10.000 EUR Kapital auf dem Konto und eröffnen ein EURUSD Buy Geschäft – bzw. ein Expert Advisor tut dies für uns aufgrund eines Handelssignals.

    2. EURUSD tickt nach oben, zum Kontostand von 10.000 EUR kommen nun sagen wir 10 EUR schwebende Gewinne. Unser Equity steht also bei 10.010 EUR. Nach obiger Formel berechnen wir Drawdown = 10.010 EUR – 10.000 EUR = 10 EUR. Da das Ergebnis positiv ist, setzen wir den Wert auf 0 EUR. Der aktuelle Rücklauf beträgt also 0 EUR.

    3. EURUSD tickt wieder nach unten auf unseren ursprünglichen Einstiegskurs. Der EURUSD Buy Deal liegt also weder im Gewinn noch im Verlust. Unser Equity steht also wieder bei 10.000 EUR. Nach obiger Formel berechnen wir erneut den Drawdown = 10.000 EUR – 10.000 EUR = 0 EUR. Der aktuelle Rücklauf beträgt noch immer 0 EUR.

    4. Hier sehen Sie schon den großen Unterschied zwischen beiden Methoden. Schritt 3 der ersten Methode produzierte einen Drawdown von 10 EUR, während diese zweite Methode noch keinerlei Drawdown anzeigt.

    5. Erst wenn der EURUSD weiter fällt und unser Geschäft sagen wir -10 EUR Wert ist, fällt unser Equity auf 9.990 EUR, was dann einem Drawdown von -10 EUR oder -0,1% vom Kontostand entspricht. Anders ausgedrückt ist der Drawdown laut dieser Ermittlungsmethode immer die Verlustsumme aller offenen Deals inklusive Swap und Kommission.

    Wie bin ich überhaupt auf diese Drawdown-Definition gekommen? Ich arbeite seit letztem Herbst vermehrt mit dem EA-Forum mql5.com, auf dem MT4- und MT5-Nutzer unter anderem Signale Ihrer eigenen Strategien veröffentlichen oder die Signale anderer Trader abonnieren, Code-Tips, EAs und Indikatoren erhalten oder Trading-Ideen diskutieren können.

    Für die dort veröffentlichten Signale wird der Drawdown nach eben dieser zweiten Methode berechnet. Ein Beispiel-Screenshot von der mql5.com-generierten Grafik, wie die Verlustsumme der offenen Deals in Prozent des Kontostands unseres eigenen Echtgeld-Signals ProvideLiquidity oszilliert, sehen Sie hier:

    Das ist deutlich einfacher, da die Trader somit frei nach Lust und Laune (oder Mach-Trading-zu-Einkommen-Strategie, siehe auch Blog Wie man Trading zu Einkommen macht) Ein- und Auszahlungen durchführen können.

    Alles hat zwei Seiten, somit hat auch diese Methode der EA-Drawdown-Ermittlung Nachteile. Wenn Sie zum Beispiel viele Scalping-Deals generieren und kurzfristig zahlreiche kleine Gewinne oder Verluste realisieren, wird Ihre offene GuV-Summe niemals einen großen Wert erreichen. Es kann schlimmstenfalls passieren, dass Ihr Kontowert 10-EUR-weise von z.B. den besagten 10.000 EUR auf 0 EUR, also um komplette 100% zurückgeht und ein Totalverlust verbleibt, obwohl Ihr maximaler Drawdown laut dieser zweiten Messmethode nie größer war als 10 EUR.

    Wenn Ihre EAs tendenziell längerfristige und zahlreiche parallele Deals generieren oder Sie regelmäßig Ein- und Auszahlungen von Ihrem MT4-Konto tätigen, ist diese zweite Methode der Drawdown-Ermittlung und Risikokontrolle sehr stabil und konsistent. Ich habe sie ebenfalls als Expert Advisor programmiert und für Sie erhältlich gemacht:

    Sie können die Kontoüberwachung per schwebender Gewinn- und Verlustsumme in Kontowährung oder Prozent vom Kontostand mit dem EA mFX-GewinnZiel auf Ihrem MT4-Konto automatisieren: https://www.mindfulfx.de/gewinnziel-ea/.

    Denken Sie bitte darüber nach, welche der beiden Methoden zur Ermittlung des maximalen Rückgangs für welche Ihrer Tradingstrategien und -konten die passende ist. Vielleicht sind es auch beide, um einen vollständigen Überblick zu erhalten. Am Ende haben Sie ein effektives Instrument zur Risikomessung und -steuerung Ihres Tradings.

    Um ein umfassendes Bild der Erfolgs- und Risikomessung eines Expert Advisors zu erhalten, müssen wir nun noch zusätzlich zum Drawdown den Profitfaktor sowie Gewinn und Rendite unter die Lupe nehmen. Das folgt in weiteren Blog-Artikeln.

    Bis dahin 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

    Top 3 Erfolgs- und Risiko-Maße im EA Trading

    Im Monat Juli wird es in meinen Freitags-Blogs hauptsächlich um die Deal-Analyse im EA Trading gehen. Erfolg und Risiko mittels Statistiken aus Backtests und vor allem echten Deals zu messen, ist einer der Schlüssel zum langfristigen Erfolg im Algo-Trading.

    Ein bisschen Spaß muss sein

    Bevor es richtig zur Sache geht, wollen wir erst mal ein bisschen Spaß haben. Klingt doch gut, oder? Lassen Sie uns zunächst eine hübsche Wortwolke - oder auch englisch Workcloud genannt - erstellen.

    Dazu möchte ich Sie um einen Gefallen bitten. Könnten Sie mir (und damit allen Lesern) eine kurze Frage beantworten? Sie lautet:

    Welches sind Ihre Top 3 Erfolgskriterien, Risikomesslatten und Statistikmaße, wie z.B. Gewinn in Kontowährung, Rendite p.a., Drawdown in Prozent, Profitfaktor oder ähnliches, die Sie nutzen, um den Erfolg Ihres Tradings (mit oder ohne Expert Advisor) zu messen?

    Ihre Wortwahl wird sich sofort in Realtime auf diese Wortwolke auswirken, von deren bisherigen Stichworten Sie sich auch gerne für Ihre eigenen Antworten inspirieren lassen können:

    Dieses Wordcloud- bzw. Präsentations-Tool von Menitmeter finde ich total klasse...

    Danke für Ihre Teilnahme und Mitwirkung! So wird's bunter, so wird's lustiger. Es ist spitzenmäßig, eine potenziell so trockene Thematik wie die Deal-Analyse erst einmal mit einer Fun-Aktivität anzustoßen.

    In den nächsten Freitags-Blogs (über die Sie automatisch per Email informiert werden, wenn Sie sich hier rechts in unseren Email-Verteiler eintragen) gehen wir die wichtigsten Maßstäbe für den EA-Erfolg durch:

    • Wie werden sie ermittelt?
    • Was sagen sie aus?

    Uns wird dabei auch ein nagelneues MT4-Skript behilflich sein, das wir extra programmiert haben, um uns die Auswertungsarbeit von EAs im MT4 zu erleichtern.

    Herzliche Grüße, bis nächste Woche
    Cristof Ensslin von mindful FX, Ihr EA Programmierer

    Welchen Virtual Private Server (VPS) soll ich für meinen EA Dauerlauf verwenden?

    Expert Advisors (EAs) für MetaTrader 4 (MT4) oder MetaTrader 5 (MT5) müssen ständig mit dem Tradeserver des Brokers verbunden sein, damit sie als Trading-Robot ihr Werk verrichten können. Sobald Sie den MT4 schließen oder das Profil wechseln, auf dem der EA läuft, kann der EA nicht mehr arbeiten.

    Eine Lösung für dieses Problem ist, einen so genannten Virtual Private Server (VPS) zu mieten. Dort sollte Windows als Betriebssystem installiert sein, damit MT4- und MT5-Instanzen leicht eingerichtet werden können. Ich werde immer wieder danach gefragt, welcher VPS-Anbieter zu wählen ist.

    Welchen VPS soll ich für meinen EA mieten?
    — häufige Kundenfrage

    Ich sage Ihnen in diesem Blogpost zunächst, welchen Server ich verwende. Danach stelle ich Ihnen zwei beliebte Alternativen vor.

    Welchen VPS ich selbst verwende

    Ich selbst nutze einen VPS von 1&1. Dort wählte ich einen Server, dem garantiert 2 Prozessoren zugeordnet werden. Hauptspeicher RAM ist 2 GB, für den Festplattenspeicher sind 80 GB verfügbar. Das ganze ist für ca. 20 EUR im Monat zu haben und läuft stabil und bislang ohne einen einzigen Absturz.

    Bis Mitte 2017 war ich bei FXColo, einem auf Forex-Trading spezialisierten Server-Anbieter. Das Problem war hier aber, dass exakt zu den Stoßzeiten - ich denke dabei an Zentralbank-Zinsentscheide, Non-Farm-Payrolls etc. - der Server überlastet war und ich nicht auf ihn zugreifen konnte. Wenn's also darauf ankam, war der VPS nur mit - für hektische Marktphasen viel zu langen - Wartezeiten für mich verfügbar.

    Beim Remote-Desktop-Zugriff (so nennt sich die Verbindung, die Sie von Ihrem PC oder Laptop zum VPS aufbauen) auf meinen 1&1-Server habe ich noch nie warten müssen. Vielleicht liegt es daran, dass die dahinter stehende Hardware nicht (oder zumindest nicht nur) mit anderen FX-Tradern und Börsenhändlern geteilt wird, sondern mit Hinz und Kunz, welche andere Stoßzeiten als wir Daytrader haben.

    Zwischenzeitlich laufen auf meinem VPS zehn MT4-Instanzen. Die meisten davon sind mit Echtgeld-Konten an den Broker angebunden, während ein paar wenige Demokonten sind. Auf allen sind verschiedentliche EAs am Werk, wobei zwei der MT4-Instanzen jeweils mit zwischen 80 und 90 Charts mit aktivem EA bestückt sind. Die Rechenkapazität wird also gut ausgenutzt, dennoch kann ich immer stabil und schnell auf die Programme zugreifen.

    Hier zu weiteren Infos des in Deutschland ansässigen Anbieters 1&1: https://hosting.1und1.de/vserver -> Virtual Server Cloud L mit Windows.

    VPS-Alternative Strato

    Ein paar meiner Kunden bevorzugen den ebenso in Deutschland beheimateten Anbieter Strato. Dort gibt es ähnliche Angebote wie bei 1&1, sowohl aus preislicher wie auch aus leistungstechnischer Sicht.

    Ich habe bisher von diesen Kunden nur gute Nachrichten gehört über Performance und Zugriffsgeschwindigkeit. Wenn Sie ebenso Strato einen Versuch gönnen möchten, achten Sie darauf, dass Sie den Windows-Server mit mindestens 2 Prozessoren, 2 GB oder mehr RAM und 50 GB oder mehr Festplatte buchen. 

    Hier zur Infoseite: https://www.strato.de/server/windows-vserver/. Wie ich dort gerade sehe, wird sogar eine 30-Tage-Geld-zurück-Garantie angeboten, damit Sie alles ausprobieren können.

    Preisgünstigster VPS für unter 9 EUR

    Wenn Sie ein Sparfuchs sind und es noch kostengünstiger haben möchten, werden Sie am besten Trading-Kunde bei JFD Brokers. Dort profitieren Sie als Echtgeld-Kunde mit einem VPS für monatlich nur 8,75 EUR (17,50 EUR für den Server des VPS-Betreibers FOZZY, abzüglich 50% Rabatt für JFD Brokers-Kunden).

    Ich habe diesen Server selbst noch nicht ausprobiert, kann also nicht aus Erfahrung sprechen. Er erfüllt aber die oben genannten technischen Mindeststandards (Windows, 2 Prozessoren, 2 GB RAM, 50 GB Festplatte).

    Weitere Infos hier über unseren Partnerlink: https://www.jfdbrokers.com/de/trading/technologie?ib=ensslin (ein bisschen Runterscrollen auf der Zielwebsite ist notwendig, um zu den VPS-Angeboten zu gelangen).

    Andere Broker, aber nicht alle, bieten ihren Echtgeldkunden ebenso VPS Rabatte an, teils bis zu 100%. Sprechen Sie also einfach mal Ihren eigenen Broker direkt an, ob er so ein Angebot im Programm hat.

    Viel Erfolg bei der Server-Wahl und Ihrem AutoTrading
    Ihr Cristof Ensslin von mindful FX, Ihr EA-Programmierer