MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL GRUNDLAGEN – 83 SIMPLER BOLLINGER BANDS TRAILING STOP


Listen Later

In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor programmieren kann, der in der Lage ist, einen Buy Trailing Stop mit den Bollinger Böndern nachzuziehen. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 progammieren kann. Um das zu tun klicken Sie im Metatrader bitte auf dieses kleine Symbol oder drücken Sie die F4-Taste. Das ruft dann hier den Metaeditor auf und hier klicken wir auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergebe hier einmal den Namen SimplerBollingerBandsBuyTrailingStop, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb der OnTick-Funktion gelöscht werden und auch die zwei Kommentarzeilen können weg. Wir starten mit der include-Funktion, um uns die Datei Trade.mqh zu importieren. Die ist Bestandteil von MQL5 und wird uns helfen später einfache Positionen zu eröffnen. Dazu erstellen wir uns von der Klasse CTrade, die in dieser Traidingbibliothek enthalten ist, eine Instanz mit dem Namen trade. In der OnTick-Funktion starten wir damit, dass wir uns eine statische double-Varibale erzeugen. Die bekommt hier den Namen LastStopBollingerBandsValue und soll den jeweils letzten Wert für unseren Stop Loss aufnehmen. Danach berechnen wir den Ask Preis und Bid Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen SYMBOL_AKS bzw. SYMBOL_BID und mit NormalizeDouble und _Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen hinter dem Komma berechnen und damit wir einen Trailing Stop nachziehen können, benötigen wir natürlich auch eine Testposition. Wenn also die Funktion PositionsTotal kleiner ist als 1, dann möchten wir hier trade.Buy benutzen, um eine Testposition über 10 Microlot zu eröffnen. Natürlich macht man das nicht auf einem Echtgeldkonto, aber auf einem Demokonto brauchen wir halt jetzt die Position, denn sonst können wir den Trailing STop nicht benutzen. Im Anschluss setzen wir den letzen Wert für den StopBollingerBandsValue auf 0, denn der wir ja beim nächsten Mal wieder benötigt. Für die Bollinger Bänder benötigen zunächst einmal zwei Array vom Typ double. Einmal für das obere und einmal für das untere Band. Eigentlich gibt’s es hier auch noch ein mittleres Band, aber das spielt in diesem Fall keine Rolle. Im Anschluss nutzen wir ArraySetAsSeries, um das obere und das untere Band von der aktuellen Kerze an abwärts zu sortieren. Und mit der in MQL5 enthaltenen Funktion iBands erstellen wir uns jetzt eine Definition für die Bollinger Bänder für das aktuelle Währungspaar auf dem Chart und die auf dem Chart aktuell ausgewählte Zeiteinheit. Wir möchten gerne für 20 Kerzen die Werte berechnen. Wir nutzen keinen Wert für die Verschiebung. Die Diviation ist 2 und die Berechnung soll anhand der Schlusskurse erfolgen. Jetzt können wir CopyBuffer nutzen, um unser jeweiliges Array mit Daten zu füllen. Für das obere Band nutzen wir Buffer 1, für das untere Band nutzen wir Buffer 2. Und damit können wir anhand der Bollinger Bands-Definition, die wir hier oben getroffen haben, von der Kerze 0, das ist die aktuelle Kerze, für 3 Kerzen die Daten kopieren und in unseren jeweiligen Array speichern. Uns interessiert jeweils der Wert für die letzte abgeschlossene Kerze. Das ist Kerze 1. Also greifen wir hier einfach auf Kerze 1 in unserem oberen und unterem Band zu und weisen das Ergebnis der jeweiligen Variable zu. Für unseren Buy Trailing Stop interessiert uns, ob der letzte Lower Band Value, also untere Bandwert, unterhalb des Bid Preises liegt. Außerdem möchten wir noch wissen, ob dieser Wert größer ist als der letzte Stop Bollinger Band-Wert. Denn es macht nur dann Sinn einen Stop Loss für einen Buy Trade nachzuziehen, wenn die Preise auch gestiegen sind. Und falls das Beides zutrifft, dann möchten wir gerne eine Funktion mit dem Namen CheckBollingerBuyTrailingStop aufrufen. Hier übergeben wir dann den letzten Lower Band-Wert für das untere Bollinger Band.
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5