![video](https://d8wyob5mxqc1u.cloudfront.net/MQL5Tutorial-DE/MQL5-TUTORIAL-DEUTSCH-SIMPLER-RANDOM-STANDALONE-EA.png)
In diesem Video möchten wir uns einmal zufällige Einstiege ansehen. Die werden hier am laufenden Band produziert. Die ganze Zeit gibt es hier oben kaufen oder verkaufen Signale. Die werden anhand eines Zufallsgenerators produziert. Und wir wollen uns einmal anschauen, wie man einen Expert Advisor in MQL5 programmieren kann, der in der Lage ist, mit solchen zufälligen Einstiegen hier Positionen zu eröffnen. Um das zu tun klicken wir im Meta Trader auf diesen kleinen Button hier 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 einmal den Namen SimplerStandaloneRandomEA. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser On Tick Funktion gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Zunächst importieren wir mit dem include Befehl eine Datei mit dem Namen Trade.mqh. Die gehört zum Lieferumfang vom MQL5 dazu und stellt Handelsfunktionen bereit. Und die ermöglicht uns, von der Klasse CTrade eine Instanz zu erstellen. Die nennen wir in diesem Fall trade und wir werden sie später benutzen, um damit Positionen zu eröffnen. Innerhalb der On Tick Funktion berechnen wir jetzt zunächst einmal den Ask Preis und den Bid Preis. Die brauchen wir, um Positionen eröffnen zu können. Ermittelt werden die mit dem Befehl SymbolInfoDouble für das aktuelle Währungspaar. SYMBOL_ASK liefert uns den Ask Preis. SYMBOL_BID liefert uns den Bid Preis. Und mit NormalizeDouble und Unterstrich Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen für das entsprechende Währungspaar berechnen. Wenn man sich das hier einmal anschaut, da gibt es drei oder fünf Nachkommastellen. Das hier wäre der Ask und das hier wäre der Bid Preis. Und wir brauchen in diesem Fall beides. Außerdem brauchen wir eine String Variable für unser Signal. Hier weisen wir aber noch keinen Wert zu, denn den ermitteln wir gleich noch. Zunächst brauchen wir erst einmal ein paar Preisdaten. Dazu nutzen wir den Befehl MqlRates um ein Preis Array zu erstellen, das die Daten für die letzten Kerzen aufnehmen kann. Unser Preis Array wird zunächst mit ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Danach nutzen wir CapyRates um unser Preis Array mit Daten zu füllen und zwar für das aktuelle Währungspaar auf dem Chart, die auf dem Chart eingestellte Zeiteinheit. Wir starten mit der aktuellen Kerze null und kopieren uns die Daten aus drei Kerzen. Damit haben wir unsere Preisdaten. Jetzt brauchen wir noch den Zufallsgenerator. Wir nutzen MathSrand und GetTickCount um diesen Zufallsgenerator zu initialisieren. GetTickCount liefert uns immer die Zahl der Millisekunden, die seit dem Systemstart vorbei sind. Damit ist das immer eine andere Zahl. Und die brauchen wir, weil MathSrand pseudozufällige Ganzzahlen produziert. Wäre dieser Wert immer gleich, würden wir auch immer die gleichen Zahlen erhalten und genau das wollen wir ja nicht. Berechnen wir also eine Zufallszahl. Dazu nutzen wir einen Befehl der ähnlich klingt MathRand. Und mit Prozent zwei bekommen wir entweder eine null oder eins zurück. Der Befehl an sich würde aber bis zu 32.767 Zahlen bereitstellen können. Da wir aber nur entweder kaufen oder verkaufen Signale benötigen, reichen uns hier zwei Zahlen. Und immer, wenn die Zufallszahl null ist, dann möchten wir gerne kaufen. Also weisen wir das Wort kaufen unserer Signal Variable zu. Im anderen Fall, wenn unser Zufallsgenerator eine eins ausspuckt, dann möchten wir verkaufen. Darum setzen wir unser Signal an der Stelle auf verkaufen. Und wenn unser Signal auf verkaufen steht, und die Funktion PositionsTotal kleiner eins zurückliefert, das bedeutet, wir haben keine geöffneten Positionen, dann nutzen wir trade.Sell um zehn Microlot zu verkaufen. Und kaufen möchten wir, wenn unser Signal auf kaufen steht und wir ebenfalls keine geöffnete Position haben. In dem Fall nutzen wir trade. Buy und kaufen zehn Microlot. Zum Schluss erstellen wir noch eine Chart Ausgabe. Das übernimmt der Comment Befehl. Der gibt uns dann den Satz: Das aktuelle Signal ist, gefolgt von dem ermittelten Signal direkt auf dem Chart aus. Das war es soweit. Jetzt klicken wir hier oben auf Kompilieren oder drücken F7. Und wenn das, wie hier, ohne Fehler über die Bühne geht, dann können wir hier klicken oder F4 drücken, um in den Meta Trader zurückzukehren. Und im Meta Trader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Dann wählen wir hier im Strategietester die neue Datei SimplerStandaloneRandomEA aus, markieren die Option für die Visualisierung und starten unseren Test. Und da läuft er auch schon, unser Expert Advisor. Er generiert nicht nur selbständig Signale hier oben. Sondern er handelt diese zufälligen Signale auch eigenständig. Beschleunigen wir das Ganze mal ein bisschen. Dann sehen wir hier aufeinanderfolgende Positionen, die sowohl kaufen, als auch verkaufen Signale enthalten. Die sind nicht immer eins zu eins. Trotzdem haben wir an dieser Stelle bereits einen Profit gemacht. Und wenn Sie keine Vorstellung davon haben, was für Ergebnisse man mit einem zufälligen Einstieg erzielen kann, dann sollten Sie diesen zufallsbasierenden Expert Advisor Einstieg auf jeden Fall einmal selber ausprobieren. In diesem kurzen Video haben Sie gelernt, wie Sie mit zufällig generierten Einstiegen vollautomatisch handeln können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.
Download “MQL5 Tutorial Deutsch - Simpler Random Standalone Expert Advisor” SimplerStandaloneRandomEA.txt – 137-mal heruntergeladen – 1,44 kB