MQL4 TUTORIAL BASICS – 78 SIMPLE MULTI CURRENCY ORDER

video

In diesem Video wollen wir uns einmal anschauen, wie man auf einem einzelnen Chart Positionen für unterschiedliche Währungspaare eröffnen kann. In dem Fall ziehe ich jetzt hier meinen Expert Advisor auf das Chart, bestätige mit ja, aktiviere das Livetrading und klicke auf ok. Und wenn ich das hier oben auch aktiviere, dann sollten wir innerhalb von wenigen Sekunden hier unten mehrere eröffnete Positionen sehen. Das ist jetzt geschehen.

Und in diesem Video wollen wir uns einmal anschauen, wie man so einen Expert Advisor in MQL4 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken 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 SimpleMultiCurrencyOrder, klicke auf weiter, weiter und fertigstellen.

Jetzt kann hier alles oberhalb der OnTick-Funktion gelöscht werden. Und auch die zwei Kommentarzeilen können weg. Wir starten damit, dass wir den aktuellen Ask-Preis berechnen. Für MQL4 ist das ungewöhnlich, denn eigentlich kann man direkt auf den Ask-Preis zugreifen. Wir brauchen das aber gleich für die anderen Währungspaare. Und um den Ask-Preis zu berechnen, nutzen wir SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen hier SYMBOL_ASK, alles in Großbuchstaben, und mit NormalizeDouble und _Digits stellen wir sicher, dass die richtige Anzahle von Nachkommastellen berechnet wird.

Je nach verwendetem Währungspaar können das 3 oder 5 Nachkommastellen sein. Und dieser Ausdruck hier, berechnet uns alles für das aktuelle Währungspaar. Und jetzt möchten wir das Ganze auch für ein anderes Währungspaar berechnen. In diesem Fall das Britische Pfund gegen den US-Dollar. Wir nutzen hier einen anderen Namen für die Variable. Und hier im ersten Parameter haben wir jetzt in Großbuchstaben das Währungspaar angegeben. Bitte stellen Sie sicher, dass Sie genau das nehmen, was Sie hier auch in der Marktübersicht angezeigt bekommen. Manche Broker verwenden auch andere Bezeichnungen.

Ich habe zum Beispiel einige Konten wo ein Suffix mit .M benutzt wird. Jetzt wiederholen wir das Ganze noch einmal und holen uns den Ask-Preis für den US-Dollar gegen den Kanadischen Dollar. Bis auf den Variablennamen und die Symbolbezeichnung hier für das Währungspaar, sind alle andere Dinge identisch. Das Ganze kann man natürlich auch für den Bid-Preis berechnen. In dem Fall nutzen wir SymbolInfoDouble für das aktuelle Währungspaar. Der zweite Parameter ist SYMBOL_BID, auch alles in Großbuchstaben, bitte. Und danach wiederholen wir das Ganze noch für die anderen beiden Währungspaare. Auch hier sind, bis auf den Variablennamen und den ersten Parameter, alle anderen Dinge identisch. Machen wir mal weiter. Dazu erstellen wir uns eine string-Variable für das Signal. In diesem einfachen Beispiel soll uns ein zufälliger Einstieg reichen.

Dazu nutzen wir die Funktion MathSrand, zur Initialisierung eines zufälligen Wertes, der mit dieser Funktion hier initialisiert wird. GetTickCount liefert uns die Anzahl der Millisekunden seit dem wir das System gestartet haben. Und in dieser Kombination ergibt das einen Initialwert der ausschließt, dass wir immer die selben pseudo zufälligen Zahlen berechnen. Denn jetzt ermitteln wir eine Zufallszahl mit der Funktion MathRand. Die sieht so ähnlich aus, wie diese hier, allerdings ohne das S in der Mitte. Und dieses %2 am Ende, wird uns 1 von 2 möglichen Werten zurückliefern. MathRand erzeugt allerdings pseudo zufällige Zahlen. Das bedeutet: Ohne den Initialisierungsschritt hier oben, würden wir jedes Mal die gleichen Zufallszahlen sehen, also bitte vergessen Sie die Initialisierung nicht. Und wenn die ermittelte Zufallszahl jetzt den Wert 0 hat, dann möchten wir gerne kaufen, also weisen wir den Begriff buy unserer signal-Variable zu. Im anderen fall, wenn die Zufallszahl eine 1 ist, dann möchten wir gerne verkaufen. Und dann verwenden wir für die signal-Variable den Wert sell.

Kommen wir zur eigentlichen Positionseröffnung: Wenn unser Signal auf kaufen steht und wir keine geöffneten Positionen haben, dass wäre der Fall, wenn der Rückgabewert für die Funktion OrdersTotal gleich 0 ist, dann nutzen wir OrderSend, um für das aktuelle Währungspaar und die beiden anderen Währungspaare hier eine Position von 10 Microlot zu eröffnen und zu kaufen. Vielleicht fragen Sie sich wofür das gut sein soll, aber für Hedging-Systeme macht es durchaus Sinn. Im anderen Fall, wenn wir eine verkauf-Signal haben und ebenfalls keine geöffneten Positionen, dann nutzen wir hier OrderSend, um für die drei Währungspaare eine Position zu verkaufen. Zum Schluss erstellen wir uns mit dem Comment-Befehl noch eine Ausgabe auf dem Chart. Die wird uns anzeigen, wie das aktuelle Signal aussieht und welches Währungspaar wir gerade traden.

Das wars so weit. Wenn Ihnen das alles hier zu schnell ging oder wenn Sie keine Ahnung haben, was diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus unserer Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premiumkurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier auf kompilieren oder drücken die F7-Taste. Das sollte ohne Fehler funktionieren und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken Sie die F4-Taste, um in den Metatrader zurückzukehren. Und im Metatrader nutzen wir hier einen leeres Chart, denn leider kann man anders als im Metatrader 5 hier im Metatrader 4 noch nicht mehrere Währungspaare gleichzeitig im Strategietester handeln. Auf einem Demokonto im Livebetrieb funktioniert das aber.

Und dazu ziehen wir jetzt hier den Expert Advisor auf unser Chart, aktivieren die Funktion für das Livetrading, klicken auf ok. Die Anzeige ist schon da und wenn wir hier oben das Autotrading jetzt aktivieren, dann sehen wir innerhalb von wenigen Sekunden, dass unser Expert Advisor hier drei Positionen für unterschiedliche Währungspaare eröffnet hat. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie für unterschiedliche Währungspaare auf einem einzigen Chart automatisiert Positionen eröffnen können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL4.