Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 353
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Das verstehe ich nicht. Diese Option gibt den Speicherort der Datei - \MetaQuotes\Terminal\Common - an. Ohne diese Option kann ich die Datei, die im Tester erzeugt wurde, nicht abrufen. Ohne diese Option wird die Datei in MQL4\Files gesucht - und ich kann die Datei aus dem Testgerät nicht dort ablegen.
Ich habe auf das Fehlen dieser Flagge hingewiesen.
Ich habe auf das Fehlen dieser Flagge hingewiesen.
Danke für Ihre Hilfe - es ist nur ein Tippfehler - ich kenne diese Flagge. Das Problem ist nicht gelöst - die Datei will nicht im gemeinsamen Lesemodus geöffnet werden - auch nicht ohne Verwendung des Testers. Solange diese Datei durch den Indikator geöffnet ist, kann das Skript sie nicht öffnen. Notepad hingegen öffnet es ohne Probleme.
Danke für die Hilfe - es ist nur ein Tippfehler - ich kenne diese Flagge. Das Problem ist nicht gelöst - die Datei will sich nicht im gemeinsamen Lesemodus öffnen lassen - auch nicht mit dem Tester. Solange diese Datei durch den Indikator geöffnet ist, kann das Skript sie nicht öffnen. Notepad hingegen öffnet es problemlos.
Versuchen Sie, die Daten periodisch mit FileFlush() auf die Festplatte zu zwingen.
hmmm: eine weitere Sache, die mir nicht sofort aufgefallen ist
tvv:
ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
Die Datei im Skript wird wie folgt geöffnet: ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ);
Bitte weisen Sie mich auf meinen Fehler hin.
Versuchen Sie, die Daten periodisch mit FileFlush() auf die Festplatte zu zwingen.
Hinweis: Eine andere Sache, die mir vor einiger Zeit aufgefallen ist
Es ist seltsam, dass es dort heißt. Es sollte ein FILE_CSV-Flag vorhanden sein..CSV ist eine Dateierweiterung - Sie können jede beliebige Erweiterung verwenden - ich habe sie gewählt, damit Sie sie in Notepad nachschlagen können. Hier ist ein interessanter Artikel - https://www.mql5.com/ru/articles/2720. Mein Code entspricht den dort beschriebenen Regeln - aber ich kann die Datei nicht programmatisch lesen. im Modus FILE_SHARE_READ. Für die Datei EURUSD20.HST mit der Erweiterung .HST - muss das Flag FILE.BIN lauten, damit in MT 4 Datei kann offline geöffnet werden.
.CSV ist eine Dateierweiterung, die beliebig sein kann - ich habe sie gewählt, damit ich sie in Notepad nachschlagen kann. Hier ist ein interessanter Artikel - https://www.mql5.com/ru/articles/2720. Mein Code entspricht den dort beschriebenen Regeln - aber ich kann die Datei nicht programmatisch lesen. im Modus FILE_SHARE_READ. Für die Datei EURUSD20.HST mit der Erweiterung .HST - muss das Flag FILE.BIN lauten, damit in MT 4 Datei kann offline geöffnet werden.
Ich habe versucht, nicht in den Tester zu arbeiten, sondern nur auf einem normalen Chart (EURUSD M1) - Ich führe den Indikator, der die TF M20 erzeugt.
So öffnen Sie die Datei:
ExtHandle= FileOpen("EURUSD20.csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ).
Die Datei wird dann im Ordner MQL4\Files angezeigt. Dann führen wir das Skript auf einem regulären Chart (EURUSD M5) aus, der den Inhalt von EURUSD20.csv in EURUSD20.HST kopiert. Die Datei EURUSD20.HST wird im Ordner history im gleichen Verzeichnis wie MQL4 erstellt.
Der Skriptcode:
ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ) Datei lesen;
ExtHandleW=FileOpenHistory("EURUSD20.hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ);
Alles funktioniert nur, wenn ich den Indikator aus dem M1-Diagramm entferne. Das heißt, dass der Lesemodus für die Dateifreigabe bei mir nicht funktioniert.
Hallo! Was ist die Metatrader-Störung auf dem Eurodollar-Diagramm? Eine Tageskerze für Sonntag 9.10.2011 erschien, auf dem Stundenchart nur eine Stunde 23:00 für dieses Datum. Dies ist wahrscheinlich auf die Umstellung der Uhren auf Winterzeit zurückzuführen. Wie kann man das beheben? Eine solche Kerze gab es vorher nicht.
Das Problem wird wie folgt gelöst: Das Programm, das die Datei schreibt, muss nach jedem Schreibvorgang FileClose schließen und damit die Datei für ein anderes Programm zum Lesen freigeben. Dies liegt daran, dass die Daten zunächst in den Puffer geschrieben werden und eine Zeit lang nicht physisch in der Datei vorhanden sind. Durch das Schließen der Datei wird der Puffer in der Datei freigegeben. Vor dem nächsten Schreiben
wird die Datei erneut geöffnet und der Zeiger wird an das Ende der Datei
Hallo! Können Sie mir sagen, ob es richtig ist, dass die Anzahl der erhaltenen Punkte in beiden Ausdrücken gleich ist? Das ist wirklich wichtig für mich!
Genauer gesagt, können die Punkte nicht negativ sein? Oder ist es immer noch.....))
Guten Abend.
Ich habe mit dem Studium von mql5 begonnen und habe einige Fragen, also bitte helfen Sie mir.
Das Ziel ist es, die Werte der letzten n Candlesticks in ein Array zu bekommen und das Array zu sortieren, indem nur die ungeschlagenen Candlesticks ausgewählt werden.
Ich habe die Funktion geschrieben:
Es erzeugt einFehlerfeld außerhalb des Bereichs.
Soweit ich verstanden habe, wird dieser Fehler durch die Adressierung einer nicht existierenden Zelle des Arrays verursacht.
Aber ich konnte den Fehler beim Verschieben nicht finden. Bitte teilen Sie mir mit, wo ich einen Fehler gemacht habe, oder gibt es vielleicht eine elegantere Sortierung.
Guten Abend.
Ich habe mit dem Studium von mql5 begonnen und habe einige Fragen, also bitte helfen Sie mir.
Die Aufgabe besteht darin, die Werte der letzten n Candlesticks in ein Array zu übertragen und das Array zu sortieren, indem nur die ungeschlagenen Candlesticks ausgewählt werden.
Ich habe die Funktion geschrieben:
Es erzeugt einFehlerfeld außerhalb des Bereichs.
Soweit ich verstanden habe, wird dieser Fehler durch die Adressierung einer nicht existierenden Zelle des Arrays verursacht.
Aber ich konnte den Fehler beim Verschieben nicht finden. Bitte teilen Sie mir mit, wo ich einen Fehler gemacht habe, oder gibt es vielleicht eine elegantere Sortierung.