English Русский 中文 Español 日本語 Português 한국어 Français Italiano Türkçe
preview
Lernen Sie, wie man ein Handelssystem mit Hilfe von Parabolic SAR entwickelt

Lernen Sie, wie man ein Handelssystem mit Hilfe von Parabolic SAR entwickelt

MetaTrader 5Handel | 26 Mai 2022, 13:27
467 1
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Einführung

In diesem Artikel lernen Sie einen neuen hilfreichen, technischen Indikator kennen, den Sie je nach Ihrem Handelsstil einsetzen können, wenn er geeignet ist. Dieser technische Indikator ist der Parabolic SAR. Wir werden lernen, wie man ein Handelssystem entwirft, das auf der MetaTrader5-Handelsplattform verwendet werden kann, nachdem man den Code dieses Handelssystems mit dem MetaQuotes Language Editor geschrieben hat, der in den MetaTrader 5 integriert ist. Wenn Sie erfahren möchten, wie Sie den MetaTrader 5 bekommen und wie Sie den MetaQuotes Language Editor finden, können Sie das Thema MQL5-Code im MetaEditor schreiben lesen. Wir werden den Kern dieses Artikels durch Themen lernen, die ihn abdecken werden und diese Themen sind:

  1. Parabolic SAR Definition
  2. Parabolic SAR Strategie
  3. Parabolic SAR Blaupause der Strategie
  4. Parabolic SAR Handelssystems
  5. Schlussfolgerung

In den vorangegangenen Themen haben wir gelernt, wie man ein einfaches Handelssystem entwickelt, das auf einfachen Strategien des Parabolic SAR-Indikators und dem Konzept dahinter basiert. Im Kapitel Parabolic SAR Definition werden wir genauer erfahren, was der Indikator Parabolic SAR ist oder was er bedeutet und wie wir diesen Indikator berechnen können, um das Konzept dahinter zu verstehen. Dann werden wir lernen, wie wir den Parabolic SAR Indikator durch einfache Strategien nutzen können, die auf dem Konzept dieses Indikators basieren, wie wir es gelernt haben. Dann werden wir eine Blaupause für die erwähnten einfachen Strategien entwerfen, und diese Blaupause wird uns helfen, unser Handelssystem Schritt für Schritt durch eine klare Blaupause für Strategien und für das, was wir bauen müssen, zu entwerfen. Dann werden wir das interessanteste Thema in diesem Artikel durchgehen, wo wir lernen, wie man den Code des Handelssystems schreibt, damit der Computer unser entworfenes konditioniertes und zurückgegebenes Signal gemäß unseren Strategien untersuchen kann und dieser Prozess automatisch und genau abläuft in unserem Expert Advisor basierend auf unseren einfachen Strategien.

Bevor wir unsere Themen durchgehen, fühle ich mich verpflichtet, noch einige Ratschläge zu geben. Es geht darum, dass das, was Sie lernen, selbst anwenden, da dieser Ansatz Ihr Verständnis vertieft. Sie müssen aber jede Strategie testen, bevor Sie das auf dem realen Konto anwenden, insbesondere wenn Sie etwas aus Bildungsquellen gelernt haben, weil es für Ihren Handel möglicherweise nicht nützlich ist.

Haftungsausschluss: Alle Informationen sind nur für pädagogische Zwecke und sind nicht für den Handel Zwecke oder Beratung vorbereitet. Die Informationen geben keine Garantie für ein bestimmtes Ergebnis. Wenn Sie sich entscheiden, diese Materialien auf einem Ihrer Handelskonten zu verwenden, tun Sie dies auf eigenes Risiko und sind allein dafür verantwortlich.

Lassen Sie uns nun eine interessante Reise durch die Themen dieses Artikels beginnen.


Parabolic SAR Definition

In diesem Teil werden wir mehr über den Parabolic SAR Indikator erfahren, der von Welles Wilder entwickelt wurde. Der Name dieses Indikators stammt von "Parabolic", was sich auf die Formation des Indikators auf dem Chart bezieht, und "SAR" steht für "Stop And Reverse". Sie können den Indikator auch als "Parabolic Time/Price System" bezeichnen, so wie Welled Wilder ihn in seinem Buch "New Concepts in Technical Trading Systems" genannt hat.

Der Indikator Parabolic SAR ist ein Trendfolge-Indikator und wird während der Trendmärkte verwendet. Dieser Indikator ermöglicht es dem Instrument, in den wenigen Perioden, nachdem Sie einen Handel platziert haben, zu reagieren, bevor sich die Stop-Levels zu bewegen beginnen. Wir können also sagen, dass das Hauptziel dieses Indikators darin besteht, Ihnen zu ermöglichen, geeignete Stopps entsprechend der aktuellen Marktrichtung oder des Trends zu setzen. Sie können das Thema Trenddefinition lesen, um mehr über den Trend zu erfahren, wenn Sie ihn nicht kennen.

Mit anderen Worten, das Hauptziel dieses Parabolic SAR Indikators ist es, Trailing Stops zu erstellen. Der Stopp ist eine Funktion von zwei Dingen: Zeit und Preis. Entsprechend der Funktion des Preises können wir feststellen, dass sich der Stopp entsprechend der Preisbewegung relativ nach oben oder unten bewegt, und entsprechend der Funktion der Zeit können wir feststellen, dass sich der Stopp in jeder Periode unabhängig von der Richtung des Preises bewegt.

Wir müssen also zuerst den Trend bestimmen, dann können wir die Parabolic SAR-Taktik anwenden. Bisher haben wir gelernt, wofür der Parabolic SAR-Indikator steht und was er uns sagen kann, und jetzt müssen wir wissen, wie wir diesen Indikator manuell berechnen können, um das Konzept dahinter zu verstehen, und das Folgende ist der Weg dazu. 

Wie wir gelernt haben, müssen wir zuerst den Trend oder die Richtung des Marktes bestimmen und dann entsprechend dieser Bestimmung die Berechnung in zwei Fälle unterteilen, einer davon ist, wie man den Parabolic SAR während des steigenden Marktes berechnet und er wird den steigenden SAR zurückgeben und der andere Fall ist, wie man den Parabolic SAR während des fallenden Marktes berechnet und er wird den fallenden SAR zurückgeben. Wir werden also diese beiden Dinge berechnen: Den steigenden SAR im Falle eines steigenden Marktes und den fallenden SAR im Falle eines fallenden Marktes.

  • Der steigende SAR:
    1. Bestimme den vorherigen SAR-Wert = der SAR-Wert des vorherigen Balkens.
    2. Bestimme den Extrempunkt (EP) = der höchste Wert des aktuellen Aufwärtstrends.
    3. Bestimme den Beschleunigungsfaktor (AF) = Wert zwischen 0,02 und 0,20. Nach der Bestimmung des ersten Mindestwerts, der 0,02 beträgt, wird der Wert entsprechend dem (EP) bestimmt, da der AF jedes Mal um 0,02 erhöht wird, wenn der EP einen neuen Höchstwert bildet, um sich dem Höchstwert von 0,20 zu nähern, unabhängig davon, wie lange der Trend noch andauert.
    4. Aktueller Parabolic SAR-Wert = vorheriger SAR (Schritt 1) + vorheriger AF * (vorheriger EP- vorheriger SAR).

Nehmen wir ein Beispiel für diesen Fall, nämlich den steigenden SAR, wenn wir die folgenden Marktdaten haben:

Tag Hoch Niedrig
1 45 43
2 44 43.5
3 46 43
4 47 42
5 48 42.5
6 47.5 42.75
7 48 42.60
8 47.75 42.5
9 48 43
10 49 42.5
11 48.75 42.60
12 50 42
13 51 42.5
14 52 43
15 51.5 42.5
16 51 42
17 52 43
18 53 44
19 54 45

Nun müssen wir den steigenden SAR-Wert berechnen, und das wird wie folgt aussehen:

  1. Bestimme den vorherigen SAR-Wertes = der SAR-Wert des vorherigen Balkens und in diesem Beispiel ist der erste Wert in gelber Farbe zur Vereinfachung angegeben, der gleich 42 ist.
  2. Bestimme den Extrempunkt (EP) = der höchste Wert des aktuellen Aufwärtstrends, der bei 48 liegt.
  3. Ermittele die Differenz zwischen EP und SAR, die Differenz beträgt 48-42 = 6
  4. Bestimme den Beschleunigungsfaktor (AF) = Wert zwischen 0,02 und 0,20, für den ersten Wert beträgt er 0,02
  5. Multipliziere AF mit der Differenz zwischen EP und SAR; der Wert beträgt 0,12.
  6. Berechne den aktuellen SAR-Wert, indem Sie das Ergebnis der Multiplikation des früheren AF-Wertes mit der Differenz zwischen EP und SAR, die das Ergebnis von Schritt 5 ist, zum früheren SAR-Wert addieren; der Wert beträgt 42,12

Es folgt eine Abbildung aller berechneten Werte des Beispiels:

Beispiel für steigenden SAR

Wie wir in der SAR-Spalte sehen können, steigen die SAR-Werte jeden Tag während des Zeitraums.

  • Der fallende SAR:
    1. Bestimme den vorherigen SAR-Wert = der SAR-Wert des vorherigen Balkens.
    2. Bestimme den Extrempunkt (EP) = das tiefste Tief des aktuellen Abwärtstrends.
    3. Bestimme den Beschleunigungsfaktor (AF) = Wert zwischen 0,02 und 0,20. Nach der Bestimmung des ersten Mindestwerts, der 0,02 beträgt, wird der Wert gemäß dem (EP) bestimmt, da der AF jedes Mal um 0,02 erhöht wird, wenn der EP ein neues Tief bildet, um sich dem Höchstwert von 0,20 anzunähern, unabhängig davon, wie lange der Trend noch andauert.
    4. Aktueller Parabolic SAR-Wert = vorheriger SAR (Schritt 1) - vorheriger AF * (vorheriger EP - vorheriger SAR).

Nehmen wir ein Beispiel für diesen Fall, nämlich den fallenden SAR, wenn wir die folgenden Marktdaten haben:

Tag Hoch Niedrig
1 54 45
2 53 44
3 52 43
4 51 42
5 51.5 42.5
6 52 43
7 51 42.5
8 50 42
9 48.75 42.6
10 49 42.5
11 48 43
12 47.75 42.50
13 48 42.60
14 47.50 42.75
15 48 42.50
16 47 42
17 46 43
18 44 43.50
19 45 43

Nun werden wir die fallenden SAR-Werte für den gegebenen Zeitraum berechnen und es wird wie folgt sein:

  1. Bestimmung des vorherigen SAR-Wertes = der SAR-Wert der vorherigen Periode und in diesem Beispiel wird der erste Wert in gelber Farbe zur Vereinfachung angegeben, der gleich 51 ist.
  2. Bestimme den Extrempunkt (EP) = das tiefste Tief des aktuellen Abwärtstrends, der bei 42 liegt.
  3. Ermittele die Differenz zwischen EP und SAR, die Differenz beträgt 51-42 = 9
  4. Bestimme den Beschleunigungsfaktor (AF) = Wert zwischen 0,02 und 0,20, für den ersten Wert beträgt er 0,02
  5. Multipliziere AF mit der Differenz zwischen EP und SAR, so ergibt sich der Wert 0,18
  6. Berechne den aktuellen SAR-Wert, indem der vorherigen SAR-Wert vom Ergebnis aus Schritt 5 abgezogen wird; der Wert beträgt 50,82.

Die folgende Abbildung zeigt die Berechnung aller Werte während des angegebenen Zeitraums:

Wie wir in der SAR-Spalte sehen können, sinken die SAR-Werte jeden Tag in dem Zeitraum.

Glücklicherweise müssen wir den Parabolic SAR-Indikator oder einen anderen Indikator nicht berechnen, da dieser Indikator in die MetaTrader 5-Handelsplattform integriert ist und wir nur den Indikator aus den verfügbaren Indikatoren auswählen müssen. Im Folgenden wird beschrieben, wie wir das tun können:

Wenn Sie den MetaTrader 5 öffnen, klicken Sie auf die Registerkarte Einfügen --> wählen Sie Indikatoren --> wählen Sie Trend --> wählen Sie Parabolic SAR

SAR einfügen

Danach finden wir das Fenster mit den Parabolic SAR-Parametern, das wie folgt aussieht:

SAR-Parameter

1- um die Schrittweite (AF) zu bestimmen, der jedes Mal hinzugefügt wird, wenn der Preis ein neues Hoch oder Tief bildet.

2- um den maximalen Wert von (AF) zu bestimmen, und wie wir bereits gelernt haben, ist der Standardwert 0,20.

3- um die Farbe des Indikators zu bestimmen.

4- um den Stil des Indikators zu bestimmen.

Nachdem Sie die geeigneten Parameter des Parabolic SAR-Indikators festgelegt und auf "OK" gedrückt haben, können Sie ihn wie folgt an den Chart anhängen:

SAR auf dem Chart

Wie wir in der vorherigen Abbildung sehen können, bewegt sich der Parabolic SAR Indikator während der Aufwärtsbewegung unter den Kursen und setzt seine Bewegung nach oben fort, und umgekehrt, während der Abwärtsbewegung bewegt sich der Parabolic SAR Indikator über den Kursen und setzt seine Bewegung nach unten fort.


Parabolic SAR Strategie

In diesem Thema werden wir einige einfache Strategien kennenlernen, die mit dem Parabolic SAR verwendet werden können. Vergessen wir nicht, dass Sie jede Strategie testen müssen, bevor Sie sie auf Ihrem realen Konto verwenden, da das Hauptziel hier darin besteht, das Konzept eines neuen Instruments zu lernen und zu verstehen, wie man ein Handelssystem dafür entwickelt.

Wir haben bereits erwähnt, dass dieser Parabolic SAR-Indikator ein Trendfolge-Indikator ist und dass wir ihn sowohl bei Aufwärts- als auch bei Abwärtstrends einsetzen können. Wir werden also zunächst den Trend bestimmen und dann den Parabolic SAR entsprechend einsetzen.

  • Strategie eins: Aufwärtstrend-Strategie:

Bei dieser Strategie müssen wir für jeden Tick den Parabolic SAR-Wert mit den Kursen vergleichen und entscheiden, ob es ein Kaufsignal gibt oder nicht, denn wir können feststellen, dass das Kaufsignal generiert wird, wenn der Parabolic SAR-Wert unter dem niedrigsten Kurs liegt, und wir können ein anderes Signal haben und es ist ein Gewinnmitnahme-Signal, wenn der SAR-Wert über dem höchsten Kurs liegt.

SAR-Wert < der niedrigste Preis = Kauf

SAR-Wert > dem höchsten Preis = Gewinnmitnahme

  • Strategie zwei: Abwärtstrend-Strategie:

Diese Strategie ist das Gegenteil der Aufwärtstrend-Strategie. Bei dieser Strategie müssen wir für jeden Tick den parabolischen SAR-Wert mit den Kursen vergleichen und entscheiden, ob es ein Verkaufssignal gibt oder nicht, denn wir können feststellen, dass das Verkaufssignal erzeugt wird, wenn der parabolische SAR-Wert größer als der höchste Kurs ist, und wir können ein anderes Signal haben und es ist ein Gewinnmitnahme-Signal, wenn der SAR-Wert unter den niedrigsten Kurs fällt.

SAR-Wert > dem höchsten Preis = Verkaufen

SAR-Wert < dem niedrigsten Preis = Gewinnmitnahme

  • Strategie drei: Kaufsignal mit Trailing-Stop-Strategie:

Bei dieser Strategie müssen wir für jeden Tick den SAR-Wert mit den Kursen vergleichen und entscheiden, ob ein Kaufsignal vorliegt, und die Trailing-Stops für jeden Tick entsprechend dem Wert des Parabolic SAR-Indikators festlegen. Wenn also der SAR-Wert unter dem Preistief liegt, ist dies ein Kaufsignal, und wir erhalten das Trailing-Stop-Loss-Niveau entsprechend dem Indikatorwert.

SAR-Wert < Kurstief = Kauf --> Trailing-Stop-Wert gemäß SAR-Wert

  • Strategie vier: Verkaufssignal mit Trailing-Stop-Strategie:

Bei dieser Strategie müssen wir bei jedem Tick den SAR-Wert mit den Kursen vergleichen und entscheiden, ob wir ein Verkaufssignal haben, und den Trailing-Stop für jeden Tick entsprechend dem Parabolic-SAR-Wert festlegen. Wenn also der SAR-Wert größer ist als das Kurshoch, handelt es sich um ein Verkaufssignal, und wir erhalten das Trailing-Stop-Niveau entsprechend dem SAR-Wert.

SAR-Wert > das Preishoch = Verkaufen --> Trailing-Stop-Wert gemäß SAR-Wert.


Parabolic SAR Blaupause der Strategie

In diesem Thema werden wir eine Blaupause für unsere Strategien zu entwerfen, um uns zu helfen, den Code des Handelssystems für sie zu schreiben, wie es uns erlauben, zu ordnen und zu strukturieren unseren Köpfen zu wissen, was wir brauchen, um die Expertenberater zu informieren, um Schritt für Schritt zu tun, so dass die folgenden ist eine Blaupause für jede Strategie.

  • Strategie eins: Aufwärtstrend-Strategie:

Wir werden den Computer oder den Expert Advisor darüber informieren, was er überprüfen muss und was er zurückgibt, falls die Bedingungen erfüllt sind. Bei dieser Strategie müssen wir den SAR-Wert überprüfen und ihn mit dem Preisniveau vergleichen und dann entscheiden, ob der SAR-Wert niedriger ist als der niedrige Preis oder nicht. Wenn nicht, müssen wir nichts zurückgeben, oder wenn ja, sollte ein Kaufsignal zurückzugeben werden. Wenn wir sie überprüfen und zwei Werte erneut vergleichen und sehen, dass entweder der SAR-Wert größer ist als das Hoch oder nicht. Wenn nicht, wird nichts zurückzugeben bzw. wenn doch, sollten wir ein Take-Profit-Signal zurückzugeben.

SAR-Wert < der niedrigste Preis = Kauf

SAR-Wert > dem höchsten Preis = Gewinnmitnahme

 SAR - Aufwärtstrend-Strategie Blaupause

  • Strategie zwei: Abwärtstrend-Strategie:

In dieser Strategie müssen wir den SAR-Wert überprüfen und ihn mit dem Preisniveau vergleichen und dann entscheiden, ob der SAR-Wert größer ist als der hohe Preis oder nicht. Wenn nicht, geben wir nichts zurück, wenn ja, müssen wir den Experten ein Verkaufssignal zurückgeben. Dann müssen wir bei der Überprüfung und dem Vergleich von zwei Werten erneut und entscheiden, ob der SAR-Wert kleiner ist als der niedrige Wert oder nicht. Wenn nicht, müssen wir wieder nichts zurückgeben bzw. wenn ja, müssen wir ein Signal für eine Gewinnmitnahme zurückgeben.

SAR-Wert > dem höchsten Preis = Verkaufen

SAR-Wert < dem niedrigsten Preis = Gewinnmitnahme

SAR Abwärtstrend-Strategie Blaupause

  • Strategie drei: Kaufsignal mit Trailing-Stop-Strategie:
  • Um den Code dieser Strategie zu schreiben, muss das Programm den SAR-Wert überprüfen, den Trailing-Stop-Wert zurückzugeben und diesen Wert mit dem Hoch und Tief überprüfen, um zu entscheiden, ob der SAR-Wert kleiner als der niedrige Preis ist oder nicht. Wenn nicht wird nur der Trailing-Stop-Wert zurückzugeben, wenn doch werden Kaufsignal und der Trailing-Stop-Wert zurückzugeben. 

    Nur Trailing-Stop-Level --> SAR-Wert < Tiefstkurs = Kauf --> Trailing-Stop-Wert gemäß SAR-Wert

    Kauf- und Stop-Strategie Blaupause

    • Strategie vier: Verkaufssignal mit Trailing-Stop-Strategie:

    Um den Code dieser Strategie zu schreiben, soll das Programm den SAR-Wert zu prüfen und den Trailing-Stop-Wert zurückzugeben und diesen Wert mit dem Hoch und Tief vergleichen, um zu entscheiden, ob der SAR-Wert größer als das Hoch ist oder nicht. Wenn nicht wird nur der Trailing-Stop-Wert zurückzugeben, und wenn doch sollte Verkaufssignal und der Trailing-Stop-Wert zurückzugeben werden.

    Nur Trailing-Stop-Wert --> SAR-Wert > das Hoch = Verkauf --> Trailing-Stop-Wert gemäß SAR-Wert

    Verkaufs- und Stop-Strategie Blaupause

    Parabolic SAR Handelssystems

    In diesem interessanten Thema werden wir lernen, wie man den Code jeder erwähnten Strategie mit MQL5 (MetaQuotes Language Editor) schreibt, um ein Handelssystem für jede von ihnen zu entwerfen, um diese Strategien auf der MetaTrader 5 Handelsplattform automatisch und genau auszuführen.

    Zuerst werden wir lernen, wie man einen Code schreibt, um ein einfaches Handelssystem zu entwerfen, das einen Kommentar mit dem Parabolic SAR-Wert zurückgibt. Um diesen einfachen Experten zu schreiben, werden wir die folgenden Schritte befolgen.

    • Wir erstellen ein Array für Parabolic SAR und verwenden den Typ "double":
    double SARArray[];
    • Wir richten den Zugriff auf das Array der aktuellen Daten mit der Funktion "ArraySetAsSeries" aus, die einen booleschen Wert zurückgibt:
    ArraySetAsSeries(SARArray,true);
    • Wir holen uns den SAR-Indikator mit der Funktion "iSAR":
    int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
    • Wir füllen das SARArray mit der Funktion "CopyBuffer":
    CopyBuffer(SARDef,0,0,3,SARArray);
    • Wir berechnen den SAR-Werte mit Hilfe der Funktion "NormalizeDouble", nachdem eine Variable für den SAR-Wert des Typs "double" erstellt wurde:
    double SARValue=NormalizeDouble(SARArray[0],5);
    • Ausgabe auf dem Chart mit dem SAR-Wert unter Verwendung der Kommentarfunktion:
    Comment("Parabolic SAR value is ",SARValue);

    Unten stehend ist der Code als vollständiger Block:

    //+------------------------------------------------------------------+
    //|                                  Simple Parabolic SAR System.mq5 |
    //|                                  Copyright 2022, MetaQuotes Ltd. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2022, MetaQuotes Ltd."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    void OnTick()
      {    
       //create a SAR array
       double SARArray[];
    
       //sort array from current data
       ArraySetAsSeries(SARArray,true);
       
       //define SAR EA
       int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
       
       
       //fill SARArray with SARDef 
       CopyBuffer(SARDef,0,0,3,SARArray);
       
       //calculate value of last data
       double SARValue=NormalizeDouble(SARArray[0],5);
    
       //chart comment with the signal
       Comment("Parabolic SAR value is ",SARValue);
      }
    //+------------------------------------------------------------------+

    Nachdem wir diesen Code geschrieben und kompiliert haben, sehen wir ihn im Navigator in etwa folgendes Bild:

    Einfaches parabolisches SAR-System - Nav.

    Durch einen Doppelklick auf die Datei oder dem Ziehen auf den Chart wird der Expert Advisor ausgeführt und die Ergebnisse des Systems zu erhalten:

     Einfaches parabolisches SAR-System - Fenster

    Dann setzen wir ein Häkchen bei "Algo-Trading zulassen" und drücken auf "ok". Das System oder der Expert Advisor ist mit dem Chart verbunden, wie im Folgenden dargestellt:

    Einfaches parabolisches SAR-System - angehängt

    Und das folgende Bild ist ein Beispiel für die von diesem System generierten Signale:

    Einfaches parabolisches SAR-System

    • Strategie eins: Aufwärtstrend-Strategie:

    Genau wie in dieser Strategie müssen wir unsere Bedingungen für das Handelssystem so festlegen, dass ein Kaufsignal generiert wird, wenn der SAR-Wert kleiner als der niedrige Preis ist, und ein Gewinnmitnahme-Signal generiert wird, wenn der SAR-Wert größer als der hohe Preis wird, und im Folgenden wird beschrieben, wie man diese Strategie codiert:

    • Wir erstellen eine Text-Variable für das Signal, indem wir den Typ "string" verwenden:
    string signal="";
    • Wir erstellen ein Array für den Preis mit Hilfe der Funktion "MqlRates", es speichert Informationen über die Preise, das Volumen und den Spread:
    MqlRates PriceArray[];
    • Wir legen die Richtung des Preis-Arrays der aktuellen Daten fest mit Hilfe der Funktion "ArraySetAsSeries":
    ArraySetAsSeries(PriceArray,true);
    • Das Array wird mit der Funktion "CopyRates" mit den Preisdaten gefüllt. Diese Funktion erhält die historischen Daten der Struktur "MqlRates", nachdem sie die Daten als Ganzzahl gespeichert hat:
    int Data=CopyRates(_Symbol,_Period,0,3,PriceArray);
    • Wir erstellen ein weiteres Array des Typs "double" für den SAR-Wert:
    double SARArray[];
    • Wieder legen wir dessen Richtung mit der Funktion "ArraySetAsSeries" fest:
    ArraySetAsSeries(SARArray,true);
    • Wir definieren den SAR-Indikator für den EA, indem wir die Funktion "iSAR" verwenden, da sie das Handle des Parabolic SAR-Indikators zurückgibt, nachdem wir "SARDef" als Ganzzahl gespeichert haben, um auf die SAR-Definition zu verweisen:
    int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
    • Wir füllen das SARArray mit SARDef, indem wir die Funktion "CopyBuffer" verwenden, da sie die Daten eines bestimmten Puffers eines bestimmten Indikators erhält:
    CopyBuffer(SARDef,0,0,3,SARArray);
    • Wir berechnen den SAR-Wert der letzten Daten, indem wir die Funktion "NormalizeDouble" verwenden, die den Werttyp double zurückgibt: 
    double SARValue=NormalizeDouble(SARArray[0],5);
    • Jetzt legen wir die Bedingungen für das Kaufsignal mit "if" fest. Wenn der SAR-Wert kleiner als der Tiefstkurs ist, muss das Signal "Buy" (Kaufen) zurückgegeben werden:
       if(SARValue < PriceArray[1].low)
       {
          signal="Buy";
       }
    • Wir setzen die Bedingungen für das "Take Profit"-Signal mit Hilfe von "if", wenn der SAR-Wert größer als der Höchstkurs ist, muss sie das "Take Profit"-Signal zurückgeben:
       if(SARValue > PriceArray[1].high)
       {
          signal="Take Profit";
       }
    • Das erzeugte Signal erscheint auf dem Chart mit Hilfe der Funktion "Comment":
    Comment("The signal is ",signal);

    Durch die vorangegangenen Schritte haben wir ein Handelssystem für diese Strategie erstellt und das Folgende ist der vollständige Code in einem Block:

    //+------------------------------------------------------------------+
    //|                      Parabilic SAR System - Uptrend Strategy.mq5 |
    //|                                  Copyright 2022, MetaQuotes Ltd. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2022, MetaQuotes Ltd."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    void OnTick()
      {  
       //create an string variable for signal
       string signal="";
       
       //create a price array
       MqlRates PriceArray[];
       
       //sort array from the current data
       ArraySetAsSeries(PriceArray,true);
       
       //fill array with price data
       int Data=CopyRates(_Symbol,_Period,0,3,PriceArray);
       
       //create a SAR array
       double SARArray[];
    
       //sort array from current data
       ArraySetAsSeries(SARArray,true);
       
       //define SAR EA
       int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
       
       
       //fill SARArray with SARDef 
       CopyBuffer(SARDef,0,0,3,SARArray);
       
       //calculate value of last data
       double SARValue=NormalizeDouble(SARArray[0],5);
       
       //buy signal
       //if current SAR value below candle 1 low
       if(SARValue < PriceArray[1].low)
       {
          signal="Buy";
       }
       
       //take profit signal
       //if current SAR value above candle 1 high
       if(SARValue > PriceArray[1].high)
       {
          signal="Take Profit";
       }
       
       //comment with the signal
       Comment("The signal is ",signal);
      }
    //+------------------------------------------------------------------+

    Nach dem Kompilieren dieses Codes sehen wir ihn im Navigator-Fenster wie folgt:

    Aufwärtstrend - gestartet - Nav

    Durch einen Doppelklick oder Ziehen auf den Chart ziehen, sehen wir das folgende Fenster:

     Aufwärtstrend SAR - Fenster

    Nachdem einem Klick auf "OK" wird der Expert Advisor auf dem Chart gestartet, wie auf dem folgenden Bild zu sehen ist:

    Aufwärtstrend - angehängt

    Danach können wir die Signale, die auf dem Chart generiert werden, als Kommentare sehen, wie die folgenden Bilder als Beispiele aus dem Test:

    • Kaufsignal:

    Aufwärtstrend - Kaufsignal

    • Signal zur Gewinnmitnahme:

    Aufwärtstrend - TP-Signal

    • Strategie zwei: Abwärtstrend-Strategie:

    In dieser Strategie müssen wir unsere Bedingungen festlegen, damit das Handelssystem ein Verkaufssignal generiert, wenn der SAR-Wert größer als der Höchstkurs ist, und ein Take-Profit-Signal generiert, wenn der SAR-Wert kleiner als der Tiefstkurs wird. Im Folgenden wird beschrieben, wie man diese Strategie codiert:

    //+------------------------------------------------------------------+
    //|                    Parabolic SAR System - Downtrend Strategy.mq5 |
    //|                                  Copyright 2022, MetaQuotes Ltd. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2022, MetaQuotes Ltd."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    void OnTick()
      {  
       //create an string variable for signal
       string signal="";
       
       //create a price array
       MqlRates PriceArray[];
       
       //sort array from the current data
       ArraySetAsSeries(PriceArray,true);
       
       //fill array with price data
       int Data=CopyRates(_Symbol,_Period,0,3,PriceArray);
       
       //create a SAR array
       double SARArray[];
       
       //define SAR EA
       int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
       
       //sort array from current data
       ArraySetAsSeries(SARArray,true);
       
       //fill SARArray with SARDef 
       CopyBuffer(SARDef,0,0,3,SARArray);
       
       //calculate value of last data
       double SARValue=NormalizeDouble(SARArray[0],5);
       
       //buy signal
       //if current SAR value below candle 1 low
       if(SARValue > PriceArray[1].high)
       {
          signal="Sell";
       }
       
       //take profit signal
       //if current SAR value above candle 1 high
       if(SARValue < PriceArray[1].low)
       {
          signal="Take Profit";
       }
       
       //chart comment with the signal
       Comment("The signal is ",signal);
      }
    //+------------------------------------------------------------------+
    • Die Unterschiede in diesem Strategiecode sind:
      • Bedingungen des Verkaufssignals - wenn der SAR-Wert größer als der Höchstkurs wird:
       if(SARValue > PriceArray[1].high)
       {
          signal="Sell";
       }
      • Bedingungen für das Take-Profit-Signal - wenn der SAR-Wert kleiner als der Tiefstkurs wird:
       if(SARValue < PriceArray[1].low)
       {
          signal="Take Profit";
       }

    Nachdem wir diesen Code kompiliert haben, finden wir ihn im Navigator-Fenster als Expert Advisor wie in der folgenden Abbildung:

    SAR Abwärtstrend - Nav

    Nachdem wir die Datei auf den Chart gezogen haben, um den Experten auszuführen, öffnet sich das folgende Fenster:

    SAR Abwärtstrend - Fenster

    Nachdem dem Klick auf "OK" wird der Experte an den Chart angehängt, wie in der folgenden Abbildung zu sehen ist:

    SAR Abwärtstrend - angehängt

    Anschließend erscheinen die Signale dieser Strategie im Chart als Kommentare, wie in den folgenden Bildern als Testbeispiele dargestellt:

    • Verkaufssignal:

    SAR Abwärtstrend - Verkaufssignal

    • Signal zur Gewinnmitnahme:

    SAR Abwärtstrend - Verkaufssignal

    • Strategie drei: Kaufsignal mit Trailing-Stop-Strategie:

    In dieser Strategie müssen wir ein Kaufsignal auf dem Chart und Trailing-Stops auf dem Chart als Kommentare gemäß dem parabolischen SAR-Wert und den Preisen durch spezifische Bedingungen sehen, die den Trailing-Stop-Wert auf dem Chart sehen und dann ein neues Kaufsignal generieren, wenn der SAR-Wert unter den niedrigen Preis fällt. Wir können den folgenden Code für die Entwicklung eines Handelssystems für diese Strategie finden:

    //+------------------------------------------------------------------+
    //|         Parabolic SAR System - Buy signal with training stop.mq5 |
    //|                                  Copyright 2022, MetaQuotes Ltd. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2022, MetaQuotes Ltd."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    void OnTick()
      {  
       //create an string variable for signal
       string signal="";
       
       //create a price array
       MqlRates PriceArray[];
       
       //sort array from the current data
       ArraySetAsSeries(PriceArray,true);
       
       //fill array with price data
       int Data=CopyRates(_Symbol,_Period,0,3,PriceArray);
       
       //create a SAR array
       double SARArray[];
       
       //define SAR EA
       int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
       
       //sort array from current data
       ArraySetAsSeries(SARArray,true);
       
       //fill SARArray with SARDef 
       CopyBuffer(SARDef,0,0,3,SARArray);
       
       //calculate value of last data
       double SARValue=NormalizeDouble(SARArray[0],5);
       
       //buy signal
       //if current SAR value below candle 1 low
       if(SARValue < PriceArray[1].low)
       {
          signal="Buy";
       }
       
       //chart comment with the signal and trailing Stop
       Comment("The signal is ",signal,"\n", "Trailing Stop is ",SARValue);
      }
    //+------------------------------------------------------------------+
    • Der Unterschied ist:
      • Wir fügen einen Trainingsstoppwert hinzu, der der SAR-Wert ist, in einer neuen Zeile als Kommentar im Chart:
    Comment("The signal is ",signal,"\n", "Trailing Stop is ",SARValue);

    Nachdem wir diesen Code kompiliert haben, finden wir die Expert Advisor-Datei im Navigator wie folgt:

    SAR Aufwärtstrend - Kaufsignal mit Trailing Stop - Nav

    Wenn wir diesen Experten auf dem Chart ausführen wollen, ziehen wir ihn auf den Chart und dann öffnet sich das folgende Fenster:

    SAR Uptrend - Kaufsignal mit Trailing-Stop - Fenster

    Nachdem Klick auf "OK", wird der Experte an den Chart angehängt, wie im Folgenden dargestellt:

    SAR Aufwärtstrend - Kaufsignal mit Trailing-Stop - angehängt

    Die folgenden Bilder sind Beispiele für generierte Signale nach dieser Strategie aus dem Test:

    SAR Aufwärtstrend - Kaufsignal mit Trailing-Stop1

    Das folgende Bild zeigt, wie der Trailing-Stop-Wert mit dem Preis steigt:

    SAR Aufwärtstrend - Kaufsignal mit Trailing-Stop 2

    • Strategie vier: Verkaufssignal mit Trailing-Stop-Strategie:

    In dieser Strategie müssen wir ein Verkaufssignal auf dem Chart und Trailing-Stops auf dem Chart als Kommentare nach dem Parabolic SAR-Wert und Preise durch bestimmte Bedingungen, die die Trailing-Stops Wert auf dem Chart zu sehen und dann ein neues Verkaufssignal zu generieren, wenn der SAR-Wert wird über den hohen Preis. Wir können den folgenden Code für die Entwicklung eines Handelssystems für diese Strategie finden:

    //+-----------------------------------------------------------+
    //| Parabolic SAR System - Sell signal with trailing stop.mq5 |
    //| Copyright Copyright 2022, MetaQuotes Ltd.                 |
    //| https://www.mql5.com                                      |
    //+-----------------------------------------------------------+
    #property copyright "Copyright 2022, MetaQuotes Ltd."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+-----------------------------------------------------------+
    void OnTick()
      {  
       //create an string variable for signal
       string signal="";
       
       //create a price array
       MqlRates PriceArray[];
       
       //sort array from the current data
       ArraySetAsSeries(PriceArray,true);
       
       //fill array with price data
       int Data=CopyRates(_Symbol,_Period,0,3,PriceArray);
       
       //create a SAR array
       double SARArray[];
       
       //define SAR EA
       int SARDef=iSAR(_Symbol,_Period,0.02,0.2);
       
       //sort array from current data
       ArraySetAsSeries(SARArray,true);
       
       //fill SARArray with SARDef 
       CopyBuffer(SARDef,0,0,3,SARArray);
       
       //calculate value of last data
       double SARValue=NormalizeDouble(SARArray[0],5);
       
       //buy signal
       //if current SAR value below candle 1 low
       if(SARValue > PriceArray[1].high)
       {
          signal="Sell";
       }
       
       //chart comment with the signal and trailing Stop
       Comment("The signal is ",signal,"\n", "Trailing Stop is ",SARValue);
      }
    //+------------------------------------------------------------------+
    • Der Unterschied ist:
      • Bedingungen für das Verkaufssignal
       if(SARValue > PriceArray[1].high)
       {
          signal="Sell";
       }

    Nach dem Kompilieren des Codes können wir den Experten im Navigator wie folgt finden:

    SAR Abwärtstrend - Verkaufssignal mit Trailing-Stop - Nav

    Wir können es ausführen, indem wir die Datei auf den Chart ziehen und dort ablegen, woraufhin das Expertenfenster erscheint:

    SAR Abwärtstrend - Verkaufssignal mit Trailing-Stop - Fenster

    Nach dem Klick auf "OK", wird der Experte gestartet:

    SAR Abwärtstrend - Verkaufssignal mit Trailing-Stop - angehängt

    Die folgenden Bilder sind Beispiele für generierte Signale:

    SAR Abwärtstrend - Verkaufssignal mit Trailing-Stop1

    Das folgende Bild zeigt das Fallen der Trailing-Stops mit dem Preis:

    SAR Abwärtstrend - Verkaufssignal mit Trailing-Stop2


    Schlussfolgerung

    Jetzt können wir sagen, dass wir einige Grundlagen des technischen Indikators Parabolic SAR im Detail gelernt haben, da wir erkennen können, was der Indikator ist und was er misst, und wie wir ihn manuell berechnen können, um das Konzept dahinter zu verstehen. Wir haben gelernt, wie wir ihn durch einfache Strategien verwenden können, wir haben eine Blaupause für diese Strategien entworfen, um uns zu helfen, ein Handelssystem zu entwerfen, das auf ihnen basiert, und wir haben gelernt, wie man diese Strategien mit MQL5 codiert, um sie auf dem MetaTrader 5 auszuführen, um automatisch und genau Signale zu erzeugen.

    Ich hoffe, dass Sie versucht haben, diese Strategien selbst zu kodieren, da dies Ihre Lernkurve verbessern wird, da Übung ein sehr wichtiger Faktor ist, um alles zu meistern, und Sie können das testen, wenn Sie etwas lernen, da Sie feststellen können, dass Ihr Bewusstsein erhöht wird, wenn Sie üben oder anwenden, was Sie gelernt haben, mehr als Sie nicht geübt haben.

    Ich hoffe auch, dass Sie diesen Artikel nützlich fanden, dass er Ihnen mächtige und nützliche Einblicke gab, um Ihr Trading zu verbessern, und dass er Ihnen die Augen für neue Ideen über das Thema des Artikels oder über ein verwandtes Thema öffnete. Ich muss auch bestätigen, dass Sie jedes neue Werkzeug oder jede neue Strategie während eines angemessenen Zeitraums testen müssen, bevor Sie es auf Ihrem realen Konto verwenden, um sicher zu gehen, dass es Ihre Handelsergebnisse verbessern wird.


    Übersetzt aus dem Englischen von MetaQuotes Ltd.
    Originalartikel: https://www.mql5.com/en/articles/10920

    Letzte Kommentare | Zur Diskussion im Händlerforum (1)
    Schwarz Schwarz
    Schwarz Schwarz | 30 Mai 2022 in 19:19

    Was ist die parabolische Interpolationsmethode?

    Die sukzessive parabolische Interpolation ist eine Technik zum Auffinden des Extremums (Minimum oder Maximum) einer kontinuierlichen unimodalen Funktion durch sukzessives Anpassen von Parabeln (Polynome zweiten Grades) an eine Funktion einer Variablen an drei eindeutigen Punkten oder allgemein eine Funktion von n Variablen an 1+n(n+3)/2 Punkten, und bei jeder Iteration Ersetzen des „ältesten“ Punkts durch das Extremum der angepassten Parabel.

    Was versteht man unter quadratischer Interpolation?

    Was ist die Bedingung, wenn das parabolische Interpolationsverfahren fehlschlägt?

    Was ist die Interpolationsmethode in der numerischen Methode?

    Warum verwenden wir Interpolation?

    Wie interpoliert man in Excel? : ))

    weitere Fragen sollten Folgen !

    Datenwissenschaft und maschinelles Lernen (Teil 03): Matrix-Regression Datenwissenschaft und maschinelles Lernen (Teil 03): Matrix-Regression
    Diesmal werden unsere Modelle mit Hilfe von Matrizen erstellt, was uns eine gewisse Flexibilität ermöglicht, während wir gleichzeitig leistungsstarke Modelle erstellen können, die nicht nur mit fünf unabhängigen Variablen, sondern auch mit vielen Variablen umgehen können, solange wir innerhalb der Berechnungsgrenzen eines Computers bleiben.
    Grafiken in der Bibliothek DoEasy (Teil 100): Verbesserungen im Umgang mit erweiterten grafischen Standardobjekten Grafiken in der Bibliothek DoEasy (Teil 100): Verbesserungen im Umgang mit erweiterten grafischen Standardobjekten
    Im aktuellen Artikel werde ich offensichtliche Fehler bei der gleichzeitigen Behandlung von erweiterten (und Standard-) Grafikobjekten und Formularobjekten auf der Leinwand beseitigen sowie Fehler beheben, die bei dem im vorherigen Artikel durchgeführten Test entdeckt wurden. Der Artikel schließt diesen Teil der Bibliotheksbeschreibung ab.
    DoEasy. Steuerung (Teil 1): Erste Schritte DoEasy. Steuerung (Teil 1): Erste Schritte
    Dieser Artikel beginnt mit einem ausführlichen Thema zum Erstellen von Steuerelementen im Windows Forms-Stil mit MQL5. Mein erstes Interessensgebiet ist das Erstellen der Panel-Klasse. Schon jetzt wird es schwierig, die Dinge ohne Kontrolle zu managen. Daher werde ich alle möglichen Steuerelemente im Windows Forms-Stil erstellen.
    Mehrere Indikatoren in einem Chart (Teil 06): Umwandlung des MetaTrader 5 in ein RAD-System (II) Mehrere Indikatoren in einem Chart (Teil 06): Umwandlung des MetaTrader 5 in ein RAD-System (II)
    In meinem letzten Artikel habe ich Ihnen gezeigt, wie man einen Chart Trade mit MetaTrader 5 Objekten erstellt und so die Plattform in ein RAD-System verwandelt. Das System funktioniert sehr gut, und sicher haben viele der Leser über die Erstellung einer Bibliothek nachgedacht, die es ermöglichen würde, die Funktionsweise des vorgeschlagenen Systems zu erweitern. Auf dieser Grundlage wäre es möglich, einen intuitiveren Expert Advisor mit einer schöneren und einfacher zu bedienenden Oberfläche zu entwickeln.