MQL4 TUTORIAL GRUNDLAGEN – 94 SIMPLER SPREADSHEET FILE WRITER

video
play-sharp-fill

 

In diesem Video wollen wir uns einmal anschauen, wie man Preisdaten, wie die hier auf dem Chart, für die letzte Kerze in eine Datei schreiben kann. In unserem Fall in eine solche Tabelle. Also schauen wir einmal, wie man so etwas mit MQL4 programmieren kann. Um das zu tun, klicken Sie 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 mal den Namen SimplerSpreadsheetWriter, Spreadsheet steht für Tabelle, klicke auf Weiter, Weiter und Fertigstellen. Jetzt kann alles oberhalb der OnTick Funktion hier gelöscht werden. Und auch die zwei Kommentarzeilen werden entfernt. Im ersten Schritt erstellen wir uns zwei Variablen. Die sind statisch. Das bedeutet, sie merken sich innerhalb dieser Funktion ihren letzten Wert. Und zwar für den letzten Höchst- und den letzten Niedrigstpreis. Danach prüfen wir hier ab, ob der Wert für den letzten Höchstpreis, den wir in dieser Variable haben, übereinstimmt mit dem Höchstpreis der letzten Kerze auf dem Chart. Denn wenn das nicht so ist, dann haben wir eine neue Kerze. Hier wiederholen wir die gleiche Prüfung nochmal für den niedrigsten Preis der letzten Kerze. Und wenn beide nicht übereinstimmend sind mit den Werten, die wir in den statischen Variablen haben, dann möchten wir die gerne in eine Tabelle schreiben. Unsere Tabelle bekommt hier den Namen Spreadsheet.csv. csv ist eine Dateiendung, die von den Tabellenkalkulationsprogrammen wie Excel oder Libreoffice als Tabelle erkannt und entsprechend formatiert werden kann. Danach versuchen wir die Datei zu öffnen. Sofern sie nicht existiert, wird sie hier über FileOpen neu angelegt. Und zwar unter dem Dateinamen den wir hier festgelegt haben. Der Ort, wo die Datei abgelegt wird, kann unterschiedlich sein. Wir öffnen die Datei hier sowohl zum Lesen, als auch zum Schreiben. Der Dateityp ist, wie gesagt, eine csv Datei und wir werden ANSI Mode verwenden. Das bedeutet, wenn man das einmal markiert und die F1 Taste drückt, dann sehen wir, es gibt neben dem ANSI Mode auch UNICODE. Sowas würde man zum Beispiel für Umlaute und Sonderzeichen benötigen. Und statt einer csv Datei könnten wir auch eine Textdatei verwenden. Ich möchte das aber als Tabelle anlegen. Und im nächsten Schritt suchen wir mit FileSeek innerhalb unserer Datei vom Start bis zum Ende SEEK_END steht hier nämlich für das Dateiende und das benötigen wir, damit wir etwas anhängen, statt die Inhalte zu überschreiben. Sobald wir das Ende ermittelt haben, können wir dann mit FileWrite in unsere Datei die entsprechenden Werte eintragen. Für die einzelnen Spalten trennen wir die Werte mit einem Komma. Bei mir ist das jeweils ein Text und danach der entsprechende Wert. Das hier steht für den Zeitstempel. Der wird hier in Sekunden seit dem 1. Januar 1970 hochgezählt. Danach kommt der Text und der Wert für den Höchstpreis der letzten Kerze. Und im Anschluss der Text und der Wert für den niedrigsten Preis der letzten Kerze. Nachdem wir diese Zeile geschrieben haben, müssen wir die Datei mit FileClose wieder schließen. Und damit wir die nächsten Werte auch richtig erkennen, weisen wir jetzt die aktuellen Höchst- und Niedrigstpreise als letzten Wert zu. Denn beim nächsten Aufruf dieser Funktion sind ja die aktuellen Werte die letzten Werte. Machen wir noch die If-Schleife zu und hängen hier noch eine Kommentarfunktion an. Damit wir auf dem Chart auch sehen, wenn sich die Preise verändern. Und das war es auch soweit. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung haben, was diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht eines der anderen Grundlagenvideos ansehen. Vielleicht ist aber auch der Premium Kurs interessant für Sie. Den finden Sie auf unserer Webseite. Und da werden solche Dinge wie das hier auch behandelt. Für den Moment klicken wir hier mal auf Kompilieren oder drücken die F7 Taste. Das sollte ohne Fehler funktionieren. Und wenn das bei Ihnen auch so ist, dann können Sie hier oben auf dieses kleine Symbol klicken oder die F4 Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir Ansicht, Strategietester oder drücken die Tastenkombination Strg+R. Bitte wählen Sie hier die neu erstellte Datei SimplerSpreadsheetWriter.ex4 aus, markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch schon los. Ich stoppe den mal kurz, klicke auf Datei, Dateiordner öffnen. Hier wird mir jetzt die Ordnerstruktur unterhalb von meinem Terminal angezeigt. Und wenn ich hier auf den Ordner tester und dann files klicke, taucht meine Datei hier auf. Mit einem Doppelklick startet jetzt meine Tabellenkalkulation und zeigt mir das Format an. Das übernehme ich hier mit Okay. Und tatsächlich, hier stehen meine Werte. Unsere Tabelle hat also die aktuellen Höchst- und Niedrigstpreise für die letzte Kerze jeweils abgespeichert. Und Sie haben in diesem kurzen Video gelernt, wie Sie das selbst programmieren können mit diesen paar Zeilen hier in MQL4.