
Lernen Sie, wie Sie ein Handelssystem mit Hilfe der Stochastik entwickeln
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:
- Stochastik Definition
- Stochastik Strategie
- Stochastik Blaupause
- Stochastik Handelssystem
- 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:
- Festlegen der Periodenlänge, die für die Berechnung des Indikators benötigt wird.
- Ermitteln des höchsten Hochs in der angegebenen Periode.
- Ermitteln des tiefsten Tiefs in der angegebenen Periode.
- Ermitteln von %K der schnellen Stochastik = 100*((aktueller Schlusskurs-tiefstes Tief)/(höchstes Hoch-tiefstes Tief))
- Ermitteln von %D der schnellen Stochastik = 3 gleitende Durchschnitte von %K der schnellen Stochastik
- Ermitteln %K der langsamen Stochastik = %D der schnellen Stochastik
- 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:
- 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:
- 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:
- 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:
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:
Nachdem Sie den "Stochastic Oscillator" ausgewählt haben, öffnet sich das folgende Fenster für die Parameter des Indikators:
Parameter des Indikators:
- Bestimmen der Periodenlänge
- Bestimmen der Periodenlänge des gleitenden Durchschnitts vom schnellen %D.
- Bestimmen der Periodenlänge des gleitenden Durchschnitts vom langsamen %D.
- Bestimmen des Preisfelds, an dem das Verhältnis zu diesem gemessen wird.
- Bestimmen des Typs des gleitenden Durchschnitts, der für die Berechnung verwendet wird.
- Bestimmen der Linienfarbe, des Linienstils und der Linienstärke von %K
- 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:
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:
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:
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:
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:
- 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:
- 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:
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.
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:
Nach dem Ziehen und Ablegen der Datei "Simple Stochastic System - Lines Value" öffnet sich das folgende Fenster:
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:
Dann können wir sehen, dass das Programm die Werte der Stochastik Linien generiert, wie in der folgenden Abbildung dargestellt:
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:
Nachdem Sie diese Datei auf den Chart gezogen haben, wird das folgende Fenster angezeigt:
Nachdem Sie auf OK gedrückt haben, wird die Datei angehängt:
Das Signal wird beim Testen wie im folgenden Beispiel aussehen:
- 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:
Ziehen Sie diese Datei auf den Chart und das folgende Fenster wird geöffnet:
Nachdem Sie auf OK gedrückt haben, wird die Datei an den Chart angehängt:
Das Signal wird entsprechend den Bedingungen dieser Strategie als Kommentar im Chart angezeigt. Das folgende Bild ist ein Beispiel dafür:
- 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:
Ziehen Sie die Datei auf den Chart, und das folgende Fenster wird geöffnet:
Nachdem Sie OK gedrückt haben, wird das Programm an den Chart 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:
Beispiel für das Signal "Gewinnmitnahme":
- 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:
Ziehen Sie diese Datei auf den Chart und das folgende Fenster wird geöffnet:
Nachdem Sie OK gedrückt haben, wird das Programm an den Chart angehängt und ist bereit seine Signale zu erzeugen:
Das folgende Bild ist ein Beispiel für ein generiertes Verkaufssignal nach dieser Strategie:
Das folgende Bild ist ein Beispiel für eine generierte Gewinnmitnahme nach dieser Strategie:
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





- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.