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 POSITION CLOSE EA

    In diesem Video geht es um das Schließen von allen geöffneten Positionen. Hier ist das beispielsweise passiert.

    Es handelt sich um einen einfachen Expert Advisor, der immer dann alle Positionen schließt, wenn wir uns hier mit der Equity oberhalb der Balance, also der Bruttobilanz befinden.
    Das bedeutet, sobald dieser Wert hier über 300016 Euro steigt, werden hier oben die Positionen geschlossen.
    Wie können wir jetzt einen Expert Advisor in MQL5 erstellen, der in der Lage ist, diese Testpositionen hier alle auf einmal zu schließen?
    Um das zu tun, klicken Sie bitte im MetaTrader5 hier oben auf diesen kleinen Button 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 mal den Namen Simpler Position Close EA, klicke auf weiter, weiter, und fertigstellen.
    Und jetzt kann alles oberhalb der On-Tick-Funktion hier entfernt werden. Das gilt auch für die zwei Kommentarzeilen.
    Im ersten Schritt müssen wir die Trading-Bibliothek mit den vereinfachten Funktionen importieren.
    Das geht mittels Include-Befehl, und wir benötigen die in MQL5 enthaltene Datei Trade.MQH. Sie enthält vereinfachte Handelsfunktionen, und wir erstellen uns jetzt eine Instanz von der Klasse CTrade, die wird den Namen Trade bekommen.
    In MQL5 geht das so, und in unserer On-Tick-Funktion, die bei jeder Preisänderung aufgerufen wird, holen wir uns zunächst einmal den Ask-Preis.
    Das geht mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Und wir nutzen die Konstante Symbol_Ask, um hier den Ask-Preis zu ermitteln. Und mit NormalizeDouble und _Digits sorgen wir dafür, dass wir je nach Währungspaar entweder drei oder fünf Nachkommastellen berechnen, denn wie Sie sehen, gibt es da durchaus Unterschiede.
    Im nächsten Schritt ermitteln wir den Bruttokontostand. Der Bruttokontostand ist das, was Sie hier vorne als ersten Wert im Strategietester sehen.
    Man bezeichnet ihn auch als AccountBalance, und der wird ermittelt über die Funktion AccountInfoDouble in Verbindung mit der Konstante Account_Balance. Neben der Account Balance gibt es auch noch die sogenannte Account Equity. Die Equity ist der Nettokontostand.
    Die Ermittlung ist ziemlich gleich, aber in diesem Fall nutzen wir die Konstante Account_Equity. Die Equity ist dieser Wert hier, und sie errechnet sich aus dem Bruttoguthaben abzüglich der Kosten für die offenen Positionen.
    Und damit wir etwas haben, was wir gleichzeitig schließen können, öffnen wir jetzt einige Testpositionen.
    Immer, wenn die Funktion PositionsTotal einen Rückgabewert kleiner fünf hat, dann nutzen wir die hier oben erstellte Trade-Instanz, um mit Trade.Buy zu kaufen. Ich ändere das hier mal auf zehn Micro Lot, das hier ist die Positionsgröße.
    Wir kaufen auf dem aktuellen Chart zum Ask-Preis. Wenn Sie einen Doppelklick hier auf ein Währungspaar durchführen, dann sehen Sie, dass der Ask-Preis, diese rote Linie, immer über dem Bid-Preis, der blauen Linie, liegt.
    Das hier ist das, was wir zahlen, wenn wir etwas kaufen, und das ist das, was wir erhalten, wenn wir etwas verkaufen.
    Da wir in diesem Fall kaufen, müssen wir zum aktuellen Ask-Preis kaufen. Wir haben hier keinen Stop Loss definiert. Unser Profitziel wird 100 Punkte über dem aktuellen Ask-Preis liegen, und da wir keinen Kommentar verwenden, nutzen wir hier die Konstante null.
    Und immer, wenn wir im Profit sind, wenn also unser Nettoguthaben das Bruttoguthaben übersteigt, dann möchten wir eine Funktion aufrufen mit dem Namen SchliesseallePositionen. Die gibt es aber noch gar nicht, also schreiben wir die jetzt.
    Und diese Funktion werden wir jetzt erstellen. Hier ist unsere On-Tick-Funktion zu Ende, also können wir darunter mit einer neuen Funktion beginnen.
    Die soll alle unsere geöffneten Positionen schließen können. Sie ist vom Rückgabetyp Void. Void bedeutet, wir geben aus dieser Funktion nichts an unsere Hauptfunktion zurück.
    Und wir möchten jetzt in einer For-Schleife von der aktuellen Anzahl der geöffneten Positionen herunterzählen bis Null.
    Also von der Anzahl aller Positionen, abzüglich Eins, weisen wir hier eine Positionsanzahl zu. Und solange die Anzahl der Positionen noch größer ist als Null, also solange noch Positionen existieren, vermindern wir unseren Positionszähler immer um jeweils Eins.
    Und jetzt ermitteln wir die Ticket-Nummer für die aktuelle Position mit der Funktion PositionGetTicket. Das Ergebnis weisen wir hier der Variable Ticket zu, und die brauchen wir, um die aktuelle Position zu schließen.
    Das machen wir mit TradePositionClose, und hier, in diesen runden Klammern, übergeben wir die Ticket-Nummer von hier.
    Und das war es vom Prinzip auch schon, bleibt uns noch, die For-Schleife und die Funktion SchließeallePositionen zu schließen, indem wir hier unten noch zwei geschweifte Klammern nutzen.
    Und falls wir alles richtig gemacht haben, dann können Sie jetzt hier oben auf diesen Kompilieren-Button klicken oder die F7-Taste drücken, und dann sollten Sie hier unten Null Fehler haben.
    Und wenn das so ist, klicken Sie bitte hier oben oder drücken Sie die F4-Taste, um in den MetaTrader zurückzukehren. Und im MetaTrader klicken wir auf Ansicht, Strategietester, oder drücken die Tastenkombination Steuerung und R.
    Dann wird hier der Strategietester angezeigt, und dort wählen Sie bitte die Datei SimplerPositionCloseEA.EX5 aus. Bitte markieren Sie hier die Option für die Visualisierung und starten Sie Ihren Test.
    Und schon werden Positionen eröffnet und auch wieder geschlossen, wie man hier gesehen hat. Beschleunigen wir das Ganze ein wenig, dann sehen Sie, dass der Expert Advisor funktioniert.
    Und Sie haben in diesem Video gelernt, wie Sie mit MQL5 ein einfaches, automatisiertes Programm schreiben können, das in der Lage ist, geöffnete Positionen auf einem Schlag zu schließen.
    Und Sie haben es selbst programmiert mit diesen paar Zeilen hier in MQL5.

    [Download nicht gefunden.]

    Der Beitrag MQL5 TUTORIAL DEUTSCH – SIMPLER POSITION CLOSE EA erschien zuerst auf MQL5 Tutorial Deutsch.

    8 min
  • MQL5 TUTORIAL GRUNDLAGEN – 46 SIMPLER COMMODITY CHANNEL INDEX Expert Advisor

    In diesem Video wollen wir uns einmal diesen Oszillator hier anschauen. Das ist der Commodity Channel Index. Der wird normalerweise als Filter genutzt. Wir wollen jetzt aber mal schauen, wie man den in MQL5 als Signal programmieren kann. Um das zu tun, klicken Sie bitte im Metaeditor bitte auf dieses kleine Symbol hier oben 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 SimplerCommodityChannelIndexEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und wir entfernen auch die zwei Kommentarzeilen. Wie so oft starten wir hier mit einem include Statement für die Datei Trade.mqh. Danach erstellen wir eine Instanz von der Klasse CTrade. Die bekommt den Namen trade. Und wir werden sie verwenden, um Positionen zu eröffnen. In der OnTick Funktion ermitteln wir zunächst den Ask Preise. Das übernimmt die Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Mit SYMBOL_ASK, alles in Großbuchstaben bitte, lässt sich hier der Ask Preis ermitteln. Und zusätzlich nutze ich noch NormalizeDouble und _Digits, um die richtige Anzahl von Nachkommastellen zu ermitteln. Das können je nach Währungspaar drei oder fünf Nachkommastellen sein. Das gleiche wiederholen wir jetzt nochmal für den Bid Preis. Hier unterscheidet der Name der Variable und der Parameter hier heißt SIMBOL_BID. Ansonsten sind diese beiden Zeilen nahezu identisch. Mit MqlRates erstellen wir uns ein Array für die Preisinformationen. Das wird im Anschluss mit ArraySetAsSeries von der aktuellen Kerze an abwärts sortiert. Und mit CopyRates füllen wir unser Preis Array mit Preisdaten für drei Kerzen. Dieser Ausdruck für das aktuelle Währungspaar kann auch so geschrieben werden. Seit einiger Zeit wurde die Sprache entsprechend angepasst. Wenn man das hier mal markiert und die F1 Taste drückt, dann wird das in der Hilfe hier auch so beschrieben. Im nächsten Schritt erstellen wir uns eine leere Variable mit dem Namen signal. Die ist vom Typ string, hat hier aber noch keinen Wert. Um den zu ermitteln erstellen wir uns ein weiteres Array für den Expert Advisor. Und mit der eingebauten MQL5 Funktion iCCI können wir jetzt für das aktuelle Währungspaar und die auf dem Chart ausgewählte Zeiteinheit den Commodity Channel Index für 14 Kerzen aufgrund der Schlusskurse berechnen. Die 14 taucht auch hier in Klammern auf. Und wenn man einmal mit der rechten Maustaste auf den Oszillator klickt und Eigenschaften auswählt, dann sieht man, dass das hier die Standardwerte sind. Auch dieses Array sortieren wir von der aktuellen Kerze an abwärts. Und im Anschluss nutzen wie CopyBuffer, um anhand der Definition, die wir hier oben getroffen haben, für Buffer null, das ist diese Linie hier, von der aktuellen Kerze null an für drei Kerzen unser Array mit Daten zu füllen. Und das ermöglicht es uns, den aktuellen Wert für den Commodity Channel Index zu berechnen, indem wir auf Kerze null in unserem Array zugreifen. Wenn sich der Wert oberhalb der Einhunderter-Linie befindet, das wäre hier die obere gestrichelte Linie, dann möchten wir gerne verkaufen. Darum weisen wir den Wert Verkaufen unsere signal Variable hier zu. Im umgekehrten Fall, wenn der Wert kleiner ist und sich unter der unteren gestrichelten Linie befindet, das wäre hier diese minus einhundert Linie, dann möchten wir gerne kaufen und weisen diesen Wert der signal Variable zu. Und wenn unser signal auf Verkaufen steht und die Funktion PositionsTotal uns einen Rückgabewert von kleiner eins liefert, dann haben wir keine geöffneten Positionen. Und in dem Fall möchten wir gerne mit trade.Sell eine Sell Position für zehn Mikrolot eröffnen. Im anderen Fall, wenn unser Signal auf Kaufen steht und wir ebenfalls keine geöffneten Positionen haben, dann nutzen wir trade.Buy, um eine Buy Position mit zehn Mikrolot zu eröffnen. Zum Schluss nutzen wir noch den Comment Befehl, um auf dem Chart den Text: Das aktuelle Signal ist… gefolgt von dem ermittelten Signal auszugeben. Das war es soweit. Falls Sie nicht wissen, was dieser Code hier bewirken soll, oder wenn Ihnen das zu schnell war, dann möchten Sie sich vielleicht vorher noch die anderen Videos aus dieser Grundlagenserie anschauen. Eventuell ist aber auch der Premium Kurs auf unserer Webseite interessant für Sie. Für den Moment klicken wir hier auf Kompilieren oder drücken die F7 Taste. Das hat in meinem Fall hier ohne Fehler funktioniert. Und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben auf dieses kleine Symbol oder drücken die F4 Taste, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Ctrl+R. Hier wählen wir jetzt die neu erstellte Datei SimplerCommodityChannelIndexEA.ex5, markieren den visuellen Modus und starten unseren Test. Hier läuft der Expert Advisor los. Und sobald die Linie hier die untere gestrichelte Linie überschritten hat, sehen wir unseren ersten Buy Trade auf dem Chart. Unser Expert Advisor funktioniert also wie gewünscht. Und Sie haben in diesem kurzen Video gelernt, wie Sie mit MQL5 einen Expert Advisor für den Commodity Channel Index programmieren können, der in der Lage ist, automatisch Positionen zu eröffnen. Und Sie haben das selbst programmiert, mit diesen paar Zeilen hier in MQL5.

    Der Beitrag MQL5 TUTORIAL GRUNDLAGEN – 46 SIMPLER COMMODITY CHANNEL INDEX Expert Advisor erschien zuerst auf MQL5 Tutorial Deutsch.

    8 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLE SIGNAL VERKETTUNG

     

    In diesem Video möchten wir uns einmal die Verknüpfung von mehreren Signalen anschauen. In unserem Fall sind das vier gleitende Durchschnitte. Es sind exponentielle, gleitende Durchschnitte, die jeweils mit einer roten Linie gekennzeichnet sind. Und so lange, wie die in eine Richtung laufen, haben wir hier einen stabilen Sell-Trend. Sobald hier eine Überkreuzung stattfindet – wie jetzt und wenn es hier zu einer kompletten Trendwende kommt, dann schlägt unser Signal hier um und wir würden kaufen. Wie kann man jetzt einen Expert Advisor erstellen, der in der Lage ist, diese vier gleitenden Durchschnitte als Signal zu kombinieren und hier ein Kaufen- oder Verkaufen-Signal auf dem Chart auszugeben? Um das zu tun, klicken Sie bitte auf diesen kleinen Button hier 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 einmal den Namen Simple Signal Kette, klicke auf weiter, weiter und fertigstellen. Und jetzt kann alles hier oberhalb der OnTick-Funktion gelöscht werden. Und auch die zwei Kommentar Zeilen kommen weg.

     

    So, und jetzt möchten wir zunächst einmal eine Variable vom Typ String erstellen. Die bekommt den Namen Signal und wir weisen erstmal keinen Wert zu, denn der wird gleich ermittelt. Jetzt erstellen wir uns hier erst einmal vier Arrays. Die sollen unsere Preis Daten aufnehmen. Darum sind sie vom Typ Double. Jetzt kommen die Eigenschaften für unsere Moving Averages dran. Dazu stellt uns die MQL5 Sprache die Funktion IMA zur Verfügung. Die benötigt ein paar Parameter. Der erste Parameter ist für das Währungspaar auf dem Chart, der zweite für die dort ausgewählte Zeiteinheit. Der dritte Parameter ist für die Anzahl der Kerzen. So wird unser erster Moving Average für 50 Kerzen berechnet. In der MQL5 Hilfe heißt das Mittelungs-Periode. Der nächste Parameter wäre für die horizontale Verschiebung des Indikators. Damit könnte man die Darstellung hier nach rechts oder links verschieben. Das wollen wir aber nicht. Deswegen steht hier eine Null. Mit Mode, unterstrich EMA, wählen wir aus, dass wir gerne einen exponentiellen gleitenden Durchschnitt nutzen möchten. Und der letzte Parameter Price unterstrich Close legt fest, dass wir gerne den Schlusskurs für die Berechnung nutzen möchten.

     

    In der Hilfe steht hier fälschlicherweise der Eröffnungs-Preis. Das wäre aber tatsächlich Preis-Open. Die Hilfe ist hier leider nicht optimal übersetzt. Da wir vier gleitende Durchschnitte brauchen, wiederholen wir das noch dreimal. Der zweite gleitende Durchschnitt soll für 100 Kerzen berechnet werden. Für den dritten berechnen wir 150 und für den vierten 200 Kerzen. Danach nutzen wir Array set as series für alle vier Werte, um unsere Moving Average Arrays von der aktuellen Kerze an abwärts zu sortieren. Jetzt nutzen wir den Befehl Copy Buffer, um unser Moving Average Array für die jeweils einzige Signal Linie von der aktuellen Kerze null für drei Kerzen anhand der von uns getroffenen Definition mit Daten zu füllen. Auch das tun wir für jedes unserer vier Arrays hier. Und jetzt können wir in unseren Arrays auf die Kerze null zugreifen, um den aktuellen Wert des jeweiligen gleitenden Durchschnitts der Variable My Moving Average Wert, gefolgt von der Zahl der jeweiligen Linie zuzuweisen. Jetzt erstellen wir einen Verkaufs-Signal. Dazu prüfen wir, ob mein Moving Average Wert eins kleiner ist als mein Moving Average Wert zwei.

     

    Danach prüfen wir, ob mein Moving Average Wert zwei kleiner ist als mein Moving Average Wert drei. Und unsere dritte Bedingung ist Wir möchten wissen, ob mein Moving Average Wert drei kleiner ist als mein Moving Average Wert ihr. Falls das so ist, setzen wir unser Signal auf verkaufen. Für das Kauf Signal machen wir das Gleiche nochmal. Diesmal prüfen wir aber jeweils ab, ob der linke Wert größer ist als der rechte. Auch hier verketten wir alle drei geprüften Konditionen. Und wenn alles zutrifft, dann setzen wir unser Signal auf Kaufen. Zum Schluss nutzen wir den Comment Befehl, um unser aktuelles Signal und alle vier Werte für den jeweiligen gleitenden Durchschnitt auf unserem Chart auszugeben. Wenn alles soweit fertig ist, klicken Sie hier oben auf Compilieren oder drücken Sie die F7 Taste. Das sollte hier ohne Fehler und Warnungen funktioniert haben. Und falls das so ist, können Sie hier oben klicken oder die F4 Taste drücken, um in den Metatrader zurückzukehren. Und im MetaTrader klicken wir auf Ansich, Strategie Tester oder drücken Steuerung und R. Und im Strategie Tester wählen wir dann die Datei Simple Signal Kette.ex5 aus und starten unserem Test.

     

    Und so sieht unser kleiner Expert Advisor bei der Arbeit aus. Sie haben jetzt die Möglichkeit so lange in Ihrer Short Position zu bleiben, bis hier die erste Überkreuzung auftaucht. Das sollte in diesem Fall zu einem Profit führen. Und Sie haben in diesem Video gelernt, wie Sie vier gleitende Durchschnitte als Signal miteinander verketten können, um Kaufen- oder Verkaufen-Signale auf Ihrem Chart auszugeben. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.

     

    Der Beitrag MQL5 TUTORIAL DEUTSCH – SIMPLE SIGNAL VERKETTUNG erschien zuerst auf MQL5 Tutorial Deutsch.

    7 min
  • MQL5 Tutorial Deutsch – Simpler Bulls Power Expert Advisor

    Das hier ist der sogenannte Bulls Power Indikator. Es handelt sich hierbei einen Oszillator, der anzeigen soll, wie stark die Bullen sind. Man sagt ja, dass im Trading jeden Tag die Bullen gegen die Bären kämpfen und bei maximalen Ausschlägen kann man davon ausgehen, dass hier nach den höchsten Werten der Preis erst mal in den Keller geht. Im Umkehrschluss, wenn diese Linie hier überschritten wird, dann geht es in der Regel erst mal aufwärts. Dieser Oszillator hier wurde erstellt von einem professionellen Trader mit dem Namen Alexander Elder. Er sagt hier, dass ein fallender Wert über null ein Signal zum Verkauf ist. Der Oszillator wird auf 13 Kerzen berechnet. Man nutzt einen exponentiellen Moving Average und es wird empfohlen, den Bulls Power Indikator zusammen mit einem anderen Trend Indikator, wie zum Beispiel den Moving Average, zu nutzen. Wie also können wir jetzt für diesen diesen Bulls Power Indikator einen ExpertAdvisor in MQL5 erstellen? Um das zu tun, klicken wir hier im MetaTrader zunächst auf diesen kleinen Knopf hier oben oder drücken die F4-Taste. Das ruft hier den Metaeditor auf und hier klicken wir auf „Datei neu, „ExpertAdvisor von Vorlage, „Weiter, vergeben hier den Namen „Simple Bulls Power EA, klicken auf „Weiter, „Weiter, „Fertigstellen und löschen alles oberhalb dieser OnTick-Funktion und die beiden Kommentarzeilen.

    Und im ersten Schritt erstellen wir, wie so oft, ein Array für unsere Preisdaten vom Typ „Double und vergeben den Namen „My Price Array. Danach definieren wir die Eigenschaften für den Bulls Power EA, indem wir die in MQL5 eingebaute Funktion „i Bulls Power nutzen, und zwar für das aktuelle Währungspaar auf dem Chart und die dort eingestellte Zeiteinheit, zum Beispiel das Minuten-Chart oder das 60-Minuten-Chart. Und die Berechnung wird auf die letzten 13 Kerzen erfolgen, denn das ist der Zeitraum, der von Herrn Elder definiert wurde. Und im nächsten Schritt sortieren wir die Preise wieder abwärts von der aktuellen Kerze an, indem wir die Funktion „Array Set as Series nutzen. Das Ganze machen wir mit unserem Price-Array, das wir hier oben definiert haben. So, jetzt füllen wir Wir haben hier unseren Expert-Advisor noch mit Daten. Dazu nutzen wir hier die Definition aus dieser Zeile, die Funktion „Copy Buffer. Diese Null hier steht für den Indikator. Diese Null hier beschreibt die aktuelle Kerze und die drei bedeutet, dass wir die Preise von der aktuellen Kerze für drei Kerzen kopieren möchten und danach speichern wir das Resultat in unserem Price Array. Und aus diesem Price-Array hier holen wir uns jetzt aus der Kerze 0 den aktuellen Bulls Power-Wert und wir machen das mit einer Float-Variable.

    Normalerweise würde das hier eine Double-Variable sein. Das sind mir aber zu viele Nachkommastellen und außerdem braucht die Float-Variable gegenüber der Double-Variable nur 4 Byte statt 8 Byte im Speicher. In einem letzten Schritt lassen wir uns jetzt auf dem Chart noch unseren Wert und den Text Bulls Power-Wert ausgeben. Das machen wir mit der Comment-Funktion und nach diesem Text wird der Wert ausgegeben, den wir in der Zeile hier ermittelt haben. Kompilieren wir das Ganze, dann bekommen wir hier unten die Warnung, es gibt einen möglichen Datenverlust, weil wir hier einen Float statt einen Double-Wert berechnen. Trotzdem war der Compiler-Vorgang mit null Fehlern erfolgreich. Also klicken wir hier oben auf diesen kleinen Knopf oder drücken die F4-Taste, zurückzuwechseln in den MetaTrader. Im MetaTrader selbst klicken wir auf „Ansicht, „Strategietester oder drücken die Steuerung und die R-Taste. Das ruft dann hier unten den „Strategietester auf und hier wählen wir die Datei „Simplebullspower EA.ex5 aus. Und bitte vergessen Sie nicht, den Haken hier für die Visualisierung zu setzen. Das Währungspaar und den Zeitraum können Sie sich selbst aussuchen und danach klicken wir hier einfach auf „Test starten. Und so sieht unser ExpertAdvisor dann in Aktion aus. Wie man erkennen kann, hat unser berechneter Wert hier oben eine Nachkommastelle weniger als der Original Bulls Indicator, der im MetaTrader 5 integriert ist, aber die Genauigkeit reicht locker aus, daraus Signale zu generieren.

    So, Sie haben jetzt innerhalb von fünf Minuten Ihren eigenen MQL5 ExpertAdvisor erstellt, der den Bulls Power Indikator von Dr. Alexander Elder nutzt und Sie haben das mit diesen paar Codezellen in MQL5 gemacht.

     

    [Download nicht gefunden.]

    Der Beitrag MQL5 Tutorial Deutsch – Simpler Bulls Power Expert Advisor erschien zuerst auf MQL5 Tutorial Deutsch.

    6 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER SAR STANDALONE EXPERT ADVISOR

    In diesem Video möchten wir uns einmal anschauen, wie man diesen Indikator, den parabolischen SAR mit Metatrader 5 automatisch handeln kann. Wir werden hier diesen Expert Advisor so programmieren, dass er in der Lage ist, eigenständig Positionen zu eröffnen. Man sieht hier diese Punkte. Immer wenn die sich unterhalb des Preises befinden, dann ist das ein Kaufen Signal. Und wenn die Punkte oberhalb der Kerzen gezeichnet werden, ist das ein Verkaufen Signal. Hier unten haben wir bereits eine erste Position eröffnet. Und wir werden uns jetzt einmal anschauen, wie man das mit dem Meta Editor programmieren kann. Um das zu tun klicken Sie bitte im Metatrader hier oben auf diesen kleinen Button 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 SimplerSARStandaloneEA. Klicke auf Weiter, Weiter, Fertigstellen. Jetzt kann alles oberhalb der On Tick Funktion gelöscht werden. Und wir entfernen auch die zwei Kommentarzeilen. Zunächst einmal nutzen wir den include Befehl, um die Datei Trade.mqh zu importieren. Die bietet uns Handelsfunktionen. Und damit können wir jetzt von der Klasse CTrade eine Instanz mit dem Namen trade erstellen. Die brauchen wir gleich für die Eröffnung der Positionen. In der On Tick Funktion erstellen wir uns zunächst ein Preis-Array mit dem Namen PreisArray. Das übernimmt für uns die Funktion MqlRates. Hier oben passen wir noch den Kommentar an. Danach nutzen wir ArraySetAsSeries, um unser Array von der aktuellen Kerze an abwärts zu sortieren. Und mit CopyRates füllen wir es mit Preisdaten für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Wir tun das von der aktuellen Kerze null für drei Kerzen und speichern das Ergebnis in unserem PreisArray. Außerdem brauchen wir noch einen String für unsere Signal Variable. Die bekommt den Namen Signal. Der Wert wird später zugewiesen, denn den müssen wir erst noch ermitteln. Zuvor berechnen wir erst mal den Ask und den Bid Preis. Diese Informationen gibt uns die Funktion SymbolInfoDouble für das aktuelle Symbol auf dem Chart. Mit SYMBOL_ASK bekommen wir den Ask Preis. Mit SYMBOL_BID den Bid Preis. Und NormalizeDouble und Unterstrich Digits nutzen wir, um die richtige Anzahl der Nachkommastellen zu ermitteln. Hier hätten wir drei Nachkommastellen. Und hier fünf. Und mit diesem Ausdruck hier wird das für jedes Währungspaar entsprechend angepasst. Jetzt brauchen wir noch ein Array für den SAR Indikator. Die Definition dieses Indikators geht über die iSAR Funktion, die in MQL5 eingebaut ist. Auch hier nutzen wir das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Und wenn Sie sich fragen, was diese beiden Werte hier bedeuten, die sehen Sie auch, wenn Sie hier auf Einfügen, Indikatoren, Tendenz, Parabolic SAR klicken. Dann sehen wir eine Schrittweite von 0,02 und ein Maximum von 0,2. Und genau das nutzen wir hier auch. Auch dieses Array sortieren wir wieder abwärts von der aktuellen Kerze, indem wir ArraySetAsSeries verwenden. Und im Anschluss nutzen wir CopyBuffer um unser SARArray anhand der SAR Definition, die wir hier oben getroffen haben für Buffer null, also den ersten Signalwert, von der aktuellen Kerze null für drei Kerzen mit Daten zu füllen. Und jetzt können wir die Werte für die letzte Kerze berechnen. Dazu schauen wir uns einfach die Kerze eins in unserem Array an. Und kürzen mit NormalizeDouble und dieser fünf den gemessenen Wert auf fünf Nachkommastellen. Denn wenn Sie hier mal die Maus über einen dieser Punkte halten, dann sehen Sie, bei Value werden auch fünf Nachkommastellen angezeigt. Und NormalizeDouble rundet halt unsere Zahl auf die angegebene Genauigkeit ab. In unserem Fall sind das diese fünf Nachkommastellen. Jetzt machen wir das Gleiche noch mal. Allerdings diesmal für Kerze zwei, um die Werte für die Kerze davor zu erhalten. Das Ergebnis speichern wir in der Variablen VorletzterSARWert. Jetzt haben wir soweit alles zusammen, um die Signale zu ermitteln. Ein Kaufen Signal haben wir immer, wenn der letzte Wert unter den Kerzen war und der vorletzte Wert aber noch über den Kerzen war. Das wäre zum Beispiel hier der Fall. Hier war der letzte Punkt über den Kerzen. Und hier haben wir den Sprung unter die Kerzen. Und wenn das der Fall ist, dann möchten wir gerne Kaufen. Und setzen unser Signal auf den Wert Kaufen. Das Verkaufen Signal ist genau anders herum. Wenn der letzte Wert über den Kerzen war und der vorletzte Wert noch unter den Kerzen war, das wäre hier der Fall gewesen, dann möchten wir gerne verkaufen und weisen den Begriff Verkaufen unserer Signal Variable zu. Wenn unser Signal den Wert Verkaufen entspricht und wenn die Funktion PositionsTotal kleiner als eins ist, das wäre der Fall, wenn wir weniger als eine Position geöffnet haben, dann nutzen wir trade.Sell um zehn Mikrolot zu verkaufen. Andernfalls, wenn unser Signal den Wert kaufen hat, und wir keine geöffneten Positionen haben, dann nutzen wir trade.Buy und kaufen zehn Mikrolot. Zum Schluss erstellen wir noch eine Chart Ausgabe. Das übernimmt der Comment Befehl. Der gibt uns dann den Text: Das aktuelle Signal ist und das ermittelte Signal direkt auf dem Chart aus. Okay, das war es soweit. Bitte klicken Sie hier oben auf Kompilieren oder drücken Sie die F7 Taste. Das hat hier ohne Fehler und Warnungen funktioniert. Also 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 STRG+R. Hier wählen wir die neu erstellte Datei SimplerSARStandaloneEA.ex5 aus, markieren hier die Visualisierungsoption und starten unseren Test. Und hier läuft unser kleiner Expert Advisor auch schon. Wir sehen die Punkte auf dem Chart. Und hier wurde gerade ein Kaufen Signal generiert, was unseren ersten vollautomatischen Trade ausgelöst hat. Und Sie haben in diesem kurzen Video gelernt, wie Sie den Parabolic SAR Indikator mit ein paar Zeilen in MQL5 automatisieren können. Und Sie haben das selbst programmiert mit diesen paar Code Zeilen hier im Meta Editor.

    [Download nicht gefunden.]

    Der Beitrag MQL5 TUTORIAL DEUTSCH – SIMPLER SAR STANDALONE EXPERT ADVISOR erschien zuerst auf MQL5 Tutorial Deutsch.

    8 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER STOCHASTIC STANDALONE EXPERT

    In diesem Video möchten wir einen Expert Adviser erstellen, der in der Lage ist, den Stochastic Indicator eigenständig zu handeln. Es handelt sich hier um einen Oszillator. Immer wenn wir eine Überkreuzung dieser beiden Signallinien oberhalb der gestichelten oberen Linie habe, wäre das ein Verkaufen. Und unterhalb wäre es ein Kaufen Signal. Die Signale werden nicht nur hier auf dem Chart ausgegeben. Sondern wir haben hier unten auch schon eine erste geöffnete Position, die automatisch gehandelt wurde. Und wir möchten uns jetzt einmal anschauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf diesen kleinen Button 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 mal den Namen SimplerStochasticStandaloneEA, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb dieser On Tick Funktion hier gelöscht werden. Auch die zwei Kommentarzeilen kommen weg. Hier oben nutzen wir den include Befehl, um die Datei Trade.mqh zu importieren. Die ermöglicht uns eine Instanz von der Klasse CTrade zu erstellen. Damit lassen sich dann später die Positionen eröffnen. In der On Tick Funktion, die bei jeder Preisänderung aufgerufen wird, erstellen wir erst einmal eine Signal Variable. Die ist vom Typ String, damit sie Textketten aufnehmen kann, bekommt aber hier noch keinen Wert zugewiesen. Der wird gleich noch ermittelt. Dazu benötigen wir erst einmal ein paar Dinge. Zum Beispiel den Ask und den Bid Preis. Hier oben kann man sehen, dass wir einen roten und einen blauen Preisverlauf haben. Der blaue Preis ist der Ask Preis. Den müssen wir zahlen, wenn wir etwas kaufen. Und der rote ist der Bid Preis. Den erhalten wir, wenn wir etwas verkaufen. Ermitteln können wir das mit der Funktion SymbolInfoDouble für das aktuelle Währungspaar auf dem Chart. Mit SYMBOL_ASK bekommen wir den Ask Preis. Und mit SYMBOL_BID bekommen wir den Bid Preis. Und diese NormalizeDouble Funktion in Kombination mit _Digits sorgt dafür, dass wir entweder drei oder fünf Nachkommastellen haben, je nachdem, welches Währungspaar auf dem Chart ist. Jetzt brauchen wir noch zwei Arrays. Das eine heißt KArray und das andere heißt DArray. Wenn man im Metatrader auf Einfügen, Indikatoren, Oszillatoren, Stochastic Oszillator klickt, sieht man auch hier eine K Periode und eine D Periode. Zunächst einmal sortieren wir mit ArraySeAsSeries beide Arrays von der aktuellen Kerze an abwärts. Jetzt können wir unsere StochasticDefinition mit Hilfe der Funktion iStochastic umsetzen. Wir tun das für das aktuelle Währungspaar auf dem Chart und die auf dem Chart ausgewählte Zeiteinheit. Auch diese Parameter hier finden wir in den Standardeinstellungen für den Stochastic Oszillator wieder. Wir haben hier 5,3,3, MODE_SMA und STO_LOWHIGH. Und auch hier sehen wir eine Fünf für die K Periode, eine Drei für die D Periode. Die Verlangsamung ist drei. Die Methode steht auf Simple. Das ist gleich zu setzten mit MODE SMA. Der Preisbereich steht auf Low/High. Das entspricht hier diesem letzten Parameter. STO_LOWHIGH. Mit der Funktion CopyBuffer füllen wir jetzt unser KArray und unser DArray mit Preisdaten. Das erste Array für den Buffer null. Das ist die erste Signallinie. Das zweite Array ist Buffer eins. Das ist die zweite Signallinie. Wir brauchen jeweils von der aktuellen Kerze für drei Kerzen die Preisdaten laut unserer Definition, die wir hier oben getroffen haben. Und speichern sie in den jeweiligen Arrays. Und mit diesen Daten können wir jetzt die aktuellen Werte, den KWert null und den DWert null für die jeweilige Kerze null berechnen. Das ist die aktuelle Kerze. Das Gleiche machen wir noch mal für die Kerze davor. Das wäre Kerze eins. Die Ergebnisse weisen wir den Variablen KWert eins und DWert eins zu. Und jetzt können wir ein Kaufen Signal ermitteln. Immer wenn beide Werte unter 20 sind, wenn als der KWert für die aktuelle Kerze kleiner ist als 20 und auch der DWert für die aktuelle Kerze kleiner ist als 20, dann prüfen wir, ob eine Überkreuzung stattgefunden hat. Wenn nämlich der aktuelle KWert größer ist als der aktuelle DWert und der KWert für Kerze eins noch kleiner war als der DWert, dann wäre das ein Kaufen Signal. Also weisen wir das Wort Kaufen unserer Signal Variable zu. Für das Verkaufen Signal prüfen wir auf den umgekehrten Fall ab. Wenn beide Werte über 80 sind, das wäre hier oben der Fall. Man sieht hier auch die 80 und die 20 an den jeweiligen gestrichelten Linien. Wenn also KWert für Kerze null größer ist als 80 und DWert für Kerze null größer ist als 80, dann prüfen wir wieder, ob es eine Überkreuzung gegeben hat. Das wäre der Fall, wenn der aktuelle KWert kleiner ist als der DWert für die aktuelle Kerze. Und wenn der KWert für die letzte Kerze noch größer war als der DWert. In dem Fall hätten wir ein Verkaufen Signal. Darum weisen wir das Wort Verkaufen unserer Signal Variable zu. Der eigentliche Handelsvorgang für den Verkauf von zehn Mikrolot prüft ab, ob das Signal tatsächlich auf Verkaufen steht. Und ob die Anzahl der Positionen kleiner ist als eins. Also ob wir keine geöffnete Position haben. In dem Fall nutzen wir trade.Sell um zehn Mikrolot zu verkaufen. Im andern Fall, wenn das Signal auf Kaufen steht und wir ebenfalls keine geöffnete Position haben, dann nutzen wir trade.Buy um zehn Mikrolot zu kaufen. Zum Schluss erstellen wir hier noch eine Chart Ausgabe. Das macht der Comment Befehl. Der gibt uns den Text: Das aktuelle Signal ist, gefolgt von dem ermittelten Signal aus. Okay, das war es. Bitte klicken Sie hier oben auf Kompilieren oder drücken Sie F7. Das sollte dann hier ohne Fehler und Warnungen passieren. Und in dem Fall können Sie hier oben klicken oder F4 drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken STRG+R. Hier wählen wir bitte die Datei SimplerStochasticStandaloneEA.ex5 aus. Markieren hier unten die Option für die Visualisierung und starten unseren Test. Und hier läuft unser Indikator schon. Bei der ersten Überkreuzung hier unten oder hier oben, sollte eine Position eröffnet werden. Das ist jetzt gerade passiert. Und Sie haben in diesem kurzen Video gelernt, wie Sie den Stochastic Oszillator mit MQL5 vollständig automatisieren können, so dass Sie einen Expert Advisor haben, der im Metatrader 5 automatische dieses Signal handelt. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier im MQL5.

    [Download nicht gefunden.]

    Der Beitrag MQL5 TUTORIAL DEUTSCH – SIMPLER STOCHASTIC STANDALONE EXPERT erschien zuerst auf MQL5 Tutorial Deutsch.

    9 min
  • MQL5 TUTORIAL DEUTSCH – SIMPLER ADAPTIVE MOVING AVERAGE STANDALONE EA

    In diesem Video geht es um diesen Indikator hier. Das ist der Adaptive Moving Average. Der setzt sich aus mehreren Werten zusammen. Und zeichnet hier diese rote Linie. Und wann immer sich der Preis oberhalb der roten Linie befindet, ist das ein Kaufen Signal. Im andern Fall, wenn sich die Kerzen unterhalb der roten Linie bewegen, dann wäre das ein Verkaufen Signal. Wie kann man jetzt einen Expert Advisor erstellen, der in der Lage ist, nicht nur die Signale hier auf den Chart auszugeben, sondern auch eigenständig Positionen zu eröffnen. Um das zu tun, klicken wir auf diesen kleinen Button hier oder drücken die F4 Taste. Das ruft dann hier den Meta Editor auf. Und hier klicken wir auf Datei, Neu, Expert Advisor aus Vorlage. Weiter. Ich vergebe hier mal den Namen SimplerAMAStandaloneEA. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann man alles oberhalb von der On Tick Funktion löschen. Und die zwei Kommentarzeilen können ebenfalls entfernt werden. Zunächst nutzen wir die include Funktion. Damit holen wir uns die Datei Trade.mqh. Die ist Teil von MQL5 und stellt Handelsfunktionen bereit. Und sie ermöglicht uns, von CTrade eine Instanz mit dem Namen trade zu erstellen. Die werden wir gleich nutzen um Positionen zu eröffnen. Damit wir das können müssen einige Dinge berechnet werden. Zunächst einmal holen wir uns den Ask und den Bid Preis. Das geht mit SymbolInfoDouble für das aktuelle Währungspaar. SYMBOL_ASK liefert uns den Ask Preis. SYMBOL_BID liefert uns den Bid Preis. Wenn man mal auf ein Währungspaar hier klickt, dann sieht man: Das hier ist der Ask und das hier der Bid Preis. Diesen Preis zahlen wir, wenn wir etwas kaufen. Und das bekommen wir, wenn wir etwas verkaufen. Das dazwischen ist der Spread, davon lebt der Broker. Jetzt erstellen wir uns ein Preis Array. Das geht mit der Funktion MqlRates. Wir vergeben mal den Namen PriceInfo. Mit dem Befehl ArraySetAsSeries sortieren wir unser PriceInfo Array von der aktuellen Kerze an abwärts. Und mit der Funktion CopyRates füllen wir unser Array mit Preisdaten für das aktuelle Währungspaar und die auf dem Chart ausgewählte Zeiteinheit. Wir starten mit der aktuellen Kerze null, holen uns die Daten für drei Kerzen und speichern sie in unserem Array PriceInfo. Jetzt haben wir die Daten für die Kerzen, brauchen aber noch einen String für unser Signal. Diese Variable bekommt auch den Namen Signal. Noch haben wir keinen Wert zugewiesen. Den müssen wir nämlich noch berechnen. Für unser Signal brauchen wir noch ein Array. Das bekommt den Namen myPriceArray. Und nun kommt der eigentlich spannende Teil. Wir nutzen die Funktion iAMA, die mit MQL5 kommt, um für das aktuelle Währungspaar und die ausgewählte Zeiteinheit eine Definition für unseren Expert Advisor zu erstellen. Falls Sie sich fragen, was diese Zahlen hier bedeuten. 9,2,30, 0. Dann klicken Sie doch einmal auf Einfügen, Indikatoren, Tendenz, Adaptive Moving Average. Dann sehen wir hier eine neun für die Periode, zwei ist der Wert für den schnellen EMA. Null ist die Verschiebung und dreißig ist der langsame EMA. EMA steht an der Stelle für Exponential Moving Average. Und das sind genau die Zahlen, die wir hier sehen. Für den letzten Parameter verwenden wir PRICE_CLOSE. Denn wir möchten gerne unsere Ergebnisse aufgrund der Schlusskurse ermitteln. Auch dieses PriceArray müssen wir wieder von der aktuellen Kerze an abwärts sortieren indem wir ArraySetAsSeries verwenden. Und nun füllen wir mit CopyBuffer unser PriceArray anhand der MovingAverageDefinition, die wir hier oben getroffen haben. Für Buffer null, das ist die erste Signallinie von der aktuellen Kerze null für drei Kerzen mit Preisdaten und speichern sie in unserem Array. Indem wir auf Kerze null in unserem PriceArray zugreifen, können wir den AdaptivMovingAverage Wert berechnen. Wenn man hier mal kurz den Strategietester anhält und die Maus hier über den roten Strich hält, dann sieht man, dass hier ein Wert mit sechs Nachkommastellen angezeigt wird. Das ist das, was wir hier berechnen. Und wenn sich dieser Wert oberhalb des Schlusskurses von Kerze null befindet, dann möchten wir unser Signal auf Verkaufen stellen. Man muss dazu sagen, der Schlusskurs von Kerze null wird angezeigt, auch wenn die Kerze noch gar nicht geschlossen ist. Es handelt sich in diesem Fall immer um den aktuellsten Preis. Und natürlich gibt es das auch noch anders herum. Wenn der Wert für den AdaptivMovingAverage kleiner ist, als der Schlusskurs von Kerze null, wenn also die rote Linie unterhalb dieser Kerzen hier gezeichnet wird, dann möchten wir gerne kaufen und weisen darum das Wort kaufen unserer Signalvariable zu. Und wenn unser Signal den Wert verkaufen hat und die Funktion PositionsTotal < eins, mit andern Worten, wenn wir keine geöffneten Positionen haben, dann nutzen wir trade.Sell, um zehn Mikrolot zu verkaufen. Im andern Fall, wenn unser Signal auf kaufen steht und wir keine geöffneten Positionen auf dem Chart haben, dann nutzen wir trade.Buy, um zehn Mikrolot zu kaufen. Zum Schluss erstellen wir noch eine Chart Ausgabe. Das übernimmt der Comment Befehl. Der gibt uns den Text: Das aktuelle Signal ist. Gefolgt von dem berechneten Signal aus. Gut, das war es soweit. Klicken wir mal auf Kompilieren. Das hat ohne Fehler und Warnungen funktioniert. Und darum können wir jetzt hier oben klicken oder F4 drücken, um in den Meta Trader zurückzukehren. Und im Meta Trader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination STRG+R. Hier werden wir dann die Datei SimplerAMAstandaloneEA.ex5 aus. Markieren die Option für die Visualisierung und starten unseren Test: Und da läuft unser Expert Advisor schon. Wir haben auch schon eine geöffnete Position. Und Sie haben in diesem kurzen Video gelernt, wie Sie den Adaptiv Moving Average mit MQL 5 nicht nur berechnen, sondern auch automatisch handeln können. Und Sie haben das selbst programmiert mit diesen paar Zeilen hier in MQL5.

    [Download nicht gefunden.]

    Der Beitrag MQL5 TUTORIAL DEUTSCH – SIMPLER ADAPTIVE MOVING AVERAGE STANDALONE EA erschien zuerst auf MQL5 Tutorial Deutsch.

    8 min
  • MQL5 Tutorial Deutsch – Simpler Average True Range Expert Advisor
    Einführung in den Average True Range Indikator (00:00 – 00:19) Einführung in den Average True Range (ATR) Indikator, der für die Analyse der Marktvolatilität verwendet wird und aus einer einzigen Linie besteht, die auf 14 Kerzen basiert. Analyse des Average True Range Indikators (00:19 – 01:04) Analyse des ATR Indikators anhand von Chartbeispielen, die zeigen, wie der Indikator starke oder schwache Kursbewegungen anzeigt. Erstellung eines Expert Advisors für den ATR Indikator (01:04 – 03:06) Anleitung zur Erstellung eines Expert Advisors im MetaEditor, der den ATR Indikator berechnet, inklusive der Einrichtung des MetaEditors und der Definition des Arrays und der Indikator-Eigenschaften. Berechnung und Ausgabe des ATR Werts (03:06 – 03:46) Schritt-für-Schritt-Anleitung zur Berechnung des ATR Werts und zur Ausgabe dieses Werts auf dem Chart. Kompilieren und Testen des Expert Advisors im MetaTrader (03:46 – 04:23) Anleitung zum Kompilieren des Expert Advisors und zum Testen im MetaTrader mit dem Strategie-Tester. Demonstration des Expert Advisors im MetaTrader (04:23 – 05:38) Demonstration des Expert Advisors im MetaTrader, Anzeige des ATR Werts und Interpretation der Signale, inklusive der Verbesserung des Indikators durch Anpassung der Kerzenanzahl. Zusammenfassung und Anwendungsmöglichkeiten (05:38 – 05:49) Zusammenfassung des Gelernten über den ATR Indikator und Anleitung zur Programmierung des Indikators in einem Expert Advisor in MQL5.   Diesmal sehen wir uns den Average True Range Indikator an der auch mit dem MetaTrader 5 ausgeliefert wird. Das ist ein sehr einfacher Indikator der aus einer einzigen Linie besteht. Er wird rückgerechnet auf 14 Kerzen und vom Prinzip geht es darum, dass dieser Indikator anzeigen soll ob wir gerade sehr schwache oder sehr starke Kursbewegungen haben. Sobald diese Linie hier unten weit unten landet, bekommen wir hier oben den Text schwacher Average True Range Wert angezeigt und die Theorie ist, dass nach sehr kleinen Kerzen und wenig Bewegung dieser Indikator wieder nach oben geht und in dem Moment wo wir hier sehr große Kerzen sehen und die Volatilität steigt, zeigt uns hier oben unser ExpertAdvisor „STARKER AverageTrueRangeWert“ an und der Wert hinter diesem Text sollte immer übereinstimmen mit dem Wert aus dem Indikator hier unten. Das ist z.b nützlich für Systeme bei denen man sich in schwachen Phasen raushalten möchte. Für viele Strategien ist es einfach nicht sinnvoll in einen Seitwärts-Markt einzusteigen, also wartet man ab bis sich der Markt etwas stärker bewegt. Wie kann man jetzt für den AverageTrueRange Indikator einen ExpertAdvisor erstellen? Dazu klicken wir hier oben im MetaTrader auf dieses kleine Symbol oder drücken die F4 Taste. Das ruft dann den MetaEditor auf und hier gehen wir auf Datei, neu, ExpertAdvisor von Vorlage. Klicken auf Weiter und vergeben den Namen „SimplerAverageTrueRangeEA“, klicken noch mal auf weiter, weiter, fertigstellen und löschen jetzt alles oberhalb der „OnTick“ Funktion. Auch die beiden Kommentarzeilen hier können verschwinden. Das Erste was wir jetzt brauchen ist ein „Array“ für Preis Daten. Das ist vom Typ „double“ und trägt den Namen“ PreisArray“. Im nächsten Schritt nutzen wir die eingebaute mql5 Funktion „iATR“ für das aktuell auf dem Chart angezeigte Währungspaar und die für das Chart ausgewählt Periode wie z.b. das Minuten Chart und wir wollen unser Ergebnis berechnen aufgrund der letzten 14 Kerzen. Der Grund dafür ist, dass der Average True Range Indikator von „J. Welles Wilder, Jr“ für diese 14 Kerzen definiert wurde. Wenn man übrigens bei Wikipedia auf den Namen klickt,
    6 min
  • MQL5 TUTORIAL DEUTSCH – Simpler Market Facilitation Index
    Dieses farbenfrohe Lichterspiel hier im Hintergrund ist der Market Facilitation Index. Auch der ist im MetaTrader 5 enthalten, und in diesem Video möchten wir uns einmal anschauen, wie man den BWMFI-Wert hier auf dem Chart ausgeben kann. Falls Sie sich fragen, was diese unterschiedlich gefärbten Balken hier bedeuten: Wikipedia bietet hier in englischer Sprache für den Market Facilitation Index die Erklärungen für die vier unterschiedlichen Darstellungen, die es gibt. Grundsätzlich geht es darum, eine Verbindung zwischen dem Indikator und dem Marktvolumen herzustellen. Ich selbst bin bei der Signalwirkung von diesem Indikator eher skeptisch, aber wir wollen uns jetzt einmal anschauen, wie man den BWMFI-Wert von Bill Williams in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte hier oben auf diesen kleinen Button im MetaTrader, und jetzt sollten Sie den Meta-Editor sehen. Und hier wählen wir „Datei/ Neu/ Expert Advisor (Vorlage)/ Weiter“. Ich vergebe hier einmal den Namen „SimplerBWMFI“, klicke auf „Weiter/ Weiter/ Fertigstellen“. Und jetzt können Sie alles oberhalb der „onTick“-Funktion entfernen und auch diese beiden Kommentarzeilen löschen. Innerhalb der „onTick“-Funktion erstellen wir uns zunächst einmal ein Array für den Expert Advisor. Das ist vom Typ „Double“ und bekommt den Namen „BWMFIArray“, das steht für „Bill Williams Market Facilitation Index“. Danach definieren wir den Expert Advisor, indem wir die eingebaute MQL5-Funktion iBWMFI nutzen. Die benötigt als Parameter das aktuell auf dem Chart ausgewählte Währungspaar, die auf dem Chart eingestellte Zeiteinheit, und als 3. Parameter wird das Tick-Volumen übergeben. Denn wenn man sich hier einmal die Eigenschaften mit der rechten Maustaste anzeigen lässt, dann sieht man hier unten, dass als Standardwert-Volumen „Tick“ eingestellt ist. Im Anschluss sortieren wir unser Array von der aktuellen Kerze abwärts. Das kann die Funktion „ArraySetAsSeries“ übernehmen, die ebenfalls in MQL5 eingebaut ist. Die sortiert unser Array, welches wir hier oben erstellt haben, von der aktuellen Kerze 0 –das ist diese Kerze- abwärts für 3 Kerzen. Und danach können wir mit „CopyBuffer“ unser Array hier mit Daten füllen. Wir möchten das gerne anhand der von uns getroffenen Definition aus dieser Zeile hier machen, für jeweils einen Buffer oder eine Linie, darum nutzen wir hier den Wert 0. Wir brauchen von der aktuellen Kerze für 3 Kerzen die Daten. Da die aktuelle Kerze den Index 0 hat, nutzen wir hier die 0, und diese 3 sorgt dafür, dass wir auch für die nächsten 2 Kerzen Daten erhalten. Und alle diese Daten möchten wir im Array speichern, darum geben wir als letzten Parameter hier unser BWMFIArray an. Um den aktuellen Wert berechnen zu können, greifen wir auf die Kerze 0, also auf die aktuelle Kerze in unserem BWMFIArray, zu und weisen das Ergebnis der Variable „BWMFIWert“ zu. Die ist vom Typ „Double“, kann also Dezimalzahlen mit Nachkommastellen verarbeiten. Fehlt noch die Ausgabe auf dem Chart, und das übernimmt für uns die MQL5-Funktion „Comment“. Die wird uns den Text „BWMFIWert“, gefolgt von dem hier berechneten Wert ausgeben. Das war’s auch schon. Sie können jetzt hier oben auf „Kompilieren“ klicken, oder F7 auf Ihrer Tastatur drücken; dann sollten Sie hier unten keine Fehler oder Warnungen erhalten. Und wenn das bei Ihnen auch so ist, dann klicken Sie bitte hier oben auf diesen kleinen Button, oder drücken die F4-Taste auf Ihrer Tastatur, um in den MetaTrader zurückzukehren. Und im MetaTrader klicken wir auf „Ansicht/ Strategietester“, oder drücken die Tastenkombination Stgr+R. Das ruft dann hier dieses StrategietesterPanel auf, und hier wählen wir die Datei „SimplerIBWMFI.ex5“ aus. Bitte aktivieren Sie hier unten die Option für die Visualisierung, und starten Sie Ihren Test. Und jetzt sollte Ihr Bildschirm so oder so ähnlich aussehen. Man kann hier erkennen, dass der BWMFI nur 5 Nachkommastellen hat. Unser berechneter Wert hier ist deutlich länger.
    7 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

About MQL5 Tutorial - Automatisch traden mit Metatrader5

From the publisher's feed

Metatrader5 MQL5 Expert Advisor Tutorial