Turtle Trader

Ein Ausbruch pro Kerze jetzt handelbar mit mFX-HochTiefAusbruch EA

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

Ein Kunde beschreibt dies in folgendem Szenario:

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

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

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

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

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

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

Kostenlose Updates

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

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

mFX-HochTiefAusbruch Updates per Email

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

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

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

    Powered By ConvertKit

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

    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