MQL5 TUTORIAL DEUTSCH – SIMPLER STOCHASTIC STANDALONE EXPERT

In diesem Video möchten wir einen Expert Adviser erstellen, der in der Lage ist, den Stochastic Indicator eigenständig zu handeln. Es handelt sich hier um einen Oszillator. Immer wenn wir eine Überkreuzung dieser beiden Signallinien oberhalb der gestichelten oberen Linie habe, wäre das ein Verkaufen. Und unterhalb wäre es ein Kaufen Signal. Die Signale werden nicht nur hier auf dem Chart ausgegeben. Sondern wir haben hier unten auch schon eine erste geöffnete Position, die automatisch gehandelt wurde. Und wir möchten uns jetzt einmal anschauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf diesen kleinen Button oder drücken die F4 Taste. Das ruft dann hier den Meta Editor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage. Weiter. Ich vergebe hier mal den Namen SimplerStochasticStandaloneEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser On Tick Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen kommen weg. Hier oben nutzen wir den include Befehl, um die Datei Trade.mqh zu importieren. Die ermöglicht uns eine Instanz von der Klasse CTrade zu erstellen. Damit lassen sich dann später die Positionen eröffnen. In der On Tick Funktion, die bei jeder Preisänderung aufgerufen wird, erstellen wir erst einmal eine Signal Variable. Die ist vom Typ String, damit sie Textketten aufnehmen kann, bekommt aber hier noch keinen Wert zugewiesen. Der wird gleich noch ermittelt. Dazu benötigen wir erst einmal ein paar Dinge. Zum Beispiel den Ask und den Bid Preis. Hier oben kann man sehen, dass wir einen roten und einen blauen Preisverlauf haben. Der blaue Preis ist der Ask Preis. Den müssen wir zahlen, wenn wir etwas kaufen. Und der rote ist der Bid Preis. Den erhalten wir, wenn wir etwas verkaufen. Ermitteln können wir das mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Mit SYMBOL_ASK bekommen wir den Ask Preis. Und mit SYMBOL_BID bekommen wir den Bid Preis. Und diese NormalizeDouble Funktion in Kombination mit _Digits sorgt dafür, dass wir entweder drei oder fünf Nachkommastellen haben, je nachdem, welches Währungspaar auf dem Chart ist. Jetzt brauchen wir noch zwei Arrays. Das eine heißt KArray und das andere heißt DArray. Wenn man im Metatrader auf Einfügen, Indikatoren, Oszillatoren, Stochastic Oszillator klickt, sieht man auch hier eine K Periode und eine D Periode. Zunächst einmal sortieren wir mit ArraySeAsSeries beide Arrays von der aktuellen Kerze an abwärts. Jetzt können wir unsere StochasticDefinition mit Hilfe der Funktion iStochastic umsetzen. Wir tun das für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Auch diese Parameter hier finden wir in den Standardeinstellungen für den Stochastic Oszillator wieder. Wir haben hier 5,3,3, MODE_SMA und STO_LOWHIGH. Und auch hier sehen wir eine Fünf für die K Periode, eine Drei für die D Periode. Die Verlangsamung ist drei. Die Methode steht auf Simple. Das ist gleich zu setzten mit MODE SMA. Der Preisbereich steht auf Low/High. Das entspricht hier diesem letzten Parameter. STO_LOWHIGH. Mit der Funktion CopyBuffer füllen wir jetzt unser KArray und unser DArray mit Preisdaten. Das erste Array für den Buffer null. Das ist die erste Signallinie. Das zweite Array ist Buffer eins. Das ist die zweite Signallinie. Wir brauchen jeweils von der aktuellen Kerze für drei Kerzen die Preisdaten laut unserer Definition, die wir hier oben getroffen haben. Und speichern sie in den jeweiligen Arrays. Und mit diesen Daten können wir jetzt die aktuellen Werte, den KWert null und den DWert null für die jeweilige Kerze null berechnen. Das ist die aktuelle Kerze. Das Gleiche machen wir noch mal für die Kerze davor. Das wäre Kerze eins. Die Ergebnisse weisen wir den Variablen KWert eins und DWert eins zu. Und jetzt können wir ein Kaufen Signal ermitteln. Immer wenn beide Werte unter 20 sind, wenn als der KWert für die aktuelle Kerze kleiner ist als 20 und auch der DWert für die aktuelle Kerze kleiner ist als 20, dann prüfen wir, ob eine Überkreuzung stattgefunden hat. Wenn nämlich der aktuelle KWert größer ist als der aktuelle DWert und der KWert für Kerze eins noch kleiner war als der DWert, dann wäre das ein Kaufen Signal. Also weisen wir das Wort Kaufen unserer Signal Variable zu. Für das Verkaufen Signal prüfen wir auf den umgekehrten Fall ab. Wenn beide Werte über 80 sind, das wäre hier oben der Fall. Man sieht hier auch die 80 und die 20 an den jeweiligen gestrichelten Linien. Wenn also KWert für Kerze null größer ist als 80 und DWert für Kerze null größer ist als 80, dann prüfen wir wieder, ob es eine Überkreuzung gegeben hat. Das wäre der Fall, wenn der aktuelle KWert kleiner ist als der DWert für die aktuelle Kerze. Und wenn der KWert für die letzte Kerze noch größer war als der DWert. In dem Fall hätten wir ein Verkaufen Signal. Darum weisen wir das Wort Verkaufen unserer Signal Variable zu. Der eigentliche Handelsvorgang für den Verkauf von zehn Mikrolot prüft ab, ob das Signal tatsächlich auf Verkaufen steht. Und ob die Anzahl der Positionen kleiner ist als eins. Also ob wir keine geöffnete Position haben. In dem Fall nutzen wir trade.Sell um zehn Mikrolot zu verkaufen. Im andern Fall, wenn das Signal auf Kaufen steht und wir ebenfalls keine geöffnete Position haben, dann nutzen wir trade.Buy um zehn Mikrolot zu kaufen. Zum Schluss erstellen wir hier noch eine Chart Ausgabe. Das macht der Comment Befehl. Der gibt uns den Text: Das aktuelle Signal ist, gefolgt von dem ermittelten Signal aus. Okay, das war es. Bitte klicken Sie hier oben auf Kompilieren oder drücken Sie F7. Das sollte dann hier ohne Fehler und Warnungen passieren. Und in dem Fall können Sie hier oben klicken oder F4 drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken STRG+R. Hier wählen wir bitte die Datei SimplerStochasticStandaloneEA.ex5 aus. Markieren hier unten die Option für die Visualisierung und starten unseren Test. Und hier läuft unser Indikator schon. Bei der ersten Überkreuzung hier unten oder hier oben, sollte eine Position eröffnet werden. Das ist jetzt gerade passiert. Und Sie haben in diesem kurzen Video gelernt, wie Sie den Stochastic Oszillator mit MQL5 vollständig automatisieren können, so dass Sie einen Expert Advisor haben, der im Metatrader 5 automatische dieses Signal handelt. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier im MQL5.

Download “MQL5 TUTORIAL - SIMPLER STOCHASTIC STANDALONE EXPERT ADVISOR” – 15-mal heruntergeladen – 2 KB