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

Lernen Sie, wie Sie ein Handelssystem mit Hilfe der Stochastik entwickeln

MetaTrader 5Handel | 2 Mai 2022, 16:17
574 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Einführung

Eines der schönsten Dinge beim Handel mit der technischen Analyse ist, dass wir eine Vielzahl von Werkzeugen zur Verfügung haben. Wir können ein Werkzeug einzeln verwenden oder mehrere Werkzeuge kombinieren, was für uns nützlich und profitabel sein kann. Darüber hinaus haben wir ein erstaunliches Werkzeug, das sehr hilfreich sein kann, um unsere Handelsergebnisse und Performance zu verbessern. Dieses Werkzeug ist die Programmierung, die es uns ermöglicht, Programme zu erstellen, die sehr nützlich und hilfreich sein können: Wir geben dem Computer Anweisungen, um das zu tun, was wir automatisch und genau entsprechend unseren Bedingungen benötigen.

Dieser Artikel ist ein weiterer Beitrag zu dem Versuch, zu lernen und zu lehren, was in diesem Zusammenhang des technischen Handels und der Programmierung von profitablen Handelsstrategien hilfreich sein kann. Wir werden in diesem Artikel ein neues Instrument besprechen, das für unseren Handel nützlich sein kann, und zwar den "Stochastik-Oszillator", der einer der beliebtesten Indikatoren für den Handel mit technischer Analyse ist. Wenn Sie meine anderen Artikel hier lesen, sollten Sie wissen, dass ich gerne lerne und die Wurzeln der Dinge vermittle, um alle Details und den Mechanismus der Dinge zu verstehen, die so gut wie möglich funktionieren. Daher werde ich dieses Thema mit der gleichen Methode behandeln. Die folgenden Themen werden in diesem Artikel behandelt:

    1. Stochastik Definition
    2. Stochastik Strategie
    3. Stochastik Blaupause
    4. Stochastik Handelssystem
    5. Schlussfolgerung

      Im Abschnitt "Stochastik Definition" lernen wir den Stochastik-Oszillator-Indikator im Detail kennen und erfahren, was er ist und was er misst. Dann werden wir in "Stochastik Strategie" einige einfache Strategien kennenlernen, die wir verwenden können. Danach werden wir eine Blaupause für diese einfachen Strategien entwerfen, die uns dabei helfen soll, sie in MQL5 zu kodieren, damit wir sie in MetaTrader 5 verwenden können — dies wird im Thema "Stochastik Blaupause" behandelt. Danach werden wir lernen, wie man einen Code schreibt, um ein Handelssystem für diese einfachen Strategien zu entwerfen — dies wird im Thema "Stochastik Handelssystem" geschehen.

      Wir werden das MetaTrader 5-Handelsterminal und die MetaQuotes-Sprache verwenden, die in MetaTrader 5 integriert ist. Das Terminal kann über folgenden Link heruntergeladen werden: https://www.metatrader5.com/de/download

      Haftungsausschluss: Alle Informationen werden in der vorliegenden Form nur zu Lernzwecken bereitgestellt und sind nicht für Handel oder als Beratung gedacht. 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.

      Nun, wir werden unsere neue Reise über ein neues interessantes Thema beginnen, lassen Sie uns das tun.


      Stochastik Definition

      In diesem Teil werden wir mehr über einen der beliebtesten technischen Indikatoren erfahren, den Stochastik-Oszillator. Er wurde von George Lane entwickelt und wird in dem Buch "New Trading Systems and Methods" von Perry J. Kaufman erwähnt. Aber es gibt auch andere Meinungen dazu, eine davon ist, dass es nicht ganz klar ist, wer den Stochastik-Indikator entwickelt hat — dies wird im Buch "Technical Analysis, The Complete Resource for Financial Market Technicians" von Charles D. Kirkpatrick und Julie R. Dahlquist erwähnt und die andere Meinung ist, dass der Indikator von George Lane popularisiert wurde, wie im Buch "Technical Analysis of The Financial Markets" von John J. Murphy erwähnt wird.

      Die Idee hinter dem Stochastik-Indikator ist folgende: Es wurde beobachtet, dass während eines Aufwärtstrends die Schlusskurse dazu neigen, sich für einen bestimmten Zeitraum dem oberen Teil der Preisspanne anzunähern, und umgekehrt, während eines Abwärtstrends, die Schlusskurse dazu neigen, sich für einen bestimmten Zeitraum dem unteren Teil der Preisspanne anzunähern. Der Stochastik-Oszillator misst das Verhältnis zwischen dem aktuellen Schlusskurs und den Höchst- und Tiefstkursen eines bestimmten Zeitraums.

      Der Stochastik-Oszillator-Indikator besteht aus zwei Linien, die zwischen der Null- und der 100-Ebene oszillieren:

      • Die %K-Linie ist die schnellste Linie.
      • Die %D-Linie ist die langsamste Linie, sie ist geglättet.

      Es gibt mehr als eine Version des Stochastik Oszillator Indikators. Die bekanntesten Versionen sind die beiden folgenden:

      • Die schnelle Stochastik.
      • Die langsame Stochastik.

      Wir werden den Unterschied in den Methoden sehen, mit denen der Stochastik-Oszillator-Indikator berechnet werden kann.

      Im Folgenden werden die Schritte zur Berechnung des Stochastik-Oszillator-Indikators beschrieben:

      1. Festlegen der Periodenlänge, die für die Berechnung des Indikators benötigt wird.
      2. Ermitteln des höchsten Hochs in der angegebenen Periode.
      3. Ermitteln des tiefsten Tiefs in der angegebenen Periode.
      4. Ermitteln von %K der schnellen Stochastik = 100*((aktueller Schlusskurs-tiefstes Tief)/(höchstes Hoch-tiefstes Tief))
      5. Ermitteln von %D der schnellen Stochastik = 3 gleitende Durchschnitte von %K der schnellen Stochastik
      6. Ermitteln %K der langsamen Stochastik = %D der schnellen Stochastik
      7. Ermittelt %D der langsamen Stochastik = 3 gleitende Durchschnitte von (%K der langsamen Stochastik, die mit %D der schnellen Stochastik identisch ist) 

      Sehen wir uns nun ein Beispiel für die Anwendung dieser Berechnungen an, um den Stochastik-Oszillator-Indikator zu erhalten. Wenn wir die folgenden Daten haben:

      Tage Schlusskurs Hoch Niedrig
      1 100 110 90
      2 130 140 120
      3 140 160 120
      4 130 150 110
      5 120 140 100
      6 140 150 130
      7 160 170 150
      8 170 180 160
      9 155 170 150
      10 140 170 130
      11 160 180 155
      12 180 190 175
      13 190 220 190
      14 200 230 200
      15 210 215 205
      16 200 200 190
      17 190 195 180
      18 185 105 180
      19 195 210 185
      20 200 220 190

      Um den Stochastik-Oszillator-Indikator zu berechnen, folgen wir den zuvor erwähnten Schritten, d.h. wir gehen wie folgt vor:

      • Festlegen der Periodenlänge, die = 14 sein wird, wir brauchen also zunächst 14 Handelsperioden, um mit der Berechnung des Indikators zu beginnen.
      • Bestimmen des höchsten Hochs der letzten 14 Perioden, es wird (230) sein und das folgende Bild wird uns das für den ersten Wert und den Rest der Daten zeigen:

      14 Höchstes Hoch

      • Bestimmen des tiefsten Tiefs der letzten 14 Perioden, er wird (90) sein, und die folgende Abbildung zeigt uns das für den ersten Wert und den Rest der Daten:

      14 tiefstes Tief

      • Ermitteln von %K der schnellen Stochastik = 100*((aktueller Schlusskurs - tiefstes Tief)/(höchstes Hoch - tiefstes Tief)), 
      • Ermitteln von %D der schnellen Stochastik = 3 gleitender Durchschnitt des %K der schnellen Stochastik,
      • Die folgende Abbildung zeigt die Ergebnisse der Berechnung für die verfügbaren Daten:

      Schnell - K-D

      • Ermitteln von %K der langsamen Stochastik = %D der schnellen Stochastik,
      • Ermitteln des %D der langsamen Stochastik = 3 gleitender Durchschnitt des %K der langsamen Stochastik,
      • Die folgende Abbildung zeigt die Ergebnisse der Berechnung für die verfügbaren Daten:

      Langsam - K-D

      In den vorangegangenen Schritten haben wir den Stochastik-Oszillator-Indikator manuell berechnet. Glücklicherweise müssen wir ihn nicht jedes Mal manuell berechnen, da wir einen sofort einsetzbaren integrierten Indikator im MetaTrader5-Handelsterminal haben. Wir können ihn einfach aus der Liste der verfügbaren Indikatoren in der Plattform auswählen, indem wir auf die Registerkarte "Einfügen" von MetaTrader 5 klicken, wie es in der folgenden Abbildung dargestellt ist:

      Stoch einfügen

      Nachdem Sie den "Stochastic Oscillator" ausgewählt haben, öffnet sich das folgende Fenster für die Parameter des Indikators:

       Fenster "Stoch einfügen

      Parameter des Indikators:

      1. Bestimmen der Periodenlänge
      2. Bestimmen der Periodenlänge des gleitenden Durchschnitts vom schnellen %D.
      3. Bestimmen der Periodenlänge des gleitenden Durchschnitts vom langsamen %D.
      4. Bestimmen des Preisfelds, an dem das Verhältnis zu diesem gemessen wird.
      5. Bestimmen des Typs des gleitenden Durchschnitts, der für die Berechnung verwendet wird.
      6. Bestimmen der Linienfarbe, des Linienstils und der Linienstärke von %K
      7. Bestimmen der Linienfarbe, den Linienstil und die Linienstärke von %D

      Nachdem Sie die Parameter nach Ihren Wünschen festgelegt haben, wird der Indikator an den Chart gestartet und erscheint wie auf dem folgenden Bild:

      Stoch auf dem Chart

      Nachdem wir den Stochastik Oszillator eingefügt haben, stellen wir fest, dass der Indikator im unteren Fenster mit zwei Linien (%K, %D) dargestellt wird, die zwischen Null und 100 oszillieren, und wir können ihn wie unten dargestellt sehen:

      • Stoch(14, 3,3): stellt den Namen des Indikators und die gewählten Parameter dar: 14 Perioden, 3 für den gleitenden Durchschnitt von %D der schnellen Stochastik, 3 für den gleitenden Durchschnitt von %D der schnellen Stochastik.
      • 36,85: stellt den %k-Wert dar
      • 38,28: stellt den %D-Wert dar

      Nach der Berechnung des Stochastik-Oszillator-Indikators wird er sich die meiste Zeit in einer bestimmten Form in Richtung des Marktes bewegen, da wir wussten, dass die Schlusskurse dazu neigen, je nach Marktbewegung in der Nähe der oberen oder unteren Preisspanne eines bestimmten Zeitraums zu schließen.

      Während eines Aufwärtstrends:

      Ein Aufwärtstrend ist eine Marktrichtung, in der sich die Preise aufgrund der Kontrolle der Käufer oder Bullen nach oben bewegen. In der Regel bilden die Kurse höhere Tiefs und höhere Hochs. In diesem Fall können wir diesen Markt als Bullenmarkt bezeichnen.

      Wir können während dieser Marktrichtung feststellen, dass die Schlusskurse meistens dazu neigen, in der Nähe des oberen Teils der Preisspanne während dieser Bewegungsperiode "Aufwärtstrend" zu schließen, und der Stochastik-Indikator oszilliert zwischen dem 50er und 100er Niveau. Ein Beispiel für diese Situation ist in der folgenden Abbildung dargestellt:

      Stochastik während des Aufwärtstrends

      Während eines Abwärtstrends:

      Ein Abwärtstrend ist eine Marktrichtung, in der sich die Preise aufgrund der Kontrolle der Verkäufer oder Bären nach unten bewegen. Die Preise bilden niedrigere Höchst- und Tiefststände. In diesem Fall können wir diesen Markt als Bärenmarkt bezeichnen.

      Während dieser Marktrichtung neigen die Schlusskurse meist dazu, in der Nähe der unteren Spanne der Kursbewegungen während dieser "Abwärtstrend"-Bewegungsperiode zu schließen. Daher kann es vorkommen, dass sich der Stochastik-Indikator während der Abwärtsbewegung zwischen den Niveaus 50 und 0 bewegt. Ein Beispiel für diese Situation ist in der folgenden Abbildung dargestellt:

      Stochastik während des Abwärtstrends

      Bei Seitwärtsbewegungen:

      Bei einer Seitwärtsbewegung handelt es sich um eine Kursbewegung ohne klare Richtung nach oben oder unten. Sie kann als ein Gleichgewicht zwischen Käufern und Verkäufern oder Bullen und Bären betrachtet werden. Es handelt sich um eine beliebige Bewegung mit Ausnahme eines Aufwärts- oder Abwärtstrends.

      Während dieser Seitwärtsbewegung gibt es keine eindeutige Bewegung nach oben oder unten, die Kurse neigen dazu, sich in der Nähe des mittleren Bereichs der Preise für diesen Zeitraum der Bewegung "Seitwärts" zu schließen, und so können wir feststellen, dass die meiste Zeit, die Stochastik bewegt sich um 20 und 80 Ebenen und das folgende Bild ist ein Beispiel für das:

      Stochastik bei Seitwärtsbewegungen

      Nachdem wir nun analysiert haben, wie sich der Stochastik Indikator bei verschiedenen Marktbewegungen verhalten kann. Jetzt müssen wir lernen, wie wir ihn zu unseren Gunsten nutzen können, und das werden wir im folgenden Thema lernen.


      Stochastik Strategie

      In diesem Teil werden wir darüber sprechen, wie wir diesen Indikator durch einfache Strategien nutzen können. Wir können vom Stochastik-Indikator je nach Markttrend Signale erhalten, und diese Strategien sind die Aufwärtsstrategie, die Abwärtsstrategie und die Seitwärtsstrategie.

      • Strategie eins: Aufwärtstrend-Strategie

      Bei dieser Strategie müssen wir prüfen, ob die %K-Linie und die %D-Linie unter der 50er-Marke liegen, dann wird ein Kaufsignal generiert, wenn die %K-Linie die %D-Linie nach oben kreuzt. Wir können den Gewinn mit Hilfe eines anderen effektiven Instruments wie der Preisaktion mitnehmen, indem wir zum Beispiel nach einem niedrigeren Tiefpunkt suchen.

      %K, %D < 50 --> %K > %D = Kaufsignal
        • Strategie zwei: Abwärtstrend-Strategie

        Bei dieser Strategie müssen wir prüfen, ob die %K-Linie und die %D-Linie über der 50er-Marke liegen, dann wird das Verkaufssignal generiert, wenn die %K-Linie unter die %D-Linie fällt. Wir können den Gewinn mit Hilfe eines anderen effektiven Werkzeugs wie der Preisaktion mitnehmen, indem wir zum Beispiel nach einem höheren Hoch suchen.

        %K, %D > 50 --> %K < %D = Verkaufssignal
          • Strategie drei: Seitwärtsstrategie
            • Das Kaufsignal:

          Bei dieser Strategie müssen wir prüfen, ob die %K-Linie und die %D-Linie unter der 20er-Marke liegen, dann wird das Kaufsignal generiert, wenn die %K-Linie die %D-Linie übersteigt. Wenn die %K-Linie und die %D-Linie über 80 liegen, wird das Take-Profit-Signal generiert, wenn die %K-Linie unter der %D-Linie kreuzt.

          %K, %D < 20 --> %K > %D = Kaufsignal
          %K, %D > 80 --> %K < %D = Gewinnmitnahme

              • Das Verkaufssignal

                Bei dieser Strategie müssen wir prüfen, ob die %K-Linie und die %D-Linie über dem Niveau von 80 liegen, dann wird das Verkaufssignal erzeugt, wenn die %K-Linie unter die %D-Linie fällt. Wenn die %K-Linie und die %D-Linie unter dem 20-Niveau liegen, wird das Gewinnmitnahme-Signal generiert, wenn die %K-Linie die %D-Linie überschreitet.

                %K, %D > 80 --> %K < %D = Verkaufssignal
                %K, %D < 20 --> %K > %D = Gewinnmitnahme

                Ich möchte an dieser Stelle erwähnen, dass es viele Stochastik-Strategien gibt, die verwendet werden können, von einfachen bis hin zu komplizierten Strategien, und dass dieser Indikator einzeln oder in Kombination mit einem anderen Instrument verwendet werden kann, um bessere Ergebnisse zu erzielen, aber wir erwähnen hier nur einfache Strategien, um zu verstehen, wie dieser Indikator verwendet werden kann.


                  Stochastik Blaupause

                  In diesem Teil werden wir eine Blaupause für die zuvor erwähnten Strategien entwerfen, die uns helfen soll, ein Handelssystem zu erstellen. Diese Blaupause wird eine Schritt-für-Schritt-Anleitung sein, um zu bestimmen, was das Programm genau tun soll.

                  • Strategie eins: Aufwärtstrend-Strategie

                  %K, %D < 50 --> %K > %D = Kaufsignal

                  Zunächst muss das Programm (%K, %D) prüfen und entscheiden, ob es unter oder über der 50er-Marke liegt. Liegt es dann unter der 50er-Marke, wartet es, bis die %K-Linie über die %D-Linie steigt, um das Kaufsignal zu geben. Wenn (%K, %D) über oder gleich der 50er-Marke liegt, unternimmt das Programm nichts.

                  Das folgende Bild ist eine Blaupause für diese Aufwärtstrendstrategie:

                  SSS- Aufwärtstrend-Strategie Blaupause

                  • Strategie zwei: Abwärtstrend-Strategie

                  %K, %D > 50 --> %K < %D = Verkaufssignal

                  Zuerst muss das Programm prüfen (%K, %D) und entscheiden, ob es über oder unter der 50er Marke liegt. Wenn es über der 50er Marke liegt, wird es warten, bis die %K-Linie unter die %D-Linie fällt, um das Verkaufssignal zu geben. Wenn (%K, %D) unter oder gleich der 50er-Marke liegt, unternimmt das Programm nichts.

                  Das folgende Bild ist eine Blaupause dieser Strategie:

                  SSS- Abwärtstrend-Strategi Blaupause

                  • Strategie drei: Seitwärtsstrategie

                  Das Kaufsignal:

                  %K, %D < 20 --> %K > %D = Kaufsignal

                  %K, %D > 80 --> %K < %D = Gewinnmitnahme

                  Zunächst muss das Programm (%K, %D) prüfen und entscheiden, ob es unter oder über der 20er-Marke liegt. Liegt es unter der 20er-Marke, wartet es, bis die %K-Linie die %D-Linie überschreitet, um das Kaufsignal zu geben. Wenn (%K, %D) über oder gleich dem 20er-Niveau liegt, unternimmt das Programm nichts. Dann prüft das Programm (%K, %D) und entscheidet, ob es über oder unter der 80er-Marke liegt. Liegt es über der 80er-Marke, wartet es, bis die %K-Linie die %D-Linie unterschreitet, um das Gewinnmitnahme-Signal zu geben. Wenn (%K, %D) unter oder gleich der 80er-Marke liegt, unternimmt das Programm nichts.

                  Das folgende Bild ist eine Blaupause für diese Strategie:

                  SSS- Seitwärtsstrategie - Blaupause für das Kaufen

                  Das Verkaufssignal

                  %K, %D > 80 --> %K < %D = Verkaufssignal

                  %K, %D < 20 --> %K > %D = Gewinnmitnahme

                  Zuerst muss das Programm (%K, %D) prüfen und entscheiden, ob es über oder unter der 80er-Marke liegt. Wenn es über der 80er-Marke liegt, wartet es, bis die %K-Linie unter die %D-Linie fällt, um das Verkaufssignal zu geben. Wenn (%K, %D) unter oder gleich der 80er-Marke liegt, unternimmt das Programm nichts. Dann prüft das Programm (%K, %D) und entscheidet, ob es unter oder über der 20er-Marke liegt. Wenn es unter der 20er-Marke liegt, unternimmt das Programm nichts, bis die %K-Linie die %D-Linie überquert, um das Gewinnmitnahme-Signal zu geben. Wenn (%K, %D) über oder gleich dem 20er-Niveau liegt, unternimmt das Programm nichts.

                  Wenn (%K, %D) über oder gleich dem 20er-Niveau liegt, unternimmt das Programm nichts.

                  Das folgende Bild ist eine Blaupause für dieses Verkaufssignal der Seitwärtsstrategie:

                  Bisher haben wir einfache Strategien betrachtet, die mit dem Stochastik-Indikator verwendet werden können, und wir haben Blaupausen für diese Strategien entworfen, um uns bei der Erstellung eines Handelssystems zu helfen. Im nächsten Teil werden wir lernen, wie man dieses Handelssystem entwickelt.


                  Stochastik Handelssystem

                  Jetzt beginnen wir mit einem interessanten Teil dieses Artikels, in dem wir lernen, wie man ein Handelssystem programmiert, das nach diesen Strategien funktioniert. Programmieren ist ein großartiges Werkzeug, das uns hilft, effektiv zu handeln, da es uns hilft, unseren Plan und unsere Strategie diszipliniert auszuführen, ohne Emotionen in unsere Handelsentscheidungen einzubeziehen, zusätzlich zur Genauigkeit der Ausführung. Lassen Sie uns unser Handelssystem nach den zuvor besprochenen Strategien schreiben...

                  Zunächst müssen wir einen Code für ein Programm schreiben, das die Werte der Stochastik Linien auf dem Chart liefert, und durch das Schreiben dieses Codes werden wir Zeile für Zeile lernen, was wir schreiben, um nach diesem Schritt in der Lage zu sein, das Handelssystem zu verstehen und zu erstellen.

                  Zunächst müssen wir Arrays für die %K-Linie und die %D-Linie erstellen und wir werden "double" verwenden, das Werte mit einem Bruchteil darstellt:

                  double Karray[];
                  double Darray[];
                  

                  Dann müssen wir diese erstellten Arrays nach den aktuellen Daten sortieren und wir werden die Funktion "ArraySetAsSerious" verwenden:

                  ArraySetAsSeries(Karray, true);
                  ArraySetAsSeries(Darray, true);

                  Dann müssen wir den Indikator "Stochastic" definieren und wir werden die Funktion "iStochastic" verwenden, nachdem wir eine Variable mit "StochDef" erstellt haben, die gleich der Definition von "Stochastic" ist:

                  int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);

                  Dann müssen wir das Array mit den Preisdaten füllen und werden die Funktion "CopyBuffer" verwenden:

                  CopyBuffer(StochDef,0,0,3,Karray);
                  CopyBuffer(StochDef,1,0,3,Darray);
                  

                  Dann werden wir den Wert der %K-Zeile und der %D-Zeile der aktuellen Daten berechnen und "float" verwenden, um die Größe der Brüche zu verringern und zu approximieren:

                  float KValue = Karray[0];
                  float DValue = Darray[0];
                  

                  In der letzten Codezeile wird das Programm den Wert der %K-Linie und den Wert der %D-Linie im Chart in zwei Zeilen darstellen und wir werden die Funktion "Kommentar" verwenden:

                  Comment("%K value is ", KValue,"\n""%D Value is ",DValue);

                  Der folgende Code ist derselbe wie der vorherige, aber in einem Block, um ihn in einem Schritt kopieren zu können, falls Sie das benötigen:

                  //+------------------------------------------------------------------+
                  //|                       Simple Stochastic System - Lines Value.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()
                    {
                  //creating arrays for %K line and %D line   
                     double Karray[];
                     double Darray[];
                     
                  //sorting arrays from the current data   
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                  
                  //defining the stochastic indicator   
                     int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
                  
                  //filling arrays with price data   
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                  
                  //calculating value of %K and %D line of cuurent data  
                     float KValue = Karray[0];
                     float DValue = Darray[0];
                     
                  //commenting calcualted values on the chart   
                     Comment("%K value is ",KValue,"\n"
                     "%D Value is ",DValue);
                        
                    }
                  //+------------------------------------------------------------------+

                  Bisher haben wir den Code eines Programms geschrieben, das die aktuellen Werte der Stochastik-Indikatoren auf dem Chart darstellen kann, und jetzt müssen wir dieses Programm auf unserem Trading-Terminal ausführen, das Meta Trader5 ist, wie wir es jetzt nach dem Kompilieren im Navigator-Fenster finden können:

                  Nav 1

                  Nach dem Ziehen und Ablegen der Datei "Simple Stochastic System - Lines Value" öffnet sich das folgende Fenster:

                  SSS Fenster der Linienwerte


                  Nachdem Sie auf OK gedrückt haben, wird das Programm oder der (Expert Advisor) an den Chart angehängt, wie in der folgenden Abbildung dargestellt:

                  SSS-Linienwert angehängt

                  Dann können wir sehen, dass das Programm die Werte der Stochastik Linien generiert, wie in der folgenden Abbildung dargestellt:

                  SSS- Linienwert

                  Jetzt beginnen wir mit dem Schreiben des Codes, um ein Handelssystem für unsere Strategien zu erstellen, und was wir hier tun müssen, ist ein Handelssystem zu erstellen, das in der Lage ist, das passende Signal als Kommentar auf dem Chart entsprechend der verwendeten Strategie zu präsentieren. Lassen Sie uns damit beginnen...

                  • Strategie eins: Aufwärtstrend-Strategie

                  %K, %D < 50 --> %K > %D = Kaufsignal

                  Der folgende Code dient zur Erstellung eines Handelssystems, das das ausführt, was wir gemäß dieser Aufwärtstrend-Strategie benötigen:

                  //+------------------------------------------------------------------+
                  //|                  Simple Stochastic 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()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                     
                     if (KValue0<50&&DValue0<50)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                     Comment("SSS - Uptrend Strategy - Signal is ",signal);
                        
                    }
                  //+------------------------------------------------------------------+

                  Wie Sie sehen können, gibt es folgende Unterschiede:

                  Es wird eine Variable für das "Signal" mit einer leeren Zuweisung erstellt, da wir dies danach berechnen werden:

                  string signal="";

                  Es werden zwei Variablen für %K-Werte (0,1) und zwei Variablen für %D-Werte (0,1) für aktuelle Daten und Daten vor den aktuellen erstellt:

                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];

                  Um das Kreuzen von %K und %D zu bewerten, brauchen wir das Kreuzen nach oben, mit anderen Worten, wir brauchen %K, das %D nach oben durchbricht, und sich danach darüber zu bewegen, und das ist, was wir im Zeilencode von "if" finden können:

                     if (KValue0<50&&DValue0<50)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        

                  Nach der Auswertung des Durchbruchs, wenn es wahr ist, brauchen wir ein Signal für "KAUFEN" und dies wird die Zuweisung für "Signal" sein. Dann brauchen wir einen Kommentar mit diesem Signal auf dem Chart und es wird entsprechend der folgenden Codezeile sein:

                  Comment("SSS - Uptrend Strategy - Signal is ",signal);

                  So, wir haben den Code des Programms erstellt und nach dem Kompilieren finden wir ihn im Navigator-Fenster:

                  Nav 2

                  Nachdem Sie diese Datei auf den Chart gezogen haben, wird das folgende Fenster angezeigt:

                   SSS Fenster des Aufwärtstrends


                  Nachdem Sie auf OK gedrückt haben, wird die Datei angehängt:

                  SSSm Aufwärtstrend angehängt

                  Das Signal wird beim Testen wie im folgenden Beispiel aussehen:

                  SSS Aufwärtstrend - Kauf

                  • Strategie zwei: Abwärtstrend-Strategie

                  %K, %D > 50 --> %K < %D = Verkaufssignal

                  Im Folgenden wird ein Programm erstellt, das diese Abwärtstrend-Strategie ausführt:

                  //+------------------------------------------------------------------+
                  //|                Simple Stochastic 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()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                           
                     if (KValue0>50&&DValue0>50)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                     Comment("SSS - Downtrend Strategy - Signal is ",signal);
                        
                    }
                  //+------------------------------------------------------------------+

                  Die Unterschiede sind:

                  • Bedingungen des Kreuzens

                     if (KValue0>50&&DValue0>50)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        

                  • Der Kommentar zu dieser Strategie:

                     Comment("SSS - Downtrend Strategy - Signal is ",signal);

                  Nach dem Kompilieren können wir die Datei dieses Programms im Navigatorfenster finden:

                  Nav 3

                  Ziehen Sie diese Datei auf den Chart und das folgende Fenster wird geöffnet:

                  SSS Fenster des Abwärtstrends

                  Nachdem Sie auf OK gedrückt haben, wird die Datei an den Chart angehängt:

                  
SSS Abwärtstrend angehängt 

                   Das Signal wird entsprechend den Bedingungen dieser Strategie als Kommentar im Chart angezeigt. Das folgende Bild ist ein Beispiel dafür:

                  SSS - Abwärtstrend - Verkauf

                  • Strategie drei: Seitwärtsstrategie
                    • Kaufsignal:

                  %K, %D < 20 --> %K > %D = Kaufsignal

                  %K, %D > 80 --> %K < %D = S zur Gewinnmitnahme

                  Der folgende Code dient zur Erstellung eines Programms, das diese Seitwärtsstrategie ausführen kann:

                  //+------------------------------------------------------------------+
                  //|           Simple Stochastic System - Sideways - Buy 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()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];
                     
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        
                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);
                     
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "Take Profit";
                        }
                        
                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);  
                        
                    }
                  //+------------------------------------------------------------------+

                  Die Unterschiede sind:

                  • Bedingungen des Kreuzens für ein Kaufsignal der Seitwärtsstrategie:

                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "BUY";
                        }      
                        

                  • Kommentar bei einem Kaufsignal der Seitwärtsstrategie:

                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

                  • Bedingungen für das Signal zur Gewinnmitnahme der Seitwärtsstrategie:

                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "Take Profit";
                        }
                        

                  • Kommentar für das Signal zur Gewinnmitnahme der Seitwärtsstrategie:

                     Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

                  Nach dem Kompilieren wird die Datei dieses Handelssystems im Navigator-Fenster angezeigt:

                  Nav 4

                  Ziehen Sie die Datei auf den Chart, und das folgende Fenster wird geöffnet:

                  SSS-Sideways - Kauf - Fenster

                  Nachdem Sie OK gedrückt haben, wird das Programm an den Chart angehängt:

                  SSS-Sideways - Kauf - angehängt

                  Das Signal wird als Kommentar auf dem Chart entsprechend dieser Strategie angezeigt. Das folgende Bild zeigt ein Beispiel für ein solches Signal:

                  SSS - Sideways - Kauf - kaufen

                  Beispiel für das Signal "Gewinnmitnahme":

                  SSS - Seitwärts - Kauf - TP

                    • Sideways-Strategie: Verkaufssignal

                  %K, %D > 80 --> %K < %D = Verkaufssignal

                  %K, %D < 20 --> %K > %D = Signal zur Gewinnmitnahme

                  Im Folgenden wird beschrieben, wie man den Code für ein Programm schreibt, das diese Strategie ausführt:

                  //+------------------------------------------------------------------+
                  //|          Simple Stochastic System - Sideways - Sell 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()
                    {
                     string signal="";
                     
                     double Karray[];
                     double Darray[];
                     
                     ArraySetAsSeries(Karray, true);
                     ArraySetAsSeries(Darray, true);
                     
                     int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
                     
                     CopyBuffer(StochDef,0,0,3,Karray);
                     CopyBuffer(StochDef,1,0,3,Darray);
                     
                     double KValue0 = Karray[0];
                     double DValue0 = Darray[0];
                     
                     double KValue1 = Karray[1];
                     double DValue1 = Darray[1];  
                     
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                        
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                     
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "TAKE PROFIT";
                        }         
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                    }
                  //+------------------------------------------------------------------+
                  

                  Die Unterschiede sind:

                  • Bedingungen des Kreuzens für ein Verkaufssignal der Seitwärtsstrategie:
                      if (KValue0>80&&DValue0>80)
                        if ((KValue0<DValue0) && (KValue1>DValue1))
                        {
                           signal = "SELL";
                        }
                  • Kommentar bei einem Verkaufssignal der Seitwärtsstrategie:
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
                  • Bedingungen für das Signal zur Gewinnmitnahme der Seitwärtsstrategie:
                     if (KValue0<20&&DValue0<20)
                        if ((KValue0>DValue0) && (KValue1<DValue1))
                        {
                           signal = "TAKE PROFIT";
                        }   
                  • Kommentar für das Signal zur Gewinnmitnahme der Seitwärtsstrategie: 
                     Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  

                  Nach dem Kompilieren wird die Datei dieses Handelssystems im Navigator-Fenster angezeigt:

                  Nav 5

                  Ziehen Sie diese Datei auf den Chart und das folgende Fenster wird geöffnet:

                  SSS-Sideways - Verkauf - Fenster

                  Nachdem Sie OK gedrückt haben, wird das Programm an den Chart angehängt und ist bereit seine Signale zu erzeugen:

                  SSS-Sideways - Verkauf - angehängt

                  Das folgende Bild ist ein Beispiel für ein generiertes Verkaufssignal nach dieser Strategie:

                  SSS - Sideways - Verkauf - verkaufen

                  Das folgende Bild ist ein Beispiel für eine generierte Gewinnmitnahme nach dieser Strategie:

                  SSS - Sideways - Verkauf - TP

                  Schlussfolgerung

                  Am Ende dieses Artikels können wir sagen, dass wir die Grundlagen gelernt haben, wie man ein einfaches Handelssystem mit dem technischen Indikator "Stochastik Oszillator" erstellt, der einer der beliebtesten Indikatoren in der Welt des Handels ist. Ich hoffe, Sie haben verstanden, was der "Stochastik Oszillator" ist, was er misst und wie er zu berechnen ist - wir haben uns damit eingehend beschäftigt. Ich hoffe, Sie haben etwas Neues über die Verwendung des Stochastik-Indikators herausgefunden, indem Sie einige einfache Strategien kennengelernt haben, die Sie anwenden können. Außerdem wurde in diesem Artikel eine Vorlage für diese einfachen Strategien vorgestellt, auf deren Grundlage sich ein Handelssystem leicht und reibungslos erstellen lässt. Außerdem haben wir uns überlegt, wie man ein Handelssystem auf der Grundlage dieser einfachen Strategien entwickeln kann.

                  Ich hoffe, dass dieser Artikel für Sie und Ihr Trading nützlich war und dass er Ihnen hilft, neue Ideen zu finden, indem er Ihnen Einblicke in einen der beliebtesten und nützlichsten Indikatoren in der Welt des Handels gibt — den "Stochastik Oszillator".

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

                  Mehrere Indikatoren auf einem Chart (Teil 02): Erste Experiment Mehrere Indikatoren auf einem Chart (Teil 02): Erste Experiment
                  Im vorherigen Artikel "Mehrere Indikatoren in einem Chart" habe ich das Konzept und die Grundlagen der Verwendung mehrerer Indikatoren in einem Chart vorgestellt. In diesem Artikel werde ich den Quellcode zur Verfügung stellen und ihn im Detail erklären.
                  Was Sie mit gleitenden Durchschnitten machen können Was Sie mit gleitenden Durchschnitten machen können
                  In diesem Artikel werden mehrere Methoden zur Anwendung des Indikators Gleitender Durchschnitt (MA oder Moving Average) vorgestellt. Jede Methode, die eine Kurvenanalyse beinhaltet, wird von Indikatoren begleitet, die die Idee visualisieren. In den meisten Fällen stammen die hier vorgestellten Ideen von den jeweiligen Autoren. Meine einzige Aufgabe bestand darin, sie zusammenzubringen, damit Sie die wichtigsten Ansätze sehen und hoffentlich vernünftigere Handelsentscheidungen treffen können. MQL5-Kenntnisstand - einfach.
                  Mehrere Indikatoren in einem Chart (Teil 03): Entwicklung von Definitionen für die Nutzer Mehrere Indikatoren in einem Chart (Teil 03): Entwicklung von Definitionen für die Nutzer
                  Heute werden wir zum ersten Mal die Funktionsweise des Indikatorensystems aktualisieren. Im vorangegangenen Artikel "Mehrere Indikatoren in einem Chart" haben wir uns mit dem grundlegenden Code befasst, der die Verwendung von mehr als einem Indikator in einem Chart-Subfenster ermöglicht. Was wir dort vorgestellt haben, war jedoch nur die Ausgangsbasis für ein viel größeres System.
                  Charts interessanter machen: Hinzufügen eines Hintergrunds Charts interessanter machen: Hinzufügen eines Hintergrunds
                  Viele Arbeitsplätze enthalten ein repräsentatives Bild, das etwas über den Benutzer aussagt. Diese Bilder machen die Arbeitsumgebung schöner und spannender. Sehen wir uns an, wie man die Charts durch Hinzufügen eines Hintergrunds interessanter gestalten kann.