MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 Tutorial - Automatisch traden mit Metatrader5

By MQL5 Tutorial - Automatisch traden mit Metatrader5BusinessInvesting
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5 episodes

  • MQL5 TUTORIAL GRUNDLAGEN – 8 WIE FUNKTIONIERT DIE WHILE SCHLEIFE?
    In diesem Video schauen wir uns einmal den While Loop an. Der zählt hier oben gerade bis 500.000 und erst dann läuft unser Test hier unten los. Und wir wollen uns jetzt einmal anschauen, wie man dem While Befehl dazu einsetzen kann, bestimmte Dinge in einer Schleife auszuführen. Um das zu tun klicken wir im Metatrader auf diesen kleinen Button hier oder drücken die F4 Taste. Das ruft dann den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerWhileLoop. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt können wir alles oberhalb der OnTick Funktion löschen, auch die zwei Kommentarzeilen können weg. Wir starten damit, dass wir uns hier oben eine integer Variable für einen Verzögerungszähler erstellen. Die bekommt zunächst den Wert eins zugewiesen. Wir verwenden eine integer Variable, weil wir keine Nachkommastellen benötigen. Das gleiche machen wir hier nochmal. Das hier soll unser Mindestwert sein. Bis 500.000 soll unsere While Schleife hochzählen, bevor unser Programm weiterläuft. Auch hier reicht uns wieder ein ganzzahliger Wert. Und innerhalb unserer OnTick Funktion möchten wir jetzt überprüfen, ob unser Verzögerungszähler noch kleiner ist, als der Mindestwert für den Start. Und alles was innerhalb der zwei geschweiften Klammer hier steht, wird ausgeführt, solange der Ausdruck hier oben wahr ist. In diesem einfachen Beispiel möchten wir gerne mit dem Comment Befehl den Text DelayCounter gefolgt von dem aktuellen Wert unseres Zählers ausgeben. Und danach wird der Zähler um eins erhört. Das geht mit dem Befehl DelayCounter= DelayCounter+1. Das war es auch schon so weit. Und wenn wir alles haben, klicken wir hier oben auf Kompilieren oder drücken auf die F7 Taste. Das sollte hier ohne Fehler funktionieren. Und in dem Fall können wir hier oben 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 Strg+R. Hier wählen wir jetzt die neue Datei SimplerWhileLoop.ex5 aus, markieren die Option für die Visualisierung und starten unseren Test. Unser Counter fängt hier oben an hochzuzählen. Und sobald ein Wert von 500.000 erreicht ist, geht es hier weiter. Soweit so gut, aber der While Loop hat leider einen Haken. Nehmen wir einmal diese Erhöhung des Zählers, schneiden sie aus und fügen sie außerhalb des While Loops ein. Kompilieren unseren Code hier erneut. Und starten einen neuen Test. Dann passiert hier überhaupt nichts. Egal, ob wir die Geschwindigkeit verändern. Der Counter wird nicht hochgezählt. Und der Grund dafür ist, dass wir hier eine Endlosschleife erschaffen haben. Da der Wert innerhalb der Schleife niemals hochgezählt wird, ist diese Bedingung hier immer wahr. Und unser Programm würde den While Loop nie wieder verlassen. Man könnte den While Loop hier auch gegen if austauschen. Erneut kompilieren. Und jetzt würde unser Counter die ganze Zeit laufen. Wenn Sie also While in Ihrem Programm verwenden, dann stellen Sie auf jeden Fall sicher, dass innerhalb der While Schleife eine Veränderung existiert die dafür sorgt, dass der Ausdruck, der oben abgefragt wird, irgendwann einmal nicht wahr ist. Denn nur dann funktioniert die Schleife so wie gewollt. Andernfalls würde sie Ihr Programm auf ewig blockieren. In diesem kurzen Video haben Sie gelernt, wie Sie die While Schleife einsetzen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.
    5 min
  • MQL5 TUTORIAL GRUNDLAGEN – 7 SO FUNKTIONIEREN SWITCH UND CASE
    In diesem Video wollen wir uns einmal anschauen, wie man mit Hilfe von Switch und Case Bedingungen abprüfen kann, um den logischen Kontrollfluss in einem Expert Advisor für den Metatrader zu verändern. Um das zu tun klicken wir im Metatrader hier oben auf dieses kleine Symbol oder drücken die F4 Taste. Jetzt sollten Sie den Metaeditor sehen. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimpleSwitchCaseAbfrage. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser Ontick Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir uns hier eine integer Variable mit dem Namen Auswahl erzeugen. Die soll mit dem Wert fünf initialisiert werden. Und innerhalb der OnTick Funktion erzeugen wir hier eine Textvariable vom Typ String Variable mit dem Namen Einstieg. Der weisen wir aber noch keinen Wert zu. Denn, den möchten wir jetzt mit Switch und Case ermitteln. Dazu starten wir mit dem Schlüsselwort switch für unsere Auswahl. Die weiteren Abfragen kommen hier in geschweifte Klammern. Und für den Fall, dass unsere Auswahl den Wert fünf hat, dann möchten wir mit Case den folgenden Programmcode ausführen lassen. In diesem einfachen Beispiel addieren wir einfach zu unserer leeren Variable Einstieg den Wert: „Der Kunde will RSI“. Wir nutzen hier plus und gleich. Das hat was mit einer Besonderheit zu tun, auf die ich gleich noch zu sprechen komme. Am Ende des auszuführenden Code Blocks kommt unser break Statement. Das wird dazu eingesetzt, um aus unserem Switch Case Statement auszusteigen. Das gleiche machen wir hier noch mal für den Fall, dass unsere Variable den Wert vier hat. In dem Fall bekommt unser Einstieg den Text: „Kunde will Bollinger Bands“ zugewiesen. Für den Fall, dass wir die Variable mit dem Wert drei belegen, dann soll unser Einstieg zusätzlich um die Aussage: „Der Kunde will MacD“ erweitert werden. Man kann übrigens statt einer solchen Zahl hier auch eine einfache Rechenoperation in Klammern für den Case verwenden. Allerdings dürften wir hier keine Variable nutzen, denn das würde zu einem Fehler führen. Im Fall, dass unsere Variable den Wert zwei hat, möchten wir gerne unseren Einstieg erweitern um den Text: „Der Kunde will Random entries“. Und zum Schluss gibt es noch eine default Option. Die wird immer dann ausgeführt, wenn keiner der einzelnen Code Blöcke für die Abfrage hier oben zutrifft. In dem Fall möchten wir gerne unsere Einstiegsvariable ergänzen um den Text: „Keine passende Auswahl“. Mit dieser geschweiften Klammer hier wird unser Switch Case Statement beendet. Und damit wir auch was sehen, möchten wir hier unten mit dem Comment Befehl das Ergebnis für den ermittelten Einstieg auf unserem Chart, anzeigen lassen. Das war es soweit. Bitte klicken Sie hier oben auf Kompilieren oder drücken Sie F7 Taste. Das sollte jetzt ohne Fehler funktioniert haben. Und in dem Fall können Sie hier oben auf den kleinen Button klicken oder F4 drücken, um in den Metatrader zurückzukehren. Und im Metratrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Das öffnet dann hier den Strategietester. Und hier wählen wir die neu erstellte Datei SimpleSwitchCaseAbfrage.ex5 aus. Markieren hier die Visualisierungsoption und starten unseren Test. Und jetzt bekommen wir hier oben die Ausgabe angezeigt: Der Kunde will RSI. Ändern wir unseren Auswahlwert hier mal auf drei, Kompilieren erneut. Dann bekommen wir bei einem neuen Test die Ausgabe: Jetzt will unser Kunde MacD. Denn das entspricht dem Wert, den wir hier für Fall drei ermittelt haben. Natürlich ist das hier nur eine Beispiel Codezeile. Hier könnten deutlich komplexere Berechnungen erfolgen. Jetzt ändern wir den Wert hier oben mal auf einen nicht vorhandenen Wert, zum Beispiel elf. Klicken auf Kompilieren. Und beim nächsten Test bekommen wir hier oben die Textkette: keine passende Auswahl angezeigt.
    6 min
  • MQL5 TUTORIAL GRUNDLAGEN – 6 SIMPLE IF ABFRAGE
    In diesem Video geht es um die Abfrage von Bedingungen. Immer wenn man automatisiert handelt, muss man bestimmte Bedingungen abfragen. Beispielsweise ob der Stochastik oberhalb oder unterhalb dieser gestrichelten Linie ist oder ob sich der Kurs oberhalb oder unterhalb dieses gleitenden Durchschnitts bewegt. Und wir wollen in diesem Video einmal schauen, wie man das macht. Dazu klicken wir im Meta Trader hier oben auf dieses kleine Symbol oder drücken die F4 Taste um den Meta Editor zu öffnen. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimpleIfAbfrage. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt sollten wir hier dieses Gerüst sehen und davon kann alles weg, was sich oberhalb der OnTick Funktion befindet. Auch die zwei Kommentarzeilen werden gelöscht. Und wir starten hier mal mit einer einfachen Bedingung. Mit zwei integer Variablen. a ist 5 und b soll 3 sein. Und wenn a größer ist als 5, dann hätten wir gerne die Ausgabe a ist größer als 5. Andernfalls nutzen wir else. Geben den Text aus: keine Bedingung trifft zu. Da fehlt noch ein t. Wenn Sie soweit fertig sind, dann klicken Sie hier oben auf kompilieren oder drücken F7. Das sollte hier ohne Fehlermeldung abgehen. Und in dem Fall klicken wir hier oben auf das kleine Symbol oder drücken die F4 Taste um in den Meta Trader zurückzukehren. Und im Meta Trader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination STRG+R. Hier rufen wir jetzt das neue Programm SimpleIfAbfrage.ex5 auf. Und starten unseren Test. Wir bekommen jetzt hier die Ausgabe: keine Bedingung trifft zu. Denn a ist nicht größer 5. Erweitern wir unsere Abfrage, indem wir diesen Teil hier kopieren, einfügen und abfragen ob a gleich 5 ist. Jetzt kompilieren wir nochmal. Starten einen neuen Test und diesmal kriegen wir die Ausgabe a ist gleich 5. Unser Expert Advisor hat den oberen Teil geprüft. Festgestellt, dass dieser Teil nicht zutrifft und springt dann zum nächsten Teil. Fügen wir das Ganze hier nochmal ein und prüfen, ob b den Wert 3 hat. Dann bekommen wir in unserem nächsten Test die Ausgabe b ist gleich 3 zu sehen. Den oberen Teil hier, gibt unser Programm gar nicht mehr aus. Was wir jetzt aber machen können ist, wir nutzen einfach eine weitere if Anweisung. Verschachteln das hier. Müssen aber auf Gleichheit prüfen. Und wenn das zutrifft, dann soll dieser Text ausgegeben werden. Und das hat tatsächlich auch funktioniert. Man kann solche if Abfragen mehrfach verschachteln und nur, wenn alle if Bedingungen als wahr erkannt werden, wird die Anweisung danach ausgeführt. Nutzen wir mehr als eine Zeile hinter unseren if Abfragen, dann müssen wir Klammern verwenden. Denn wenn wir diese Klammern hier weglassen und kompilieren, dann kommt es hier zu Fehlermeldungen. Deswegen ist es grundsätzlich eine gute Idee, sich von vornherein an die Verwendung dieser Klammern zu gewöhnen. Dann lässt sich der Code auch kompilieren. Und wenn wir jetzt einen neuen Test starten, dann bekommen wir diesmal die Ausgabe c ist gleich 8. In diesem kurzen Video haben Sie gelernt, wie Sie mit Hilfe der if Abfrage bestimmte Bedingungen im Programm prüfen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.
    5 min
  • MQL5 TUTORIAL GRUNDLAGEN 5 – SO FUNKTIONIEREN EINFACHE BERECHNUNGEN
    In diesem Video geht es um die Berechnung von Variablen. Immer wenn wir einen automatischen Expert Advisor nutzen, dann muss offensichtlich etwas berechnet werden. Hier wird zum Beispiel gerade der Profit pro Währungspaar oder die Anzahl der maximalen Positionen für ein Währungspaar berechnet und wir möchten uns in diesem Video einmal anschauen, wie man sowas macht. Dazu klicken wir im Meta Trader auf dieses kleine Symbol hier oben oder drücken die F4 Taste. Klicken auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimpleBerechnungen, klicke auf Weiter, Weiter und Fertigstellen und jetzt kann alles oberhalb dieser OnTick Funktion gelöscht werden und auch die zwei Kommentarzeilen werden entfernt, denn für unsere einfachen Beispiele reicht uns das so aus. Erstellen wir uns zunächst zwei Variablen. Int a ist 5, int b soll den Wert 3 haben und mit dem Comment-Befehl geben wir das Resultat aus. Rücken wir das noch etwas ein und hinter diesem Text kommt unser Ergebnis. In diesem Fall möchten wir a und b addieren. Das war auch schon. Wenn Sie so weit sind, klicken wir hier oben auf kompilieren oder drücken die F7 Taste und sofern das ohne Fehler hier funktioniert hat, klicken wir auf den kleinen Button hier oben rechts, oder drücken F4 um in den Meta Trader zurückzukehren. Im Meta Trader rufen wir uns den Strategietester auf, indem wir auf Ansicht, Strategietester klicken oder Tastenkombination STRG+R drücken. Hier wählen wir jetzt unser neues Programm Simpleberechnungen.ex5 aus. Markieren hier unten die Option für die Visualisierung und starten unseren Test. Jetzt bekommen wir hier die Ausgabe: Das Resultat ist 8, denn 5 plus 3 ist 8. Probieren wir es mal mit der Subtraktion, a minus b kompilieren hier erneut, starten einen weiteren Test, dann bekommen wir hier die Meldung: Das Resultat ist 2. Denn 5 minus 3 entspricht 2. Wir können auch multiplizieren. A mal b wäre 5 mal 3 und jetzt kommt die Ausgabe: Das Resultat ist 15. So weit alles kein Problem. Fehlt die vierte Grundrechenart. Wir teilen a durch b, kompilieren erneuert und was glauben Sie ist das Ergebnis? Der Meta Trader sagt: Das Resulat ist 1. 5 druch 3 ist in diesem Fall 1, weil wir mit ganzen Zahlen gerechnet haben und das liegt hier an diesem Datentyp. Ändern wir das Ganze auf Fließkommazahlen und verwenden den Datentyp double, dann bekomm wir diesmal das Ergebnis: Das Resultat ist 1,666666667 und das passt schon eher. Was glauben Sie ist das Resultat von a plus a mal b? A ist 5, a plus a wäre 10, b ist 3, 10 mal 3 wäre 30. Bei uns kommt aber: Das Resultat ist 20 und der Grund dafür ist, dass auch im Meta Trader die Punktrechnung bevorzugt behandelt wird. Erst danach wird Strichrechnung, also die Addition, ausgeführt und wenn wir das verändern möchten, dann setzen wir einfach runde Klammern ein, denn wie in der Mathematik gehen auch hier runde Klammern vor. Erst wenn die Klammern berechnet und danach die Multiplikation und jetzt bekommen wir auch: Das Resultat ist 30. Das waren jetzt ein paar grundlegende Berechnungen, wenn man sich die Referenz oder die Hilfe von MQL5 einmal anschaut, dann findet man hier noch jede Menge mathematische Funktionen, die diverse Aufgaben vornehmen. Ich würde immer solche kleine Programme verwenden, um herauszufinden wie eine solche mathematische Funktionen funktioniert, denn in Zukunft werden Sie deutlich kompliziertere Berechnungen verwenden wollen und dann ist es gut, wenn man weiß wie die grundlegenden Dinge ticken und in diesem kurzen Video haben Sie gelernt, wie sie einfache Rechenoperationen durchführen und das Ergebnis auf dem Chart ausgeben können und Sie haben es selbst programmiert, mit diesen paar Zeilen hier in MQL5.
    5 min
  • MQL5 TUTORIAL GRUNDLAGEN – 4 WAS SIND DATENTYPEN
    In diesem Video möchten wir uns einmal mit dem Thema Datentypen befassen. Je nachdem was für einen Wert man berechnen möchte, benötigt man unterschiedliche Datentypen, damit das Ergebnis auch stimmt. Und wir wollen uns einmal anschauen, wie man sowas macht. Um das zu tun, klicken wir im Metatrader auf dieses kleine Symbol 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 SimpleDatentypen, klicke auf Weiter, Weiter und Fertigstellen. Und jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen werden entfernt. Und wir fangen mal mit dem einfachsten Datentyp an. Das wäre der Text. In MQL5 ist das eine sogenannte String Variable. Die bekommt einen Namen. In unserem Fall Text. Und wir weisen ihr einen Wert zu. Das ist eine Textkette. Man könnte hier auch zum Beispiel Zahlen schreiben, aber die würden ebenso als Text behandelt und man könnte nicht damit rechnen. Für Zahlen gibt es andere Datentypen, z. B. den Datentyp Double. Der ist für Fließkommazahlen der richtige Datentyp. Wir möchten in unserem Fall die Balance ermitteln, also das Bruttoguthaben auf unserem Konto. Dazu nutzen wir die Funktion AccountInfoDouble. Und übergeben ihr hier diese Konstante Account_Balance. Man erkennt diese reservierten Konstanten für bestimmte Werte daran, dass sie in roter Farbe und in Großschrift dargestellt werden. Damit wir auch etwas sehen, nutzen wir jetzt den Comment-Befehl und lassen uns den Text gefolgt von der Balance ausgeben. Klicken hier auf kompilieren. Und wenn das ohne Fehler funktioniert hat, dann klicken wir hier oben auf dieses kleine Symbol oder drücken F4, um in den Meta Trader zurückzukehren. Und im Meta Trader haben wir im letzten Video gelernt, wie man den Strategietester verwendet. Wir klicken also auf Ansicht, Strategietester, wählen hier unser neu erstelltes Programm SimpleDatentypen aus. Und starten unseren Test. Und jetzt wird hier oben der Wert IST gefolgt von dem ermittelten Wert ausgegeben. Ich habe bewusst in diesem Fall einmal als Kontogröße 100.000 Dollar und 12 Cent eingegeben. Wie man sieht, werden die Nachkommastellen mit ausgegeben. Wir haben schon die Funktion TimeLocal kennengelernt. Die gibt uns den Typ DateTime zurück, um beispielsweise die lokale Zeit zu berechnen. Wenn wir das einmal kompilieren und einen neuen Test starten, dann bekommen wir hier eine Ausgabe in diesem Format. Für ganze Zahlen gibt es den Datentyp integer oder hier abgekürzt int. Beispielsweise hat unsere Kontonummer keine Nachkommastellen und darum besorgen wir uns über AccountInfoInteger mit der Konstante AccountLogIn einen ganzzahligen Wert für die Kontonummer, kompilieren das hier nochmal. Starten einen erneuten Test. Und diesmal wir hier unsere Kontonummer als ganze Zahl angezeigt. Wenn es darum geht, einen wahren oder einen falschen Wert anzeigen zu lassen, dann nutzt man sogenannte boolsche Variablen. Die können nur den Wert true für wahr oder false für falsch annehmen. Lassen wir auch das einmal ausgeben. Dann steht jetzt hier auf unserem Chart der Wert IST true. Wenn Sie einmal mit der F1 Taste die Hilfe aufrufen und nach Datentypen suchen, dann werden Sie diesen Artikel hier finden, der noch weitere Datentypen vorstellt. In diesem Video ging es nur um die gängigsten. Es gibt auch zusammengesetzte Datentypen für Strukturen oder Klassen. Machen Sie doch einfach ein kleines Programm, um herauszufinden, welche anderen Datentypen Sie noch verwenden möchten. Denn in diesem kurzen Video haben Sie gelernt, wie Sie mit Hilfe von unterschiedlichen Tatentypen Werte auf Ihrem Chart ausgeben lassen können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.
    6 min
  • MQL5 TUTORIAL GRUNDLAGEN – 3 DER STRATEGIETESTER
    Das was hier gerade im Hintergrund läuft, ist der Strategietester. Der gehört zum Lieferumfang vom Metatrader dazu. Und der ermöglicht uns, in beschleunigter Form Tests durchzuführen. Und wir tun das hier gerade anhand von historischen Daten. Da unten sieht man jetzt, dass wir am Ende Januar angekommen sind. Wir haben einen Testzeitraum, den wir einstellen können. Und wollen unser Programm jetzt mal mit solchen historischen Daten hier testen. Um den Strategietester aufzurufen, klicken wir hier oben auf Ansicht, Strategietester im Metatrader oder drücken die Tastenkombination Strg + R. Ich habe hier schon sehr viele von diesen Expert Advisors in meinem Verzeichnis. Also ich habe schon jede Menge programmiert. Wir gehen jetzt mal hier in den Grundlagen Ordner und suchen unseren Simplen Expert Advisor heraus, den wir ja vorher vorbereitet haben. Hier sind jetzt diverse Einstellungen, auf die wir später noch näher eingehen werden. Im Moment ist für uns wichtig, dass wir hier die Visualisierung markieren. Und hier unten auf Test starten klicken können. Jetzt sehen wir hier oben unseren Text. Hallo Welt. Den hatten wir hier im Grundgerüst für unseren einfachen, simplen Expert Advisor eingetragen. Jetzt verändern wir mal den Wert auf Hallo MQL5. Kompilieren das Programm noch mal. Damit wird es wieder in eine lesbare Form für den Metatrader übersetzt. Unser Strategietester zeigt hier immer noch Hallo Welt an. Wenn wir das aber mal stoppen und erneut im Metatrader 5 einen Test starten, dann steht jetzt hier oben Hallo MQL5. Wir haben also unseren ersten lauffähigen Expert Advisor erstellt. Und auch bereits verändert und neu kompiliert. Im nächsten Video werden wir uns einmal anschauen, wie man auch berechnete Werte auf dem Bildschirm ausgeben kann. Und nicht nur solche statischen Texte hier. Denn im nächsten Video möchten wir uns einmal eine Zeitvariable automatisch berechnen und auf dem Bildschirm anzeigen lassen.
    3 min
  • MQL5 TUTORIAL GRUNDLAGEN – 2 WAS SIND FUNKTIONEN
    In diesem Video schauen wir uns einmal Funktionen an. Das hier ist ein Expert Advisor, also ein automatisiertes Programm für den Metatrader 5. Und wenn immer etwas automatisiert durchgeführt wird, dann können Sie sich ziemlich sicher sein, dass da Funktionen benutzt werden. Wir wollen uns jetzt einmal anschauen, wie man eine solche Funktion aufruft oder benutzt. Dazu klicken wir im Metatrader hier oben auf dieses kleine Symbol oder drücken die F4 Taste. Hier sehen wir jetzt unsere einfache Schablone, die wir im letzten Video erstellt haben. Und diese farblich markierte OnTick Funktion hat zwei runde Klammern. Und immer, wenn Sie etwas sehen, was in der Art farblich markiert ist und von zwei runden Klammern gefolgt im Metaeditor dargestellt wird, dann handelt es sich um eine Funktion. Die OnTick Funktion ist Bestandteil von MQL5. Und sie wird immer dann aufgerufen, wenn sich auf dem Chart der Preis ändert. Bis jetzt enthält sie noch keine Inhalte. Alles zwischen diesen geschwungenen Klammern würde ausgeführt. Aber auch, wenn nichts dazwischensteht, lässt sich das Ganze hier schon kompilieren. Wir haben hier keine Fehler und keine Warnungen erhalten. Und kompilieren bedeutet, dass unser, für Menschen gut lesbarer Quelltext hier übersetzt wird in Maschinen lesbaren Text für den Metatrader. Wenn man sich das Verzeichnis anschaut, dann sieht man hier, dass wir eine mq5 Datei haben. Wenn ich die mit der rechten Maustaste anklicken und mit Notepad öffne, dann bekomme ich hier den für Menschen lesbaren Quelltext auch angezeigt. Die ex4 Datei ist executable, also ausführbar und für den Metatrader bestimmt. Wenn man die mit dem Notepad öffnet, dann sieht das in etwas so aus. Das macht für uns Menschen keinen Sinn, ist aber für unseren Computer und den Metatrader durchaus lesbar. Wir möchten jetzt aber in unserer Schablone noch eine Funktion einbauen. Probieren wir es mal mit der Comment Funktion. Wie Sie sehen, wird hier bereits nach drei Buchstaben die Funktion Comment vorgeschlagen. Hierbei handelt es sich um die sogenannte Autocomplete Funktion vom Metaeditor. Der schlägt mir hier vor, was ich wahrscheinlich nutzen möchte. Ich kann das dann mit der Maus anklicken. Auch bei dieser Funktion verwenden wir runde Klammern. Und in diese runden Klammern kommt der Text Hallo MQL5, gefolgt von einem Semikolon. Ein Semikolon stellt für den Compiler das Ende einer Anweisung dar. Dabei ist es egal, ob alles davor in einer einzelnen Zeile steht. Wir könnten das theoretisch und auch praktisch auch auf mehrere Zeilen hier verteilen. Erneut kompilieren. Und auch das würde ohne Fehler funktionieren. Denn für den Metaeditor ist alles das hier eine einzige Anweisung. Und wenn der Kompiliervorgang erfolgreich war, dann wechseln wir hier oben mit diesem kleinen Button oder der F4 Taste wieder zurück in den Metatrader. Wenn wir jetzt unseren Expert Advisor hier auf das Chart ziehen und bestätigen, dann sollten wir bei der nächsten Preisänderung den Text Hallo MQL5 hier oben angezeigt bekommen. Das ist jetzt gerade geschehen. Und in diesem kurzen Video haben Sie gelernt, wie Sie eine Funktion nutzen, dass ein Semikolon das Ende von einer Anweisung bedeutet, dass die OnTick Funktion bei jeder Preisänderung aufgerufen wird, was der Unterschied zwischen mq5 und ex5 Dateien ist und wie Sie die Comment Funktion nutzen, um auf dem Chart automatisch einen Text ausgeben zu lassen. Und Sie haben das selbst programmiert, mit diesen paar Zeilen, hier in MQL5.
    5 min
  • MQL5 TUTORIAL GRUNDLAGEN – 1 WAS ENTHÄLT DAS GRUNDGERÜST?
    Wir haben jetzt hier einen simplen Expert Advisor, ein Grundgerüst und ich möchte mal kurz auf die einzelnen Komponenten eingehen, die hier verwendet werden. Das fängt an mit diesen Schrägstrichen hier. Dabei handelt es sich um sogenannte Kommentare. Kommentare werden vom System selbst ignoriert, sind aber für uns Menschen sehr gut, um herauszufinden, was denn bestimmte Teile des Codes tun. Es macht Sinn, viele Kommentare zu verwenden. Immer wenn ich diese zwei Schrägstriche vor eine Funktion setze, dann wird die ebenfalls hier in grau dargestellt. Das bedeutet: Alles hinter diesen zwei Strichen würde ab jetzt vom Compiler ignoriert werden. Die zweite Sache, die hier genutzt wird, ist die property. Wenn ich die markiere und die F1 Taste drücke, dann bekomme ich angezeigt, dass es sich um Programmeigenschaften handelt. Hier unten gibt es auch eine Auflistung solcher Eigenschaften. Zum Beispiel kann ich das Copyright oder einen Link angeben. In diesem Fall nutzen wir hier copyright, Link und version. Bei Versionsnummern macht es Sinn, aufsteigende Zahlen zu verwenden, wenn man etwas an einer Programmversion verändert. Bei OnInit, OnDeinit und OnTick handelt es sich jeweils um eine Funktion. Eine Funktion erkennt man an diesem runden Klammern. In der objektorientierten Programmierung würde man auch eine Funktion als Methode bezeichnen. In diesen runden Klammern kann man einen Wert übergeben. Hier zum Beispiel wird ein Wert zurückgeliefert. Das erkennt man an der Funktion return. Markieren wir auch die und drücken wieder F1. Dann sieht man: Aha, return stoppt die laufende Funktion und gibt die Steuerung an das aufrufende Programm zurück. Und das Ergebnis der Berechnung wird zurückgegeben. Darauf werden wir später noch kommen. Um die ganze Sache zu vereinfachen, werden wir zunächst alles oberhalb der OnTick Funktion löschen. Und auch diese beiden Kommentarzeilen hier werden entfernt. Klicken wir einmal auf Kompilieren, dann sehen wir, dass wir hier bereits ein vollständig kompilierbares, lauffähiges Programm erstellt haben. Und im nächsten Video werden wir eine Funktion hinzufügen.
    3 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER ONBALANCE EA
    Dieses Mal möchten wir uns diesen Indikator hier anschauen. Es handelt sich um den Onbalance Volume Indikator. Der soll uns anzeigen, ob das Volumen steigt oder fällt. Hier wird der Wert vom Indikator angezeigt, den wir auch berechnen und hier oben ausgeben lassen möchten. Wofür ist das Ding gut? Naja, laut Investopedia soll das Volumen steigen, wenn der Preis sich nach oben bewegt. Und da geht man davon aus, dass man erst eine Veränderung im Volumen sieht und sich dann den Preis anschaut. Und wenn der sich nicht bewegt, dann wird der bei steigenden Volumen wohl auch nach oben getrieben. Hier kann man sehen, dass das etwas vorher passiert ist. Und wir möchten uns einmal anschauen, wie man in MQL5 diesen Indikator berechnen und den Wert auf dem Chart ausgeben lassen kann. Um das zu tun, klicken wir im Metatrader hier oben auf dieses Symbol oder drücken die F4 Taste. Das ruft dann hier den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerIOBVWert, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles gelöscht werden, was sich oberhalb der OnTick Funktion befindet. Und auch die Kommentarzeilen werden gelöscht. Im ersten Schritt brauchen wir hier erst einmal ein Array für die Preisdaten. So ein Array kann man sich vorstellen als eine Sammlung von Schubladen, in die einzelne Werte gepackt werden können. Dieses Array ist vom Typ Double, damit es auch Nachkommastellen verarbeiten kann. Denn wenn man sich Preisdaten anschaut dann sieht man, dass es hinter dem Komma diverse Stellen gibt. Je nachdem, was das für ein Währungspaar ist, können das entweder drei oder fünf Stellen sein. Danach sortieren wir das Array von der aktuellen Kerze an abwärts. Das übernimmt die Funktion ArraySetAsSeries für uns. Die kommt mit MQL5. Im nächsten Schritt definieren wir die Eigenschaften für unseren Expert Adivisor. Das machen wir mit der MQL5 Funktion iOBV. Die ist in MQL5 eingebaut. Und wenn man die markiert und die F1 Taste drückt, dann bekommt man hier eine Beschreibung. Unser Indikator hat nur einen Puffer. Das ist diese Linie hier. Es gibt auch Indikatoren mit mehr Puffern. Zum Beispiel hier die Bollinger Bänder. Die hätten drei Puffer. Wir benötigen ein paar Parameter. Der erste Parameter ist das aktuelle Währungspaar auf dem Chart. Für den zweiten Parameter benötigen wir die aktuelle Periode, also die auf dem Chart eingestellte Zeiteinheit. _Symbol und _Period berechnen beides automatisch für uns. Und im dritten Parameter geben wir noch an, welches Volumen wir nutzen wollen. Da gibt es das Tickvolumen und das Handelsvolumen. Und wir werden hier das Tickvolumen verwenden. Jetzt können wir mit der Funktion CopyBuffer anhand der von uns getroffenen Definition für den Onbalance Volume Indikator, die wir hier oben erstellt haben, für Buffer null, also die eine Linie, die wir hier haben, von der Kerze null für drei Kerzen die Werte kopieren und in unserem Array speichern. Diese Kerze wird grade gebildet. Das wäre also Kerze null. Das hier Kerze eins. Das ist Kerze zwei und so weiter. Und nachdem wir das alles getan haben, berechnen wir uns den aktuellen Wert für den Onbalance Volume Indikator, indem wir auf den Wert von Kerze null in unserem Array zugreifen. Und um zu kontrollieren, ob wir den Wert auch richtig berechnen, nutzen wir den MQL5 Comment Befehl. Der wird uns auf dem Chart den Text: der aktuelle OBV Wert ist, gefolgt von dem von uns berechneten Wert ausgeben. Ich klicke jetzt hier oben auf Kompilieren oder drücke F7. Und man sieht, dass hier unten eine Warnung angezeigt wird. Und zwar warnt mich der Metaeditor vor einem möglichen Verlust der Genauigkeit. Der möchte nämlich gerne einen Double Wert haben an dieser Stelle. Kompilieren wir das noch mal. Und jetzt können wir hier oben auf diesen kleinen Button klicken oder F4 drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht,
    7 min

About MQL5 Tutorial - Automatisch traden mit Metatrader5

From the publisher's feed

Metatrader5 MQL5 Expert Advisor Tutorial