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 DEUTSCH – SIMPLER PFEILINDIKATOR
    In diesem Video erstellen wir uns einen eigenen Indikator, der uns solche Pfeile hier ausgibt, wenn neue Höchst- bzw. Tiefstwerte erreicht werden. Berechnen möchten wir das Anhand der letzten 100 Kerzen. Und wir möchten uns in diesem Video einmal anschauen, wie man einen Indikator für solche Pfeile hier in MQL5 erstellen kann. Um das zu tun klicken Sie im Meta Trader bitte auf diesen kleinen Button hier oben oder drücken die F4 Taste. Das ruft dann hier den Meta Editor auf. Und hier wählen wir Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplerPfeilIndikator. Klicke auf Weiter, Weiter und Fertigstellen. Und jetzt können wir alles oberhalb dieser On Tick Funktion hier löschen. Und auch die zwei Kommentarzeilen entfernen. Im ersten Schritt erstellen wir uns mit MqlRates hier ein Array für die Preisdaten. Das bekommt den Namen Preisinformation. Danach nutzen wir die Funktion ArraySetAsSeries und sortieren das Array abwärts von der aktuellen Kerze. Danach füllen wir unser Array mit dem Befehl CopyRates für das aktuelle Symbol auf dem Chart. Und die auf dem Chart ausgewählte Zeiteinheit, von der aktuellen Kerze 0 an. Dieser Ausdruck hier liefert uns die Anzahl der Kerzen für das von uns gewählte Währungspaar. Und das ganze Ergebnis wird im Array PreisInformation gespeichert. Jetzt berechnen wir die Kerzen Anzahl. Das geht mit der Funktion Bars, ebenfalls für das aktuelle Währungspaar und die auf dem Chart ausgewählte Zeiteinheit. Für unseren Pfeilindikator benutzen wir die Funktion IntegerToString um aus der Zahl für die Kerzenanzahl einen Text zu machen. Den Text brauchen wir als Parameter für unsere Objekterzeugung. Dazu kommen wir gleich. Und wir hatten ja gesagt, dass wir jeweils auf den höchsten oder den niedrigsten Kerzen ein entsprechendes Objekt zeichnen möchten. Also berechnen wir die höchste Kerzen- und die niedrigste Kerzennummer. Die Funktion iHighest liefert uns die höchsten Kerzennummer. Die Funktion iLowest macht das gleiche für die niedrigste Kerzennummer. Diese 0 hier steht übrigens auch für das aktuelle Symbol auf dem Chart. Genauso wie dieser Parameter Symbol mit den Klammern dahinter. Wenn man diesen Begriff einmal markiert und die F1 Taste drückt, dann bekommt man hier auch die Information für das Symbol auf dem Chart. 0, alles in Großbuchstaben bedeutet das aktuelle Symbol. Das gleiche gibts dann nochmal für den Zeitrahmen. Hier bedeutet die Zahl 0 den Zeitrahmen des aktuellen Charts. Benutzen MODE_HIGH für die höchste und MODE_LOW für die niedrigste Kerze. Wir hätten gerne den Wert für 100 Kerzen. Unsere Startkerze ist die Kerze 1. Denn das ist die erste Kerze auf dem Chart, die vollständig abgeschlossen ist. Diese Kerze hier wäre Kerze 0, die ist gerade in Arbeit. Bei Kerze 1 gibt es bereits einen Schlusskurs und den wollen wir hier verwenden. Natürlich brauchen wir auch den höchsten und den niedrigsten Preis für die jeweilige Kerzennummer. Dazu greifen wir in unserem Array PreisInformation auf die höchste Kerzennummer zu, um den Höchstpreis zu ermitteln. Den niedrigsten Preis bekommen wir aus dem gleichen Array, diesmal für die niedrigste Kerzennummer. Und hier interessiert uns der niedrigste Preis. Und wenn der aktuelle Niedrigstpreis von der Kerze 0, also von der aktuellen Kerze kleiner ist als der niedrigste Preis, den wir für die letzten 100 Kerzen ermittelt haben, dann möchten wir gerne ein Objekt mit einem Pfeil aufwärts erzeugen. Das macht die Funktion ObjectCreate für aktuelle Symbol auf dem Chart. Hier haben wir übrigens die dritte mögliche Schreibweise für das Währungspaar auf dem Chart. Also man kann Symbol mit mit runden Klammern, eine groß geschriebene 0 oder Unterstrich Symbol benutzen. Der Name für unser Objekt wird die Nummer der Kerzenanzahl sein, die wir in einen Text umgewandelt haben. Wir hätten gerne einen Pfeil nach oben, den bekommen wir mit OBJ_ARROW_BUY. Diese 0 hier steht für unser Hauptfenster. Das bedeutet,
    8 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER BOLLINGER BANDS STANDALONE EA
    In diesem Video möchten wir uns einmal anschauen, wie man die Bollinger Bänder automatisieren kann. Wir erzeugen hier verkaufen und kaufen Signale, je nachdem, ob wir einen Ausbrauch oberhalb oder unterhalb der Bänder sehen. Und wir möchten uns einmal anschauen, wie man das mit MQL5 für den Metatrader programmieren kann. Um das zu tun, klicken Sie bitte auf diesen kleinen Button hier oben oder drücken die F4 Taste auf Ihrer Tastatur. Das ruft dann hier den Metaeditor auf und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplerBollingerBandsStandAloneEA. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und wir entfernen auch beide Kommentarzeilen. Zunächst nutzen wir hier den include Befehl, um die Datei Trade.mqh zu importieren. Die stellt Handelsfunktionen bereit. Unter anderem die Klasse CTrade, von der wir uns jetzt eine Instanz erstellen, die wir trade nennen. Damit werden wir gleich Positionen eröffnen. In der OnTick Funktion selbst erstellen wir uns eine string Variable mit dem Namen Signal. Die ist vom Typ string, damit sie Textketten aufnehmen kann. Wir weisen ihr aber zunächst noch keinen Wert zu, denn der wird noch ermittelt. Zunächst holen wir uns hier den Ask und den Bid Preis. Das geht mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Symbol_ASK liefert uns den ASK Preis. Symbol_BID liefert uns den BID Preis. Wenn Sie mal auf irgendein Währungspaar klicken, dann sehen Sie, dass wir hier zwei unterschiedliche Preislevel haben. Der höhere Preis ist der ASK Preis, den wir bezahlen müssen, wenn wir etwas kaufen. Der niedrigere Preis ist der BID Preis. Das ist das, was wir bekommen, wenn wir etwas verkaufen. Das dazwischen ist der Spread, daran verdient der Broker. Erstellen wir uns zunächst einmal ein Array für Preisdaten. Das machen wir mit der Funktion MqlRates. Unser Array bekommt den Namen PriceInfo. Das wird jetzt mit ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Und mit dem Befehl CopyRates für das aktuelle Symbol auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit, von der aktuellen für drei Kerzen mit den Preisdaten gefüllt. Das ganze Ergebnis speichern wir dann im Array. Damit haben wir alle Kursdaten zu den letzten drei Kerzen. Jetzt brauchen wir noch jeweils ein weiteres Array für den Expert Advisor. Uns interessiert hier das obere und das untere Band. Denn immer wenn der Preis hier oder hier ausbricht, dann möchten wir ein Signal erzeugen. Auch diese beiden Arrays werden mit ArraySetAsSeries wieder von der aktuellen Kerze an abwärts sortiert. Und jetzt definieren wir die Bollinger Bänder. Dazu nutzen wir die Funktion iBands, die in MQL5 eingebaut ist. Wieder für das aktuelle Währungspaar und die aktuell auf dem Chart eingestellte Zeiteinheit. Wir berechnen das für zwanzig Kerzen. Hier stehen noch ein Null und eine Zwei. Und wenn Sie sich einmal die Eigenschaften vom Bollinger Band Indikator anschauen, dann sehen Sie, dass die Standardwerte 20 Kerzen eine Verschiebung von Null und eine Abweichung von zwei beinhalten. Das sind die gleichen Zahlen, die wir auch hier verwenden. Und das Ergebnis wird ermittelt anhand der Schlusskurse der Kerzen. Zunächst einmal kopieren wir die Preisdaten in die Arrays. Das tun wir mit dem Befehl CopyBuffer anhand unserer BollingerBandsDefinition, die wir getroffen haben. Hier steht eine eins und da eine zwei. Das liegt daran, dass wir zwei Bänder hier berechnen müssen. Die eins steht für das obere, die zwei für das untere Band. Auch hier kopieren wir von der aktuellen Kerze für drei Kerzen und speichern die Werte in den beiden Arrays UpperBandArray beziehungsweise LowerBandArray. Die aktuellen Werte dafür bekommen wir, indem wir die Werte für Kerze Null aus dem jeweiligen Array auslesen. Um eine Überkreuzung mit den Bändern zu ermitteln benötigen wir aber auch noch die Werte für die Kerze davor.
    9 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER CROSSOVER TRADING ROBOT
    In diesem Video möchten wir uns einmal den Crossover Einstieg anschauen. Das ist einer der beliebtesten Einstiege. Wir handeln hier gerade zwei exponentielle gleitende Durchschnitte. Das hier ist ein 20-er Moving Average und das ist ein 50-er Moving Average. Und wenn die sich hier überkreuzen, dann werden Kaufen- oder Verkaufen Signale erzeugt. Und wir wollen uns einmal anschauen, wie man so was in MQL5 programmieren kann. Um das zu tun klicken wir bitte auf diesen kleinen Button im Metatrader oder drücken die F4-Taste. Das ruft dann hier den Meta Editor auf. Und hier wählen wir Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen SimplerCrossoverStandalone, klicke auf Weiter, Weiter und Fertigstellen. Und jetzt kann alles hier oberhalb der On Tick Funktion entfernt werden. Und die zwei Kommentarzeilen werden ebenfalls gelöscht. Zunächst einmal müssen wir die Datei Trade.mqh importieren. Denn damit erstellen wir uns eine Instanz von CTrade mit dem Namen trade. Damit werden wir gleich handeln. In der OnTick Funktion erstellen wir eine leere String Variable mit dem Namen entry. Die bekommt erst mal noch keinen Wert zugewiesen. Denn den möchten wir noch ermitteln. Dazu benötigen wir ein paar Daten. Zunächst einmal den Ask und den Bid Preis. Die liefert uns der Befehl Symbolinfodouble. Für das aktuelle Währungspaar, sowohl für den Ask, als auch für den Bid Preis. Und mit NormalizeDouble und Unterstrich Digits stellen wir sicher, dass wir die entsprechende Anzahl von Nachkommastellen ermitteln. Wie man sieht, gibt es hier Währungspaare mit drei Nachkommastellen und mit fünf Nachkommastellen. Und wenn man Unterstrich Digits markiert und F1 drückt, dann sieht man: Aha, Digits bewahrt die Anzahl von Ziffern nach dem Dezimalpunkt auf, die die Preisgenauigkeit des Symbols des laufenden Charts definiert. Jetzt brauchen wir noch ein Array mit Preisdaten für den 20-er und für den 50-er gleitenden Durchschnitt. Die beiden Durchschnitte berechnen wir uns mit der Funktion iMA für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Einmal für zwanzig und hier unten für fünfzig Kerzen. Es gibt auch eine horizontale Verschiebung des Indikators. Damit ließe sich die Darstellung hier nach rechts oder links verschieben. Das wollen wir aber nicht. Darum ist dieser Parameter hier eine 0. Mit Mode Unterstrich iMA holen wir uns den exponentiellen Moving Average. Und Preis Unterstrich close steht für den Schlusskurs. Wenn sie einmal auf Einfügen, Indikatoren, Tendenz, Moving Average klicken, dann finden Sie alles diese Informationen hier auch wieder. Hier würden wir dann fünfzig oder zwanzig Kerzen wählen. Die Verschiebung beträgt null. Exponentiell ist unsere Methode. Und berechnet wird auf den Schlusskurs. Im nächsten Schritt werden unsere beiden Moving Averages sortiert. Von der aktuellen Kerze an abwärts. Das macht der Befehl ArraySetAsSeries. Und mit CopyBuffer füllen wir anhand der MovingAverageDefinition die wir hier oben getroffen haben für die erste und einzige Linie unseres Indikators von der aktuellen Kerze null für drei Kerzen, unser MovingAverageArray für den 20-er und für den 50-er iMA mit Daten. Jetzt kommen wir zur eigentlichen Ermittlung des Signals. Wenn der 20-er Moving Average den 50-er von unten überschnitten hat, das wäre in diesem Fall, wenn der Moving Average 20 jetzt größer ist als der Moving Average 50. Und wenn der bei der letzten Kerze noch kleiner war als der Moving Average 50, dann möchten wir unserem Einstiegssignal gerne den Wert kaufen zuweisen. Im andern Fall, wenn der 20-er den 50- von oben überschnitten hat, dann also der 20-er MovingAverageArray für die aktuelle Kerze null kleiner ist, als der Moving Average für fünfzig Kerzen bei der aktuellen Kerze und vorher noch der 20-er Moving Average größer war als der 50-er, dann haben wir ein Einstiegssignal in die andere Richtung und möchten verkaufen. Fehlen noch die eigentlichen Befehle dafür.
    7 min
  • MQL5 Tutorial Deutsch – Simple While Schleife
    In diesem Video möchten wir uns einmal die While Schleife anschauen. Man kann mit der While Schleife Positionen eröffnen. Es gibt einen Unterschied zum If Statement. Und wir wollen uns in diesem Video einmal anschauen wie man das in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte auf diesen kleinen Button hier oder drücken Sie die F4-Taste im Metatrader. 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 Simple While Schleife, klicke auf Weiter, Weiter und Fertigstellen. Und jetzt kann alles oberhalb der On Tik Funktion gelöscht werden und auch die zwei Kommentarzeilen kommen weg. Damit wir überhaupt eine Position eröffnen können, erstellen wir uns erst einmal eine Instanz von CTrade. CTrade ist eine Hilfsklasse, die in der Datei Trade.mqh enthalten ist. Also importieren wir diese Datei mit dem Include Befehl und erstellen uns hier eine Instanz von CTrade, die den Namen Trade bekommt, handeln möchten wir, wenn keine offenen Positionen da sind. In MQL5 ermitteln wir das, indem wir abfragen, ob PositionsTotal gleich 0 ist. Und wenn das der Fall ist, dann möchten wir gerne eine BuyOrder eröffnen. Dazu erstellen wir hier eine separate Funktion. Die bekommt auch den Namen OpenBuyOrder, den wir hier aufrufen. Dazu ermitteln wir erst einmal den Ask Preis. Den liefert uns die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart und mit dem Parameter SYMBOL_Ask sagen wir, dass wir den Ask Preis brauchen, SYMBOL_BID würde uns den Bid Preis liefern. Der blaue Preis ist das, was ich bezahlen muss, wenn ich etwas kaufe. Der rote Preis ist das, was ich bekomme, wenn ich etwas verkaufe. Dieser Abstand hier wird Spread genannt und das ist es, woran der Broker verdient. Und nachdem wir jetzt hier den Ask Preis ermittelt haben, möchten wir gerne zehn Mikro Lot. Das tun wir mit Trade.Buy. 0.10 steht für zehn Mikro Lot. Wenn Sie sich für den Rest der Parameter hier interessieren, dann schauen Sie sich einfach einmal das Video Simpler Buy Trade an, dort werden die restlichen Parameter erklärt. Aber in unserem Fall geht es hier um If oder While. Also schließen wir die Funktion. Klicken hier auf Kompilieren oder drücken F7. Das hat ohne Fehler funktioniert und darum können wir jetzt hier klicken oder F4 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 dann unsere neu erstellte Datei SimpleWhileSchleife.ex5 aus. Ich deaktiviere hier einmal die Visualisierung. Und starte einen Test. Das geht in wenigen Sekunden. Hier ist unser Endergebnis. Wir haben 1.084,59 Euro Plus gemacht. Jetzt tauschen wir hier einmal das If Statement durch die WhileSchleife aus. Kompilieren nochmal, starten unseren Test erneut und haben hier das exakt selbe Ergebnis 1.084,59 Euro. Offensichtlich machen If und While das gleiche. Aber warum gibt es dann zwei Befehle. Um das zu prüfen, ändern wir hier einmal die Anzahl und prüfen, ob wir weniger als zehn offene Positionen haben. Danach müssen wir wieder kompilieren. Starten wir unseren Test also nochmal und diesmal haben wir einen Nettogewinn von 10.845,90 Euro gemacht. Machen wir das gleiche nochmal mit dem If Statement, kompilieren erneut, starten wieder unseren Test. Dann haben wir diesmal einen etwas abweichendes Ergebnis. Aber wie kann das sein? Wir haben doch hier nur die Anzahl der zu prüfenden Positionen geändert. Die Antwort auf diese Frage bekommen wir, wenn wir hier die Visualisierung aktivieren und den Test nochmal starten. Dann sehen wir hier, dass einzelne Positionen eröffnet werden, wenn wir das If Statement benutzen. Stoppen wir den Test mal an der Stelle und wechseln hier im Quelltext noch einmal auf While, kompilieren erneut, starten den Test erneut, dann sehen wir hier nur einen einzigen Strich und diese verschwommenen Buchstaben hier. Und das kommt davon,
    6 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLE ANGEPASSTE ZEIT FUNKTION
    In diesem Video möchten wir uns einmal anschauen, wie man einen eigenen Expert Advisor mit einer benutzerdefinierten Funktion schreiben kann, um die aktuelle Zeit im Strategietester in diesem Format hier auszugeben. Wie man sieht, haben wir hier ein lesbares Format mit Datum, Uhrzeit und Sekunden. Normalerweise wäre das nur eine Zahl. Und wir wollen uns einmal anschauen, wie man das in MQL5 so programmieren kann. Und um das zu tun, klicken Sie im MetaTrader bitte hier oben auf diesen kleinen Button oder drücken Sie 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 SimpleAngepassteZeitFunktion, klicke auf Weiter, Weiter und Fertigstellen. Und jetzt kann alles oberhalb dieser On Tick Funktion hier gelöscht werden. Wir entfernen auch die zwei Kommentarzeilen und im ersten Schritt erstellen wir uns eine Variable für die angepasste Zeit. Die bekommt auch den Namen angepasst Zeit. Aber zunächst noch keinen Wert zugewiesen. Denn den möchten wir noch ermitteln. Es handelt sich um eine String Variable, also eine Textkette. Und um die Zeit zu berechnen, rufen wir eine eigene Funktion auf, die soll berechneZeit heißen. Wenn wir das jetzt hier kompilieren, dann bekomme wir eine Fehlermeldung: Aha, die Funktion berechneZeit ist noch nicht definiert. Es handelt sich also nicht um eine mit MQL5 gelieferte Standardfunktion. Hinter dieser funktionsschließenden Klammer erstellen wir uns also eine neue Funktion, die soll uns eine Textkette zurückgeben und bekommt den Namen berechneZeit, den wir hier oben auch aufgerufen haben. Parameter müssen nicht übergeben werden. Innerhalb der beiden geschweiften Klammern für diese Funktion erstellen wir jetzt eine lokable String Variable für die Zeit inklusive Sekunden. Die nennen wir auch Zeit mit Sekunden. Viele Programmierer sparen sich ein paar Sekunden, indem Sie kryptische Bezeichnungen wie A oder B verwenden. Aber ich habe grundsätzlich die Erfahrung gemacht, dass wenn man nach ein paar Wochen den Quellcode erneut liest, die Kommentare über diesen Zeilen und die sprechenden Variablennamen eine ganze Menge Zeit sparen können. Denn sonst dauert es oft ziemlich lange bis man wieder versteht, was man damit eigentlich gemeint hat. Jetzt kommen wir zum interessanten Teil. Denn wir berechnen die lokale Zeit mit Datum und Sekunden. Das geht über die Funktion TimeLocal. Wenn Sie die einmal markieren und die F1-Taste drücken, dann stellen Sie fest, dass die lokale Zeit des Computers zurückgegeben wird. Wir übergeben hier noch zwei Parameter. Der erste heißt TIME_DATE. Damit bekommen wir eine Umwandlung des Wertes, der die Zeit in Sekunden enthält, die seit dem 01.01.1970 vergangen ist und zwar in diesem Ausgabeformat, aber hier fehlen uns noch die Sekunden, darum übergeben wir nach einem Pipe Zeichen hier den zweiten Parameter, die Konstante TIME_SECONDS. Liefert uns dieses Format hier zurück und genau so wollen wir es ja auch hier auf dem Chart sehen. Am Ende unserer selbstdefinierten Funktion berechneZeit, liefern wir noch die Zeit mit Sekunden zurück, die wir hier berechnet haben. Das machen wir mit dem Return Befehl. Der gibt die Zeit an die Hauptfunktion zurück. Und das Ergebnis wird dieser Variable hier zugewiesen. Und um das Ganze zu kontrollieren, nutzen wir den Comment-Befehl, um die angepasst Zeit unserer Chartausgabe für die berechnete Zeit hinzuzufügen. Gut, wenn Sie soweit fertig sind, dann können Sie hier oben auf kompilieren klicken oder die Taste F7 drücken. Das funktioniert ohne Fehler und Warnungen. Und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben auf den kleinen Button oder drücken F4, um zurückzukehren in den MetaTrader. Und im MetaTrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination STRG + R. Das ruft hier den Strategietester auf. Hier wählen wir die Datei SimpleangepassteZeitFunktion.ex5 aus.
    6 min
  • MQL5 TUTORIAL DEUTSCH – VORSICHT DATENVERLUST IM METATRADER
    In diesem Video geht es um die Dinge, die einem das Leben jeden Tag immer wieder schwer machen. Ich versuche an dieser Stelle einmal den Metatrader5 zu starten. Ich sehe auch kurz, dass das versucht wird, aber Windows ist nicht wirklich in der Lage, das Terminal zu starten. Klicken wir mal auf Dateipfad öffnen. Dann sehen wir hier eine Anwendung mit dem Namen Terminal64.exe. Hier drüber ist der Metaeditor. Probieren wir es mal damit. Auch hier passiert nichts. Und wenn wir uns den Task-Manager ansehen, dann ist vom Metatrader weit und breit nichts zu sehen. Irgendetwas ist hier schief gelaufen. Und jetzt stellen wir uns die Frage: Gestern ging es doch noch, was ist denn da passiert? Probieren wir es mal mit der Windows10 Funktion Vorgängerversionen wiederherstellen. Kompatibilität, jetzt werden Problembehandlungsoptionen angezeigt. Hier kann ich die empfohlenen Einstellungen testen. Klicke hier auf Programm testen, aber der Metatrader startet trotzdem nicht. Probieren wir das Ganze nochmal. Diesmal wähle ich Programmprobleme behandeln. Hat früher mal geklappt. Das Programm wird zwar geöffnet aber nicht angezeigt. Und für das Programm sind zusätzliche Berechtigungen erforderlich. Jetzt klicke ich auf Weiter. Nehme hier Windows7. Klicke nochmal auf Weiter, nochmal Weiter und wieder Weiter. Und jetzt klicken wir auf Programm testen. Trotzdem passiert hier nichts. Versuchen wir mal Metatester64 zu starten. Auch hier ist nichts zu machen. Klicken wir also auf unistall. Weiter, Fertigstellen. Rufen die Webseite metatrader5.com auf und laden uns die aktuelle Version herunter. Das geht hier über diesen grünen Button. Starten hier die Installation erneut. Klicken auf Weiter. Jetzt wird der Metatrader 5 hier neu installiert. Das geht sehr schnell. Nach einem Klick auf Fertigstellen ist der Metatrader 5 plötzlich wieder da. Aber jetzt habe ich nur noch ein Demokonto. Und alle meine automatisierten Programme sind weg. Auch meine Einstellungen für den automatischen Handel sind verschwunden. Aber Gott sei Dank speichere ich alle Sachen für den Metatrader immer in einem separaten Verzeichnis ab. Mir fällt es in diesem Fall also nicht schwer mein System wieder herzustellen. Aber falls bei Ihnen der Metatrader 5 einmal nicht startet, bitte stellen Sie sicher, dass Sie diesen Ordner hier vorher sichern, bevor Sie eine Neuinstallation vornehmen, denn sonst sind alle Ihre Expertenprogramme von jetzt auf gleich verschwunden.
    4 min
  • MQL5 TUTORIAL DEUTSCH – FORTGESCHRITTENER ICCI EXPERT ADVISOR
    In diesem Video möchten wir uns ansehen, wie man ein Einstiegsmodul auf Basis des Commodity Channel Index erstellt. Das hier ist der Commodity Channel Index Indikator. Es handelt sich um einen sog. Oszillator, das bedeutet, dass diese Signallinie hier zwischen zwei extremen Werten hin und her schwingt. Und, wenn immer die Linie sich oberhalb der oberen gestrichelten Linie befindet, dann ist das für ein Verkaufen-Signal und sobald diese Linie unterhalb der unteren gestrichelten Linie ist, dann ist es ein Kaufen-Signal. Wie kann man jetzt ein Einstiegsmodul erstellen, dass in der Lage ist, die Signale vom Commodity Channel Index auch tatsächlich zu handeln? Um das zu tun drücken Sie im Metatrader bitte auf diesen kleinen Button hier oder drücken Sie die F4-Taste. Das ruft hier den Metaeditor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier mal den Namen Check Entry_ICCI. Denn das ist auch das Modul, dass wir gleich aufrufen werden. Wir klicken auf Weiter, Weiter und Fertigstellen. Und jetzt kann alles oberhalb dieser OnTick Funktion hier entfernt werden. Und das gilt auch für die zwei Kommentarzeilen. Aus der OnTick Funktion machen wir im ersten Schritt eine StringCheckEntry Funktion. Die soll unser Signal zurückliefern. Dafür erstellen wir eine Variable, die eine Textkette aufnehmen kann. Diese Variable bekommt den Namen Signal, aber noch keinen Wert. Jetzt erstellen wir ein Array für unsere Preisdaten. Das nennen wir hier myPriceArray. Unser Array ist vom Typ Double, damit es auch Nachkommstellen aufnehmen kann. Und jetzt rufen wir die Funktion ICCI auf. Die ist in MQL5 eingebaut und benötigt einige Parameter. Der erste Parameter _Symbol steht für das Währungspaar auf dem Chart. Der zweite Parameter _Period steht für die Zeiteinheit, die wir auf dem Chart verwenden, also beispielsweise das Minutenchart oder das Stundenchart. Diese 14 hier steht für die Anzahl der Kerzen, die wir berechnen möchten. Und wir möchten als Berechnungsgrundlage einen typischen Preis nutzen. Wenn wir hier im Metatrader einmal auf Einfügen, Indikatoren, Oszillatoren, Commodity Channel Index klicken, dann finden wir die 14 Kerzen und den typischen Preis auch hier in den Standardeigenschaften wieder. Danach sortieren wir die Daten in unserem PriceArray von der aktuellen Kerze an abwärts. Das geht mit ArraySetAsSeries für das Array, was wir hier oben erstellt haben. Und der Befehl CopyBuffer hilft uns, für unsere ICCIDefinition für das aktuelle Buffer, also die blaue Signallinie von der aktuellen Kerze 0 für 3 Kerzen unsere Daten im PriceArray zu speichern. Jetzt berechnen wir den Wert für die aktuelle Kerze, indem wir auf Kerze 0 im PriceArray zugreifen. Und das Ergebnis weisen wir der Variable ICCIValue zu. Und wenn unser ICCIValue größer ist als 100, dann bedeutet das, dass sich unsere Signallinie hier oberhalb der gestrichelten oberen Linie befindet. Hier ist der Wert 100 auch zu sehen. Und wenn das der Fall ist, dann weisen wir unserer Signal Variable hier den Wert Verkaufen zu. Natürlich gibt es auch den anderen Fall, wenn unsere ICCIValue Variable kleiner ist als -100, das trifft zu, wenn diese Signallinie unter der unteren gestrichelten Linie ist, dann wäre das für uns ein Kaufen Signal und darum weisen wir dann den Wert Kaufen unserem Signal zu. Zum Schluss geben wir mit dem Return Befehl unser Signal noch an das Hauptmodul zurück. In meinem Fall ist das Hauptmodul das Forex Trading Framework. Das ruft hier mit dem Include Befehl unser neu erstelltes Einstiegsmodul auf und wenn Sie selbst kein Framework haben, dann können Sie sich die Demoversion auf meiner Seite herunterladen oder Sie nutzen ein eigenes Hauptmodul. Das Framework ist grundsätzlich eine Sammlung von Funktionen, die in der Lage sind, Trades zu verwalten und neue Positionen zu öffnen. Damit kann man so ziemlich jeden beliebigen Einstieg traden. In unserem Fall den ICCI, also den Commodity Channel Index Indikator.
    7 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER COMMODITY CHANNEL INDEX
    In diesem Video möchten wir uns den Commodity Channel Index anschauen, das ist dieser oszillierende Indikator hier unten. Der gibt uns Kaufen oder Verkaufen Signale aus, je nachdem, ob diese blaue Linie sich oberhalb dieser oberen gestrichelten Linie oder unterhalb der unteren gestrichelten Linie aufhält. Immer wenn die obere Linie nach oben durchbrochen wird, dann ist unser Währungspaar überkauft und wir möchten Verkaufen. Im anderen Fall, wenn die blaue Linie hier unterhalb der unteren gestrichelten Linie verläuft, dann generiert das für uns ein Kaufsignal. Wie lässt sich jetzt der Commodity Channel Index Indikator programmieren? Nun um das zu tun, kicken Sie bitte hier oben auf diesen kleinen Button im Metatrader oder drücken Sie F4 auf Ihrer Tastatur. Das ruft dann hier das Metaeditor Fenster auf. Hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage, Weiter, ich vergebe hier einmal den Namen SimplerCommodityChannelIndex, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier entfernt werden, und wir löschen auch die zwei Kommentarzeilen. Zunächst einmal erstellen wir uns eine Variable für unser Signal, die ist vom Typ String und bekommt auch den Namen signal. Den Wert weisen wir noch nicht zu, denn den möchten wir gleich berechnen. Außerdem brauchen wir noch ein Array für Preisdaten, das nennen wir hier mal myPriceArray. Danach definieren wir mal unseren Expert Advisor mit der eingebauten MQL5 Funktion iCCI. Die übernimmt als Parameter das aktuelle Währungspaar auf dem Chart, die dort eingestellte Zeiteinheit und diese 14 hier die sieht man auch in den zwei runden Klammern. Wenn Sie im Metatader auf Einfügen, Indikatoren, Benutzerdefiniert, CCI klicken, dann sehen wir hier unterhalb der Eingabe die Periode mit 14 Kerzen. Wir nutzen in der Standartkonfiguration einen typischen Preis, darum ist dieser Parameter hier die 14 für die Kerzenanzahl, das hier ist PRICE_TYPICAL,denn so kommen wir an den Wert für den aufgestellten Preis. PREIS_CLOSE würde uns den Schlusskurs liefern, in der Hilfe steht leider fälschlicherweise Eröffnungspreis, das wäre allerdings PRICE_OPEN. Leider ist die Übersetzung der MQL5 Hilfe an vielen Stellen suboptimal, vor allen Dingen solche Sätze hier verwirren Sie eher, als Ihnen zu helfen, aber das lässt sich leider nicht ändern. Nachdem wir das jetzt getan haben, sortieren wir unsere Preisdaten mit dem Befehl ArraySetAsSeries für unser Preis Array, das wir hier oben erstellt haben, von der aktuellen Kerze an abwärts und jetzt können wir mittels CopyBuffer unser Preis Array anhand unserer hier getroffenen ICCI Definition für den Buffer null, das ist hier diese blaue Linie, von der aktuellen Kerze null für drei Kerzen mit Daten füllen. Okay, ermitteln wir den Wert der aktuellen Kerze, indem wir auf Kerze null von unserem Preis Array zugreifen und weisen das Ergebnis der Variable ICCI Wert zu. Wenn der ICCI Wert größer ist als der Wert 100, dann weisen wir unserer Signalvariable den Wert Verkaufen zu. Im umgekehrten Fall, der ICCI Wert wäre kleiner als -100, dann möchten wir gerne Kaufen und auch dieser Wert wird unserer Signalvariable zugewiesen. Zum Schluss erzeugen wir noch eine Chartausgabe, das geht mit dem Comment Befehl und der gibt uns den Text Signal, gefolgt von dem ermittelten Wert für unser Signal direkt links oben auf dem Chart aus. Bitte vergessen Sie nicht diese schließende Klammer. Wenn Sie soweit fertig sind, dann können Sie hier oben auf Kompilieren klicken oder auf die F7 ihrer Tastatur drücken. Das funktioniert hier ohne Fehler, wir haben hier eine Warnung, weil wir hier einen float Wert benutzen. Eigentlich wäre das ein double Wert, solche double Variablen können deutlich mehr Nachkommastellen aufnehmen. Da wir hier aber prüfen, ob etwas größer ist als 100 oder kleiner als -100, kommt es auf die Anzahl der Nachkommastellen nicht an. Wenn Sie hier also keine Fehler haben, dann klicken Sie bitte auf diesen Button hier oben oder drücken...
    6 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER POSITIONS MULTIPLIKATOR
    In diesem kurzen Video wollen wir uns anschauen, wie man mehr als eine Position mit einem einfachen Multiplikator traden kann. Wie man sieht, handelt unser Expert Advisor hier nur eine einzige Position. Wir haben hier eine externe Variable, die stellen wir jetzt auf 5. Jetzt kann unser Expert Advisor auf einmal 5 Positionen handeln und wir möchten uns in diesem Video einmal anschauen, wie man so etwas programmiert. Um das zu tun, drücken sie bitte diesen kleinen Button hier oder drücken Sie F4 im Metatrader, das ruft dann hier den Metaeditor auf und hier wählen wir Datei, Neu, Expert Advisor aus Vorlage, Weiter, ich vergebe hier einmal den Namen SimplerPositionsMultiplikator, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Zunächst importieren wir die Standard Trade Library, die ist im Umfang von MQL5 bereits enthalten. Damit kann man eine Ctrade Instanz erstellen, die ermöglicht uns unter dem Namen trade ganz einfach Positionen zu eröffnen. In diesem einfachen Beispiel wollen wir das nur in eine Richtung tun, dazu ermitteln wir zunächst einmal den Ask Preis, das tun wir mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar. Mit diesem Begriff hier SYMBOL_ASK bekommen wir den Ask Preis und mittels NormalizeDouble und _Digits sorgen wir dafür, das wir bei den entsprechenden Währungpaaren entweder drei Nachkommastellen oder fünf Nachkommastellen erhalten. Macht man einen Doppelklick auf so eine Währung, dann sieht man hier unten den blauen Preis und hier oben den roten Preis. Wenn man etwas kaufen will, muss man grundsätzlich immer mehr dafür bezahlen und wenn man etwas verkaufen will, dann bekommt man immer weniger dafür. Der Abstand dazwischen ist der sogenannte Spread, daran verdient der Broker. Im nächsten Schritt erstellen wir uns ein Preisarray, das geht mit der Funktion MQLRates, das sortieren wir mittels ArraySetAsSeries von der aktuellen Kerze an abwärts und mit dem Befehl CopyRates führen wir für das aktuelle Chart und die auf diesem Chart ausgewählte Zeiteinheit von aktuellen Kerze null für drei Kerzen und speichern das Ergebnis in unserem Preisarray. Jetzt kommt die Definition für unseren Einstieg. Wir möchten einsteigen, wenn der letzte Schlusskurs höher war, also wenn die Kerze zwei einen höheren Schlusskurs hatte, als die Kerze eins. Außerdem fragen wir ab, ob die Positionsanzahl für alle Positionen kleiner ist, als die von uns definierte maximale Positionsanzahl und sofern das der Fall ist, möchten wir gerne kaufen, in diesem Fall zehn Mikrolot. Die ganzen Parameter hier können Sie sich in dem Video für den einfachen BuyTrade anschauen. Grundsätzlich ist es so, dass wir hier die Lotgröße angeben und das hier ist unser Take Profit, der liegt 150 Punkte über dem aktuellen Kaufpreis. Jetzt klicke wir hier auf Kompilieren oder drücken F7, oh, wir haben einen Fehler. PositionsAnzahl ist nicht definiert, das holen wir noch schnell nach, indem wir hier oben eine int Variable mit dem sogenannten Modifieer input erstellen. Input sorgt dafür, dass wir eine extern verstellbare Variable bekommen, die nennen wir PositionsAnzahl und die wird in der Originaleinstellung auf 1 gesetzt. Klicken wir nochmal auf Kompilieren, dann geht das hier ohne Fehler. Wenn das bei Ihnen auch so ist dann klicken Sie bitte hier oben. Im Metatrader klicken wir auf Ansicht, Strategietester. Hier wählen wir nun unsere neue Datei aus, markieren die Option für die Visualisierung und über die Reiterkarte Eingaben können wir unsere PositionsAnzahl einmal auf 15 stellen. Jetzt starten wir einen Test und wie man sieht, werden jetzt jede Menge Positionen eröffnet und gehandelt und Sie haben das selbst programmiert mit diesen paar Zeilen in MQL5.
    5 min

About MQL5 Tutorial - Automatisch traden mit Metatrader5

From the publisher's feed

Metatrader5 MQL5 Expert Advisor Tutorial