MQL5 Tutorial - Automatisch traden mit Metatrader5

MQL5 TUTORIAL DEUTSCH – SIMPLER ORDER HISTORY PROFIT


Listen Later

In diesem Video möchten wir uns einmal anschauen, wie man auf die historischen Ergebnisse, beispielsweise den Profit zugreifen kann. Wir öffnen dazu in diesem Expert Advisor vollautomatisch Positionen. Und wenn immer eine Position geschlossen wird, ändert sich hier oben diese Ausgabe. Die zeigt uns aktuell den Profit der letzten Position, die entsprechende Ticketnummer und die Positionsrichtung an. Wie kann man jetzt einen Expert Advisor programmieren, der in der Lage ist, den Profit aus den historischen Daten der geschlossenen Positionen zu ermitteln? Um das zu tun, klicken wir hier oben auf diesen kleinen Button oder drücken die F4 Taste. Das ruft dann hier den Meta Editor auf. Und hier wählen wir Datei, Neu, Expert Advisor aus Vorlage. Weiter. Ich vergebe hier mal den Namen SimplerOrderHistoryProfit. Klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der On Tick Funktion verschwinden. Auch die zwei Kommentarzeilen werden gelöscht. Zunächst importieren wir uns die Datei Trade.mqh und erstellen eine Instanz der Klasse CTrade. Die hat den Namen trade und wir werden sie gleich zum Öffnen von Positionen benötigen. In der On Tick Funktion berechnen wir uns den Ask und den Bid Preis. Das geht mit SymbolInfoDouble für das aktuelle Symbol. Wir nutzen SYMBOL_ASK für den Ask Preis. Und SYMBOL_BID für den Bid Preis. Wenn die Funktion PositionsTotal kleiner als eins ist, also wir keine geöffneten Positionen haben, dann möchten wir mit trade.Buy und trade.Sell jeweils zehn Mikrolot als Testposition eröffnen. Denn wir brauchen ja etwas, damit wir Profite ermitteln können. Das tun wir dann indem wir eine noch zu erstellende Funktion GetLastProfit aufrufen. Die wird uns dann unseren letzten Profit zurück liefern. Und zum Schluss erstellen wir noch eine Chartausgabe, die uns anzeigt: Mein letzter Profit war. In der neuen Zeile sehen wir dann unseren Rückgabewert von dieser Funktion, die wir jetzt noch programmieren müssen. Dazu erstellen wir unter der On Tick Funktion eine weitere Funktion. Die bekommt den Namen GetLastProfit. Hier brauchen wir zunächst einige Variablen. TotalNumberOfDeals wird uns die Gesamtanzahl der Deals aus der Historie anzeigen. MQl5 kennt Deals, Tickets, Orders und Positionsbezeichnungen. Eine Order ist immer ein Auftrag. Ich will etwas. Ob der Broker das annimmt oder nicht, ist zu diesem Zeitpunkt noch nicht klar. Wenn es aber dazu kommt, dann wird aus der Order ein sogenannter Deal. Der Broker erklärt sich bereit, das zu tun, was ich von ihm möchte. Und daraus kann dann eine Position entstehen, die in eine bestimmte Richtung geht. Zunächst nutzen wir den Befehl HistorySelect um uns die Historie aufzurufen. Wir hätten gerne vom Anfang bis zum derzeitigen Zeitpunkt alles. Jetzt gehen wir alle Vorgänge durch. Dazu machen wir uns hier eine Integerwert von null. Und solange der kleiner ist als die totale Anzahl von Deals in der Historie, zählen wir den immer weiter hoch. Jetzt versuchen wir eine Ticketnummer zu bekommen. Deswegen diese If Abfrage. Denn solange wir noch keine geschlossenen Positionen existieren, ist das nicht möglich. Sobald aber eine Ticketnummer in der Historie auftaucht, holen wir uns mit HistoryDealGetTicket für diese Position die entsprechende Ticketnummer und speichern sie in dieser Variable. Jetzt ermitteln wir den Profit. Das geht mit der Funktion HistoryDealGetDouble für die Ticketnummer. Und hier nutzen DEAL_PROFIT. Alles in Großbuchstaben. Zusätzlich holen wir uns noch den OrderTyp. Hierfür nutzen wir HistoryDealGetInteger für unsere Ticketnummer und holen uns den DEAL_TYPE. Auch alles in Großbuchstaben. Jetzt ermitteln wir das Symbol zur Ticketnummer mit HistoryDealGetString, holen wir uns aus unserer Ticketnummer den Wert für DEAL_SYMBOL. Und außerdem brauchen wir noch den DealEntryTyp für das OrderTicket. Wir möchten gern wissen, ob es sich um eine Kaufen oder Verkaufen Order handelt. Und diesen Ordertyp bekommen wir über HistoryDealGetInteger für die Ticketnummer.
...more
View all episodesView all episodes
Download on the App Store

MQL5 Tutorial - Automatisch traden mit Metatrader5By MQL5 Tutorial - Automatisch traden mit Metatrader5