MQL5 TUTORIAL GRUNDLAGEN – 107 SIMPLE ARRAY REFERENZ

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man ein Array deklarieren und einer Funktion als Parameter übergeben kann. Also lassen Sie uns einmal schauen, wie so etwas in MQL5 realisiert wird. Das Ganze sieht auf dem Chart relativ unspektakulär aus. Wir haben hier ein errechnetes Resultat. Das was wir gerne machen möchten ist, wir möchten eine Summe errechnen aus mehreren Werten, die Teile eines Arrays sind und dieses Array soll einer Funktion übergeben werden. Naja, wir schauen uns das mal an und um das zu tun, klicken Sie bitte im Metatrader hier oben 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 mal den Namen SimpleArrayReferenz, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen können weg. In unserem einfachen Beispiel erstellen wir uns mal ein kleines definiertes Array für Integer-Werte, danach füllen wir das Array mit einigen Werten. Bitte denken Sie daran, dass jedes Array immer mit dem Index 0 startet. Das bedeutet, der erste Wert ist immer im Index 0 eines Arrays zu finden. Danach füllen wir aufsteigend drei weitere Array-Schubladen mit Werten. Man kann sich das tatsächlich wie ein Apothekerschrank vorstellen. Jeder Array-Index hier enthält einen bestimmten Typ von Wert. Wir haben jetzt hier einen einfachen Datentyp genommen. Denn dieses Beispiel soll nur zu Demonstrationszwecken dienen. Es macht aber Sinn sich solche kleinen Beispielprogramme immer wieder mal selbst zu schreiben, um bestimmte Dinge herauszufinden. Im Anschluss möchten wir gerne eine benutzerdefinierte Funktion mit dem Namen AddValues aufrufen. Die soll uns die Werte von unserem Array addieren. Und das Ergebnis weisen wir hier einer Variablen mit dem Namen ReturnedResult zu. Die ist auch vom Typ integer. Und damit wir überhaupt sehen, dass etwas passiert, fügen wir noch eine Comment-Ausgabe hinzu. Das könnten wir auch mal auf Deutsch machen. Die würde uns jetzt den Text „Das Rueckgabe-Resultat ist“ gefolgt von dem ermittelten Resultat ausgeben. So weit unser Testaufbau, aber diese Funktion hier existiert noch nicht, also müssen wir die jetzt erstellen. Und jetzt kommen wir zum eigentlich interessanten Teil, wir übergeben nämlich unser Array hier als Referenz. Normalerweise kennen wir das so, dass jede Funktion immer Parameter als einzelne Werte übergeben bekommt, aber mit diesem kaufmännischen Und-Symbol hier, können wir unser Array als Referenz übergeben. Und das ermöglicht es uns auf die einzelnen Werte hier in unserer Unterfunktion so zuzugreifen, wie wir das hier oben in der Funktion tun könnten, in der wir das Array definiert haben. Das Resultat liefern wir hier mittels Return-Befehl wieder zurück an unser Hauptmodul. Und das war´s so weit schon mit dem Quellcode. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung haben, was diese Zeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst eines der anderen Videos aus der Grundlagenserie noch einmal anschauen. Zu diesen Videos gibt’s übrigens jetzt auch die Quelltexte in separaten Kursen. Den Link dazu finden Sie auf unserer Webseite. Da finden Sie auch den Premiumkurs. Und dieses Video hier war wieder ein Vorschlag von einem Premiumkursmitglied. Und wenn Sie ein Premiummitglied sind und eine Idee für so ein Video haben, dann lassen Sie es mich einfach wissen. Für den Moment klicken wir hier mal auf Ansicht, Werkzeugleiste und klicken dann auf Kompilieren. Sie können alternativ auch F7 drücken. Das hat hier ohne Fehler funktioniert und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung und R. Bitte wählen Sie hier die neu erstellte Datei SimpleArrayReferenz.ex5 aus, dazu markieren wir hier unten die Option für den visuellen Modus und starten unseren Test. Jetzt läuft der Strategietester los und gibt uns hier oben aus, dass unser Rückgaberesultat 56 ist. Wenn wir uns den Quelltext einmal anschauen, dann sehen wir, dass wir hier die Werte für myArray 0, 1 und 2 addiert haben. 0 steht auf 8, 1 steht auf 16, 2 steht auf 32. 8 + 16 sind 24 und wenn wir 32 dazu addieren kommen wir auf 56. Jetzt addieren wir einfach noch den letzten Wert von unserem Array hinzu, klicken erneut auf Kompilieren und wenn wir unseren Strategietest jetzt ein weiteres mal starten, dann sehen wir hier, dass Rückgabe-Resultat hat sich tatsächlich verändert und damit haben wir den Beweis dafür, dass es tatsächlich möglich ist, auf Array-Werte zuzugreifen, die in einer anderen Funktion definiert worden sind. Das Einzige was Sie dazu machen müssen, ist mittels kaufmännischen Und das Array als Referenz zu übergeben. Unser Expert Advisor funktioniert wie gewünscht und Sie haben in diesem kurzen Video gelernt, wie Sie ein Array als Referenz an eine andere Funktion übergeben können. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.