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 – LEVEL 1B SO ERSTELLEN SIE IHRE EIGENE ALGO TRADING SYSTEM FARM
    Willkommen zu unserer neuen Dokumentationsreihe über die Erstellung Ihrer eigenen Algo Trading System Farm.    Wir verwenden automatisierte Stimmen und Technologien, um Ihnen zu helfen, Ihre Ergebnisse schneller und mit weniger Aufwand zu verbessern.    Okay, fangen wir an!    Heute werden wir mit dem Aufbau unserer Infrastruktur beginnen, so dass wir am Ende dieses Kurses eine automatisierte Trading System Farm haben werden.    Bis dahin wird es noch einige Zeit dauern, denn ich werde nicht jeden Tag Informationen zu diesem Thema beisteuern können.    Dafür gibt es verschiedene Gründe.    Der erste Grund ist die derzeit recht angespannte politische Lage hier in meiner Gegend.    Das zweite Problem ist, dass wir uns mit einigen gesundheitlichen Problemen auseinandersetzen müssen.     Wir sind zum Beispiel gerade in einer Situation, in der mein Vater mit einem Schlaganfall und einer Halbseitenlähmung zu kämpfen hat und in ein Heim eingewiesen wurde.    Das dritte Problem betrifft wirtschaftliche Aspekte.    Als wirtschaftlich orientiertes Unternehmen müssen wir natürlich bestimmte Dinge in einer bestimmten Reihenfolge tun, damit der Nettobedarf und die Kosten unter dem Strich gedeckt werden können.    Im Klartext heißt das, dass dieses Projekt nach und nach abgeschlossen wird, aber im Moment können wir aufgrund der oben genannten Umstände nicht sagen, wie schnell oder langsam die Aktualisierung erfolgen wird.    Die meisten Betrachter werden wahrscheinlich bereits ein Betriebssystem haben, das sie weiter verwenden möchten.    In unserem Fall werden wir jedoch ein 10 Jahre altes Netbook verwenden und die Software installieren, die wir derzeit für die beste Lösung für diejenigen halten, die sich noch nicht für ein Betriebssystem als einzige Option entschieden haben.    Diese Software ist eine auf Debian basierende Linux-Distribution namens MX Linux.    MX Linux hat es in den letzten Monaten geschafft, den ersten Platz auf der Liste der beliebtesten Linux-Distributionen einzunehmen.    Und der Grund dafür ist ganz einfach, mit dieser Software können Sie viele Dinge tun, die mit anderen Linux-Distributionen nur sehr schwer möglich sind.    Viele Dinge funktionieren bereits nach der ersten Installation, die Hardware wird sehr gut erkannt, selbst wenn die Geräte mehr als 10 Jahre alt sind.    Darüber hinaus ist MX Linux in der Lage, eine sehr moderne und aktuelle Version von Linux mit sehr wenigen Ressourcen auszuführen, ohne sich den ganzen Tag mit irgendwelchen Kommandozeilenbefehlen herumschlagen zu müssen.    Im Klartext bedeutet das für alle, die MX Linux nutzen wollen, dass Sie die Vorteile mehrerer Welten kombinieren und trotzdem ein leistungsstarkes und einfach zu bedienendes Betriebssystem nutzen können, ohne Lizenzgebühren zahlen zu müssen.    Wir haben in den letzten Jahren mehrere verschiedene Linux-Varianten für unser eigenes Unternehmen ausprobiert und meistens stößt man irgendwann an eine Grenze, die es einem nicht erlaubt, weiterzumachen.    In diesem Fall ist es relativ einfach zu implementieren, Sie brauchen keine besonderen Kenntnisse.   Und für MX Linux gibt es so viele hilfreiche Dokumente im Internet, dass selbst Anfänger damit besser zurechtkommen sollten als mit Windows.    Die Oberfläche und das Aussehen lassen sich vollständig an Ihre eigenen Wünsche anpassen, so dass Sie selbst als MacBook-Benutzer der Meinung sein könnten, ein aktuelles System von Apple zu verwenden.    Aber das ist für uns eigentlich nicht so wichtig.    Für uns ist es viel wichtiger, dass so ziemlich alle Hardware, die in den letzten zehn Jahren auf den Markt gekommen ist, unterstützt wird, und das schließt auch das inzwischen 12 Jahre alte Netbook ein, das wir dafür verwenden.     Sie sollten in der Lage sein, jedem einzelnen Schritt problemlos zu folgen.   Diese Dokumentationsreihe könnte also für einige Leute ein wenig lang sein, wenn sie bereits mit Linux vertraut sind.    Aber viele Menschen sind bisher noch nicht mit Linux in ...
    6 min
  • MQL5 TUTORIAL DEUTSCH – LEVEL 1A SO ERSTELLEN SIE IHRE EIGENE ALGO TRADING SYSTEM FARM
    Willkommen zu unserer neuen Dokumentationsreihe über die Erstellung Ihrer eigenen Algo Trading System Farm. Wir verwenden automatisierte Stimmen und Technologien, um Ihnen zu helfen, Ihre Ergebnisse schneller und mit weniger Aufwand zu verbessern. Dies ist ein neues Projekt, das mich schon eine Weile beschäftigt und in den letzten Wochen wurde ich immer wieder gefragt, ob und in welcher Form etwas Neues von mir zum Thema Algo Trading erscheinen wird. In der Tat habe ich einige Monate mit einem anderen Projekt über automatische Kundenakquise verbracht und dieses Projekt ist seit dieser Woche abgeschlossen. Also habe ich mir überlegt, was ich jetzt machen möchte und beschlossen, das Thema Algo Trading System Farm hier als Dokumentation in Angriff zu nehmen. Ziel dieser Dokumentation sollte es sein, mit ein paar Minuten Aufwand täglich eine Infrastruktur zu schaffen. Diese Lösung soll es Ihnen ermöglichen, auf einem beliebigen Betriebssystem mehrere Algo Trading Systeme für Metatrader zu betreiben, die in der Lage sind, 24 Stunden rund um die Uhr auf bis zu 22 Charts vollautomatisch zu handeln. Ganz gleich, ob Sie dies auf einem Windows-PC, einem Linux-Computer oder einem MacBook tun wollen. Und egal, ob Sie mit MetaTrader 4 oder MetaTrader 5 handeln möchten. Für alle diese Lösungen wird es hier eine Möglichkeit geben, die auch auf Ihrem eigenen Computer funktioniert. Wir werden eine Variante verwenden, die sehr wenig Ressourcen verbraucht und sogar auf einem 10 Jahre alten Netbook läuft. Das bedeutet, dass Sie jetzt in den Keller gehen und Ihren alten PC von vor 10 Jahren wiederbeleben und ihn für Ihr eigenes automatisiertes Handelssystem mit Metatrader verwenden können. Wir werden Schritt für Schritt vorgehen und die Möglichkeiten nutzen, die die moderne Technologie heute bietet. Dazu gehört auch, dass ich für diese Inhalte hier Technologien verwende, die es mir ermöglichen, die erstellten Videos in mehreren Sprachen und auch vollautomatisch zu synchronisieren. Für den englischen MQL5-Kanal werde ich meine eigene Stimme verwenden, aber für andere Sprachen und den MQL4-Kanal werde ich automatische Lösungen einsetzen. Okay, das war’s für heute. Wenn Sie Fragen oder Anregungen zu den Inhalten in diesem Video haben, können Sie mir gerne eine E-Mail schicken. Ich antworte immer persönlich auf E-Mails und normalerweise innerhalb von 24 Stunden. Wenn Sie einfach nur Ihre Ergebnisse mit dem automatischen Handel verbessern wollen, dann abonnieren Sie unseren YouTube-Kanal. Wenn Sie schnellere und bessere Ergebnisse erzielen wollen, dann schauen Sie sich den Premium-Kurs auf unserer Website an. Vorerst bedanke ich mich für Ihre Aufmerksamkeit und wir sehen uns im nächsten Video!
    3 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER MAUSKLICK EVENT
    In diesem Video geht es um eine ziemlich banale Sache und zwar um einen simplen Mausklick. Wir möchten an dieser Stelle einmal einsteigen in das Thema Event Behandlung. Ein Event, also ein Ereignis wird immer ausgelöst, wenn ich mit dem Chart in irgendeiner Form interagiere. In diesem Fall möchten wir einmal mit der Maus irgendwo klicken und wenn ich das tue, wird hier oben ein Text angezeigt. Die Maustaste wurde an folgenden Koordinaten gedrückt x= 370, y=110. Wenn ich hier oben links in die Ecke klicke, dann sieht man dass die Koordinaten deutlich kleiner sind. Klicken wir mal hier in die Mitte vom linken Rand, dann sieht man, dass x=0 und y= 282 ist. Wenn ich hier oben an den Rand klicke dann ist Y=1 und X=444. Und so gibt es hier für jede Position auf dem Chart Koordinaten, mit denen man bestimmte Punkte ansteuern kann und wir wollen uns in diesem Video einmal anschauen, wie man so einen Mausklick und die entsprechenden Koordinaten über sogenannte Events in MQL5 verarbeiten kann. Um das zu tun, klicken Sie bitte hier oben auf diesen kleinen Button, oder drücken Sie die F4 Taste auf Ihrer Tastatur. 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: „Simpler Mausklick“, klicke auf weiter, weiter und Fertig stellen und jetzt kann alles oberhalb dieser OnTick Funktion gelöscht werden. Das gilt auch für die zwei Kommentarzeilen. OnTick nutzen wir ja immer dann, wenn wir darauf warten, dass eine Preisänderung auf dem Chart ausgelöst wird. Auch das ist eine Art von Ereignis. Dieses Ereignis brauchen wir diesmal gar nicht. Wir nutzen OnChartEvent. Hier werden mehrere Parameter übergeben. Der erste Parameter ist die sogenannte Event ID, als zweiter Parameter wird ein Long Wert übergeben. Der dritte Wert ist ein Double Wert und der vierte Wert ist ein String. Alle diese Werte bekommen einen entsprechenden Namen. Der Long Wert heiß lparam, der Double Wert heißt dparam und der String Wert heißt sparam. Das L steht für Long, das D für Double und das S für String. Jetzt möchten wir gerne etwas auslösen, wenn die linke Maustaste auch geklickt wurde. Um das herauszufinden, prüfen wir, ob die ID das Ereignis ChartEvent_Click übergeben hat. Wenn man das einmal markiert und die F1 taste drückt, dann sieht man hier in der Hilfe, dass es durchaus noch andere Events gibt, zum Beispiel, wenn die Maus bewegt wird, oder wenn eine Taste gedrückt wird. Auch für Objekte gibt es für das Erstellen Verändern, Löschen Anklicken und auch für das Ziehen entsprechende Ids. In unserem Fall eben auch für den Klick und wenn wir einen Klick feststellen, dann möchten wir mit der Comment Funktion auf unserem Chart den Text:“ Die Maustaste wurde an folgenden Koordinaten gedrückt“ ausgeben. Die X-Koordinate liefert uns unser Long-Parameter, die Y-Koordinate liefert der D-Parameter. Bitte nicht hier unten die schließende Klammer vergessen und wenn Sie soweit fertig sind, dann können Sie hier oben auf kompilieren klicken, oder die F7 Taste drücken. Das hat hier ohne Fehler und Warnungen funktioniert, also können wir auf diesen kleinen Button hier drücken, oder mit F4 zurückkehren in den Metatrader. In den meisten Fällen würden wir jetzt auf Ansicht und Strategietester klicken. Hier lässt sich auch unser Programm auswählen. Wenn wir hier den Test aber starten, dann bekommen wir bei Mausklicks keinerlei Ausgabe auf dem Chart, deswegen ziehen wir in unserem Fall einfach hier aus dem Fenster unseren Expert Advisor rechts auf das Chart, werden gefragt, ob wir die aktuelle Version austauschen möchten. Ich bestätige erst mal mit Ja. Im Moment steht noch hier oben, dass dies ein Demo Account ist, aber sobald ich hier irgendwo mit der Maus klicke, kommt mein Text: „Die Maustaste wurde an folgenden Koordinaten gedrückt“ und Sie haben in diesem kleinen Video gelernt, wie Sie mit der Maus jeden einzelnen Punkt auf dem Chart ansteuern und die Koordinaten auslesen können.
    6 min
  • MQL5 TUTORIAL GRUNDLAGEN – 125 SIMPLER ATR SELL TRAILING STOP
    In diesem Video wollen wir uns einmal anschauen, wie man für den Average True Range Indikator einen Sell Trailing Stop programmieren kann, der nachgezogen wird, wenn der der Wert für diesen Indikator hier sinkt. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL5 programmieren kann. Um das zu tun, klicken Sie im MetaTrader bitte 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 einmal den Namen SimplerAverageTrueRangeSellStop, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier entfernt werden und auch die zwei Kommentarzeilen werden gelöscht. Wir starten mit einer include-Funktion für die Datei Trade.mqh.   Diese Datei ist im Umfang von MQL5 enthalten und sie enthält die Klasse CTrade von der wir uns hier eine Instanz mit dem Namen trade erstellen. Außerdem benötigen wir einige Variablen. Die Erste ist für den Basis Stop Point Wert, die Zweite ist für den berechneten Stop Point Wert und die dritte Variable ist der Bid Preis. Den nutzen wir diesmal als globale Variable. Alle Variablen, die außerhalb einer Funktion deklariert werden stehen für alle Funktionen zur Verfügung. Innerhalb der OnTick-Funktion erstellen wir uns jetzt eine Signal-Variable. Die ist vom Typ string, aber wir weisen hier noch keinen Wert zu. Danach berechnen wir den Bid Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart.   Wir nutzen SYMBOL_BID und mit NormalizeDouble und _Digits stellen wir sicher, dass die richtige Anzahl von Nachkommastellen für das jeweilige Währungspaar ermittelt werden. Als nächstes erstellen wir ein PriceArray für unsere Preisdaten und für die Definition unseres Average True Range Indikators nutzen wir die eingebaute Funktion iATR. Die benötigt einige Parameter. Der erste Parameter ist das aktuelle Währungspaar. Der zweite Parameter die auf diesem Währungspaar ausgewählte Zeiteinheit und wir möchten das Ergebnis anhand von 14 Kerzen berechnen. Mit der Funktion ArraySetAsSeries sortieren wir unser PriceArray jetzt von der aktuellen Kerze an abwärts. Und mit der Funktion CopyBuffer füllen wir unser PriceArray mit Daten. Anhand der Definition, die wir hier oben getroffen haben, möchten wir für Buffer 0, das ist die Signallinie, von der aktuellen Kerze 0 für drei Kerzen die Daten in unserem PriceArray speichern.   Jetzt können wir den aktuellen Average True Range Wert berechnen, in dem wir auf Kerze 0 in unserem PriceArray zugreifen und mit NormalizeDouble und fünf Nachkommastellen stellen wir sicher, dass die Darstellung so ist wie auch auf dem Chart zu sehen. Denn hier wird für den Indikator auch das Ergebnis mit fünf Nachkommastellen angezeigt. Wir benötigen auch eine statische Variable vom Typ double für den alten Wert. Und wenn der aktuelle Average True Range Wert kleiner ist als der alte Wert, dann haben wir ein Verkaufssignal und dann setzen wir unser Signal auf sell und wenn wir ein Verkaufssignal haben und die Anzahl der Positionen kleiner ist als 1, dann bedeutet das, wir haben keine offenen Positionen, aber ein Verkaufssignal und dann nutzen wir trade.Sell, um eine Testposition von 10 Microlot zu eröffnen. Das hier machen wir auf einem Demokonto, und zwar deshalb damit wir sehen können, ob unser Trailing Stop funktioniert, denn dazu benötigen wir eine geöffnete Position. Wir ermitteln den Wert für den Trailing Stop in dem wir hier eine benutzerdefinierte Funktion mit dem Namen CheckATRSellTrailingStop aufrufen und ihr den Parameter für den Average True Range Value übergeben. Diese Funktion existiert aber noch nicht, also müssen wir die gleich programmieren. Vorher fügen wir noch eine Chartausgabe mit dem Comment-Befehl hinzu.   Die wird uns das aktuelle Signal, den Average True Range Wert und den berechneten Stop Point Wert ausgeben.
    10 min
  • MQL5 TUTORIAL GRUNDLAGEN – 124 SIMPLE ORDER CLOSE TIME
    In diesem Video wollen wir einmal herausfinden, wie man die Zeit für die Schließung von bereits abgeschlossenen Positionen ermitteln kann. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL5 programmiert. 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 einmal den Namen SimplerOderCloseZeit, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir die Datei Trade.mqh importieren. Die ist Bestandteil von MQL5 und sie ermöglicht uns hier eine Instanz der Klasse CTrade zuz erstellen. Innerhalb der OnTick Funktion ermitteln wir zunächst den Ask Preis und den Bid Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen entweder SYMBOL_ASK oder SYMBOL_BID. Und mit NormalizeDouble und _Digits stellen wir sicher, dass die richtige Anzahl von Nachkommastellen berechnet wird. Im Anschluss möchten wir gerne prüfen, ob wir keine offenen Positionen haben. Das wäre der Fall, wenn PositionsTotal keiner ist als eins. Und wenn dem so ist, dann möchten wir hier Testpositionen eröffnen. Das würde man natürlich auf einem Echtgeldkonto nicht tun. Aber dafür sind Demo-Konten ja geeignet. Und wenn wir keine Positionen eröffnen, dann können wir natürlich auch kein Datum für die Zeit der Schließung ermitteln. Das möchten wir mit einer separaten Funktion erledigen. Die bekommt den Namen GetCloseTime, aber existiert noch nicht. Also müssen wir die jetzt programmieren. Unsere benutzerdefinierte Funktion hat keinen Rückgabewert. Darum nutzen wir hier void. Wir übergeben auch keine Parameter. Wir brauchen für die Berechnung einige Variablen. Ich habe diese hier auch in einem anderen Video verwendet. Eventuell benötigen Sie nicht alle davon. Für unsere Berechnung greifen wir hier auf die Order Historie zu. Und mit einer for-Schleife gehen wir alle Positionen durch. Danach möchten wir gerne mit Hilfe von HistoryDealGetTicket die Ticket Nummer der jeweiligen geschlossenen Position ermitteln, sofern diese größer ist null. Denn dann können wir uns einige Eigenschaften zur jeweiligen Position holen. Der Order Profit wird mit Hilfe der Funktion HistoryDealGetDouble für das aktuelle Ticket berechnet. Hier nutzen wir als Parameter DEAL_PROFIT. Für den Order Typ funktioniert das ganz ähnlich. Das machen wir mit HistoryDealGetInteger für die Ticket Nummer. Und hier nutzen wir DEAL_TYPE. Außerdem möchten wir gerne wissen, ob das Währungspaar zum Chart passt. Darum ermitteln wir hier mit HistoryDealGetString für die Ticket Nummer noch das aktuelle Symbol. Das geht mit DEAL_SYMBOL. Jeder Deal hat auch einen Entry Wert. Den ermitteln wir mit HistoryDealGetInteger für die Ticket Nummer und nutzen DEAL_ENTRY. Jetzt kommen wir zum interessanten Teil. Die DealTime ermitteln wir mit HistoryDealGetInteger für die Ticket Nummer und nutzen DEAL_TIME. Da das aber einen Integer Wert zurückliefert, der für Menschen schlecht zu lesen ist, konvertieren wir das Ganze mit TimeToString in ein lesbares Format für die DealTime. Dazu nutzen wir hier TIME_DATE und TIME_SECONDS. Weiter geht es mit der Überprüfung, ob unsere Position auch zum aktuellen Währungspaar auf dem Chart passt. Außerdem möchten wir noch wissen, ob der OrderType entweder ORDER_TYPE_BUY oder ORDER_TYPE_SELL ist. Denn, es gibt auch sogenannte Pending Orders, also noch nicht ausgeführte Order Typen. Und für die möchten wir hier nichts ermitteln. Uns interessiert, ob die Order geschlossen wurde. In dem Fall ist der Wert für DealEntry gleich eins. Und wenn das zutrifft, kalkulieren/ dann ermitteln wir hier ein Resultat, indem wir die ganzen einzelnen Werte zusammenhängen und den Profit,
    8 min
  • MQL5 TUTORIAL GRUNDLAGEN – 123 WIE MAN FEHLER IN GROSSEN JOURNAL DATEIEN FINDET
    In diesem Video möchten wir uns einmal mit dem Thema Fehlersuche beschäftigen. Das hier ist ein Sell Trailing Stop, aber der bewegt sich leider nicht. Es liegt also ein Fehler vor und ich würde gerne wissen, woran das liegt. Man kann so auf den ersten Blick nichts erkennen, auch wenn wir in die Historie schauen, dann sehen wir nur, dass der Trailing Stop sich nicht bewegt hat. Auch auf dieser Reiterkarte hier, lässt sich nichts finden. Nur wenn wir ins Journal gucken, dann sehen wir, dass hier Fehler auftreten. Die sieht man von Zeit zu Zeit. Es kann allerdings auch sein, dass über einen längeren Zeitraum überhaupt keine Fehler auftreten. Und wenn man dann nicht direkt ins Journal schaut, dann kann man sich hinterher nur die Frage stellen, was da schief gegangen ist. Wir halten jetzt hier mal kurz den Test an. Es kann sein, dass das noch eine Zeit lang dauert, bis alle Einträge ins Journal geschrieben worden sind.   Da kommen wirklich große Dateien bei raus. Ich glaube jetzt sind alle Einträge fertig und wir klicken jetzt einfach in das Journal mit der rechten Maustaste auf einen Eintrag und wählen hier Öffnen aus, dann wird hier im Explorer eine Datei angezeigt. Die ist von heute, man kann das hier an diesem Datum erkennen. Und wenn man den Mauszeiger einmal über diese Datei hält, dann sieht man, dass die ziemlich groß ist. Wenn ich jetzt auf die rechte Maustaste klicke und Öffnen sagen, dann wird mein Windows-System wahrscheinlich abstürzen, denn solche großen Dateien lassen sich mit der mitgelieferten Notepad Applikation nicht so gut durchsuchen. Ich werde jetzt stattdessen dieses Programm hier verwenden. Das heißt Notepad++. Das ist eine kostenlose Software die man sich bei Webseiten wie Chip oder Heise herunterladen kann.   Und dieses Programm ist in der Lage, auch mit sehr großen Dateien zurecht zu kommen. Wir sehen, dass wir hier viele tausend Zeilen haben. Ich stelle das hier mal auf deutsche Sprache um. Und das gute an dieser Software ist, dass wir hier auf Suchen klicken und nach einem Begriff suchen können. Zum Beispiel nach login. Hier gibt es diesen Button „Alle in aktiver Datei suchen“ und wenn ich den klicke, dann werden mir die Suchbegriffe hier unten in einem separaten Bereich angezeigt. Und ich kann jetzt auf diese Einträge hier klicken und der Editor springt an die Stelle, wo diese Suchbegriffe gefunden worden sind. Natürlich wäre es auch möglich das hier durchzuscrollen und das alles manuell durchzugehen, aber das könnte mehrere Stunden dauern. Bei solchen großen Dateien ist das also sehr hilfreich.   Notepad++ kann das übrigens auch für unterschiedliche Suchbegriffe. Wir wissen in unserem Fall, dass ein Trailing Stop fehlgeschlagen ist. Wenn ich also nach dem Begriff failed suche, dann werden mir hier alle Fehler angezeigt. Ich könnte auch nach diesen eckigen Klammern hier suchen. Klicke wieder auf „Alle in aktiver Datei suchen“ und nach einigen Sekunden sollte das Ergebnis hier auftauchen. Hier sind die Suchergebnisse auch schon zu sehen. In meinem Fall haben wir 261.696 Treffer und ich kann für jeden dieser Treffer jetzt direkt die entsprechende Zeile in der Riesendatei aufrufen. Das spart einen ganze Menge Zeit. Wenn wir in Google mal nach dem Begriff MQL5 Error Codes suchen, dann durfte das hier das erste Suchergebnis sein. Wenn man das anklickt, dann sieht man diese Tabelle hier.   Auf der Webseite mql5.com, auf der Seite lassen sich die Fehlercodes noch einmal explizit durchsuchen. So weit ich weiß gibt es das auch in Deutsch. Für manche Fehler gibt es hier noch ausführlichere Beschreibungen. In meinem Fall war der Fehlercode ja relativ sprechend. Und in diesem kurzen Video haben Sie gelernt, wie sie Fehlercodes im Journal aufspüren und auch große Journaldateien durchsuchen können und Sie haben das selbst getan, in wenigen Minuten.
    5 min
  • MQL5 TUTORIAL GRUNDLAGEN – 121 SIMPLER RSI SELL STOP LOSS
    In diesem Video wollen wir uns einmal anschauen, wie man einen Expert Advisor erstellen kann der in der Lage ist, bei einem RSI-Wert von über 70 eine Verkaufsposition zu eröffnen, die dann beim unterschreiten eines Wertes von 30 wieder geschlossen wird. Um das zu tun, klicken Sie im MetaTrader bitte hier oben auf dieses kleine Symbol oder drücken sie die F4-Taste. Das ruft dann hier den Metaeditor auf und hier klicken auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergebe hier einmal den Namen SimplerRSISellStop, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Wir starten mit einem include-Statement. Damit importieren wir diese Datei. Trade.mqh ist ein Bestandteil von MQL5 und das ermöglicht es uns eine Instanz der Klasse C-Trade zu erstellen. Die heißt trade und wir werden sie gleich nutzen, um eine Position zu eröffnen. Innerhalb der OnTick-Funktion berechnen wir zunächst den Ask-Preis und den Bid-Preis. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Wir nutzen entweder SYMBOL_ASK oder SYMBOL_BID und mit NormalizeDouble und _Digits stellen wir sicher, dass wir die richtige Anzahl von Nachkommastellen für das jeweilige Währungspaar automatisch berechnen. Im nächsten Schritt erstellen wir uns ein Array. Das wird dann im Anschluss mit Hilfe der Funktion ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Und mit Hilfe, der in MQL5 enthaltenen Funktion iRSI können wir jetzt für das aktuelle Währungspaar auf dem Chart und die dort eingestellte Zeiteinheit für 14 Kerzen den Wert ermitteln, und zwar anhand der Schlusspreise. Mit Hilfe von CopyBuffer füllen wir jetzt unser RSIArray mit Daten für den Buffer 0. Angefangen von der aktuellen Kerze 0. Für drei Kerzen möchten wir die Daten anhand der Definition, die wir hier oben getroffen haben, in unserem Array speichern. Und jetzt können wir den Wert ermitteln, in dem wir uns einfach den Wert für Kerze 0 in unserem RSIArray holen und dieser Variable hier zuweisen. Denn diesen Wert brauchen wir jetzt, um zu überprüfen, ob PositionTotal 0 ist, das bedeutet, wir hätten keine geöffnete Position und ob der RSI-Wert größer ist als 70. Wenn beide Bedingungen erfüllt sind, dann nutzen wir trade.Sell, um eine Position für 10 Microlot zu eröffnen. Das ist eine Verkaufsposition. Und natürlich machen wir das nur auf einem Demokonto. Denn um unseren Stop zu testen, brauche wir ja eine geöffnete Position. Diese Funktion hier CheckRSISellStop die soll dann die Verkaufsposition wieder schließen. Wir übergeben hier den RSI-Wert. Zum Schluss unserer Hauptfunktion möchten wir noch einen Comment-Statement dazu nutzen, damit der RSI-Wert auch auf unserem Chart ausgegeben wird. Und das war´s soweit mit der OnTick-Funktion. Diese Funktion hier gibt es aber noch nicht. Die müssen wir jetzt erstellen. Unsere benutzerdefinierte Funktion soll den Namen CheckRSISellStop haben. Wir übergeben hier den RSI-Wert als Parameter. Mit Hilfe einer Vorschleife gehen wir alle offenen Positionen durch. Dann holen wir uns mittels der Funktion PositionGetSymbol für den aktuellen Schleifenzählerwert das Währungspaar für die Position. Außerdem brauchen wir noch die Ticketnummer. Die bekommen wir mit PositionGetInteger, POSITION_TICKET und den Positionstyp bekommen wir mit PositionGetInteger, POSITION_TYPE. Das ermöglicht uns zu prüfen, ob der Positionstyp den Wert POSITION_TYPE_SELL hat. Wenn das der Fall ist, dann handelt es sich um eine Verkaufsposition. In dem Fall prüfen wir hier noch, ob der RSI-Wert unter 30 liegt. Und wenn das stimmt, dann nutzen wir trade.PositionClose, um das aktuelle Positionsticket zu schließen. Zum Schluss schließen wir noch die Vorschleife und beenden unserer Funktion. Ich habe hier noch eine überschüssige Klammer, die wird noch entfernt. Und danach können wir hier oben auf Kompilieren klicken oder die F7-Taste ...
    8 min
  • MQL5 TUTORIAL GRUNDLAGEN – 120 SIMPLER RSI BUY STOP
    In diesem Video wollen wir uns einmal anschauen, wie man einen RSI Indikator erstellt, der eine Position eröffnet, wenn der Wert unter dreißig liegt und diese Position wieder schließen, sobald der Wert über siebzig steigt. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL5 programmieren kann. 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 Meta Editor auf. Und hier klicken wir auf Datei, Neue Datei, Expert Advisor aus Vorlage, Weiter. Ich vergebe hier einmal den Namen SimplerRSIBuyStop, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion gelöscht werden. Und wir entfernen auch die zwei Kommentarzeilen. Wir starten mit einer include Anweisung. Die wird uns die Datei Trade.mqh importieren. Die stellt uns dann wiederum die Klasse CTrade zur Verfügung, von der wir hier eine Instanz erstellen. Die bekommt den Namen trade. Innerhalb der OnTick Funktion nutzen wir SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart, um uns den Ask Preis oder den Bid Preis zu ermitteln. Dazu übergeben wir als Parameter SYMBOL_ASK beziehungsweise SYMBOL_BID. Und mit NormalizeDouble und _Digits stellen wir sicher, dass wir automatisch die richtige Anzahl der Nachkommastellen für das jeweilige Währungspaar berechnen.   Im Anschluss erstellen wir uns hier ein Array vom Typ double. Mit ArraySetAsSeries wird unser Array dann von der aktuellen Kerze an abwärts sortiert. Und jetzt können wir die in MQL5 eingebaute Funktion iRSI nutzen, um für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit für 14 Kerzen den Wert anhand der Schlusskurse zu ermitteln. Wir nutzen CopyBuffer, um anhand der Definition die wir gerade getroffen haben für das aktuelle Buffer null, angefangen von der aktuellen Kerze Nummer null, für drei Kerzen die Daten in unser RSI Array zu kopieren. Und jetzt berechnen wir den aktuellen Wert, indem wir einfach den Wert für Kerze null aus unserem RSI Array ermitteln. Mit NormalizeDouble und zwei stellen wir sicher, dass der Wert auf zwei Nachkommastellen gekürzt wird. Denn so wird er auch von unserem Indikator auf dem Chart angezeigt. Sofern wir keine geöffnete Position haben, ist der Rückgabewert für PositionsTotal null. Und wir möchten gleichzeitig ermitteln, ob der RSI Wert unter dreißig liegt. Das wäre dann für uns ein Kaufsignal. Und dann nutzen wir trade.Buy, um eine Kaufposition für zehn Mikrolot zu eröffnen. Es handelt sich hier um eine Testposition. Und die möchten wir danach über eine selbsterstellte Funktion mit dem Namen CheckRSIBuyStop schließen. Dazu übergeben wir hier den aktuellen RSI Wert als Parameter.   Damit wir auch was sehen nutzen wir die Comment Ausgabe, um auf dem Chart den aktuellen RSI Wert auszugeben. Diese Klammer hier schließt unsere Hauptfunktion. Aber damit wir diese Funktion hier auch nutzen können, müssen wir die jetzt noch programmieren. Unsere benutzerdefinierte Funktion soll den Namen CheckRSIBuyStop erhalten. Und wir übergeben hier den aktuellen RSI Wert. Mit Hilfe einer For-Schleife gehen wir alle offenen Positionen durch und holen uns für jede Position das aktuelle Währungspaar. Das geht mit der Funktion PositionsGetSymbol für den aktuellen Schleifenzähler. Außerdem ermitteln wir das Ticket der jeweiligen Position mit dem Befehl PositionGetInteger. Hier verwenden wir als Parameter POSITION_TICKET. Bitte alles in Großbuchstaben. Für den Positionstypen erfolgt die Ermittlung ähnlich. Auch hier nutzen wir PositionGetInteger und diesmal ist der Parameter POSITION_TYPE. Denn damit können wir prüfen, ob der Typ der aktuellen Position den Wert POSITION_TYPE_BUY hat. Denn dann ist es eine Buy-Position und nur dann möchten wir weitermachen. Nachdem wir das geprüft haben, möchten wir für den Fall, dass der aktuelle RSI Wert größer ist als siebzig, unsere Position mit Hilfe der Funktion trade.
    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 GRUNDLAGEN – 119 MYFXBOOK EXPERT ADVISOR INSTALLATION
    In diesem Video wollen wir uns einmal anschauen, wie man einen Statistic Expert Advisor von Myfxbook herunterladen, installieren und die Probleme damit beheben kann. Also lassen Sie uns einmal schauen, wie man so etwas mit MQL5 macht. Wenn Sie auf der Webseite Google sind und Begriff den Myfxbook eingeben, dann finden Sie diese Webseite hier. Die ermöglicht es Ihnen erweiterte Statistiken für Ihre Trading-Systeme zu erstellen. Ich kann mich hier direkt anmelden, denn ich habe bereits ein Konto. Danach lande ich hier auf der Webseite und ich hab ein sogenanntes Portfolio. Das beinhaltet alle meine Handelssysteme und ich kann eines dieser Systeme jetzt aufrufen und mir dazu alle erweiterten Statistiken anzeigen lassen.   Das ist sehr nützlich. Damit das aber funktioniert, müssen wir einen Expert Advisor herunterladen und installieren, darum suchen wir direkt mal danach. Allerdings macht es Sinn den MetaTrader 5 in der Suche direkt mit anzugeben. Denn es gibt zwei Versionen. Diese hier ist richtig. Man sieht es daran, dass wenn man den Download anklickt, hier unten EaInstallerMT5.exe heruntergeladen wird. Das steht für MetaTrader 5. Mit einem Doppelklick kann man die Datei öffnen. Bei mir geht jetzt direkt hier dieses Installationsdialogfenster auf. Wir haben allerdings bei der ersten Installation häufig, dass man einige zusätzliche Dateien installieren muss, die zum .NET Framework von Microsoft gehören. Ich hab so eine Installation heute aber schon für ein anderes Video durchgeführt. Deswegen klappt das bei mir sofort. Wenn bei Ihnen die Aufforderung kommt, dass das .NET Framework noch fehlt und installiert werden muss, dann können Sie da getrost tun. Ich klicke jetzt hier mal auf Durchsuchen.   Jetzt muss ich auf meiner Festplatte im Programmverzeichnis das Verzeichnis MetaTrader 5 auswählen und hier die Terminal.ico-Datei mit diesem Button öffnen. Tatsächlich kommt es sofort zu einem Ausnahmefehler und wenn man sich das einmal genauer anschaut, dann sieht man, wir haben hier ein Problem mit unerlaubtem Zugriff. Das bedeutet, wir schließen das Ganze wieder, öffnen den Download-Ordner, klicken mit der rechten Maustaste und führen es als Administrator aus. Und wenn man das dann wiederholt, dann dürfte das ohne Absturz funktionieren. Wir sehen hier, der MetaTrader 5 wurde gefunden, die Installation war erfolgreich.   Das ist so die erste Hürde, die zu nehmen ist. Jetzt schließen wir hier unser Installationsmenü, klicken auf Exit, rufen den MetaTrader auf und Sie sollten den Myfxbook EA jetzt hier unten im Navigationsfenster sehen können. Der lässt sich jetzt mit der Maus auf ein Chart ziehen. Falls Sie schon einen Expert Advisor auf Ihrem Chart nutzen, öffnen Sie einfach ein neues Chartfenster. Ja, wir möchten das auf den EUR/US-Dollar anwenden. Jetzt kommt hier ein Windows-Fenster hoch, bei dem muss man den Import von DLLs zulassen und unter der Reiterkarte Eingaben, gebe ich jetzt meine E-Mail-Adresse ein. Wir nutzen hier mal absichtlich ein falsches Passwort. Sie sehen hier rechts dieses grüne Symbol und wenn ich jetzt auf OK klicke, dann kommt es hier zu einem Statusfehler. 502 bedeutet, ich hab ein falsches Kennwort oder eine falsche E-Mail-Adresse benutzt.   Der Expert Advisor, eigentlich, funktioniert, aber der Upload ist fehlgeschlagen, weil ich mich nicht richtig angemeldet habe. Jetzt drücken wir mal F7. Damit können wir die Eingabe vom Passwort hier korrigieren. Das mach ich aber nicht jetzt, sondern in wenigen Sekunden. Denn vorher gibt es noch zwei weitere Fallstricke, die man beachten muss. Das Erste ist, dass hier oben der Algo-Handel aktiviert werden muss, und außerdem müssen Sie unter Extras, Optionen, Experten, hier unten auch den Import von DLLs zulassen. Hier steht, dass das gefährlich ist, aber wenn Sie auf der Myfxbook-Seite mal nach unten scrollen, dann werden Sie feststellen, dass hier für die manuelle Installation eine Myfxbook.dll mit importiert werden muss. Das wäre übrigens eine Alternative,
    7 min

About MQL5 Tutorial - Automatisch traden mit Metatrader5

From the publisher's feed

Metatrader5 MQL5 Expert Advisor Tutorial