Fehler 5002 bedeutet? "Ungültiger Dateiname ".
Ich kann aber nicht erkennen, warum "test.txt" falsch sein soll - stimmt den die Nummer der Fehlerzeile?
Fehler 5002 bedeutet? "Ungültiger Dateiname ".
Ich kann aber nicht erkennen, warum "test.txt" falsch sein soll - stimmt den die Nummer der Fehlerzeile?
Sorry da lag ein FileOpen dazwischen meine natürlich 5004.
FileIsExist gibt false aus.
Ich weiß jetzt nicht, wo die Datei bei Dir gesucht wird.
Mach mal ein FileCreate und schau mal wo das liegt, dann leg dort die Test.txt hin
Ich weiß jetzt nicht, wo die Datei bei Dir gesucht wird.
Mach mal ein FileCreate und schau mal wo das liegt, dann leg dort die Test.txt hin
Leider auch schon probiert. Liegt dann in Roaming\MetaQuotes\Terminal\67381DD86A2959850232C0BA725E5966\MQL5\Files
Habs auchnochmal mit FILE_CSV und einem test.csv file probiert -> same result.
gibt es nicht noch etwas was ich probieren kann?
Leider auch schon probiert. Liegt dann in Roaming\MetaQuotes\Terminal\67381DD86A2959850232C0BA725E5966\MQL5\Files
Habs auchnochmal mit FILE_CSV und einem test.csv file probiert -> same result.
gibt es nicht noch etwas was ich probieren kann?
Kann es doch ein einfacher Schreibfehler sein oder es liegt an der Zeichencodierung?
Mach 'mal ein CreateFile("test.txt"..) und öffnen das dann.
Kann es doch ein einfacher Schreibfehler sein oder es liegt an der Zeichencodierung?
Mach 'mal ein CreateFile("test.txt"..) und öffnen das dann.
habs jetzt mal mit "abc.txt" statt test.txt gemacht, weil alles schon voll damit ist ^^
Lässt sich problemlos öffnen. Woran kann das liegen? (das CSV von davor wurde auch von MQL5 geschrieben, könnte aber evtl im zeichencode geändert worden sein-> welcher wird verlangt? Unicode?-> umgewandelt, klappt immernoch nicht)
Edit habe jetzt das abc.txt mal zu UTF8 geändert und ist immernoch problmlos lesbar, daran wirds nicht liegen.
Btw das CSV welches ich öffnen will hat etwa 60.000 Zeilen
Wichtige Beobachtung:
Sobald man die Zeichencodierung eines Files ändert, egal ob ANSI oder UTF8 ist das File nicht mehr lesbar für MQL, das gilt AUCH wenn man die Codierung wieder zurück auf Unicode setzt. was tun?
(kein Schreibschutz, vollzugriff ist aktiviert)
help please :(
Handbuch zum Fehlerfinden:
1. lauffähiges script erstellen. Dateiname so wählen das er definitiv nur einmal auf dem Rechner vorkommt.
//+------------------------------------------------------------------+ //| Bayne_Forum_fileopen_write.mq5 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string mainPredictionCSV_Name = "man_nimmt_einen_namen_den_es_definitiv_nicht_gibt.txt"; int mainHandle = FileOpen(mainPredictionCSV_Name,FILE_READ|FILE_TXT); if(mainHandle >0) { Print("Main-Predictions File successfully opened."); FileClose(mainHandle); } else { Print("File "+mainPredictionCSV_Name+" not found, the last error is ", GetLastError()); } } //+------------------------------------------------------------------+
2. ProcessMonitor von SysinternalsSuite starten. https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
Alles exludieren bis auf terminal64.exe
3. script starten
4. Log im ProcMon ansehen
Dann erscheint dort der Fehler warum die Datei nicht geöffnet werden kann
Auch der Pfad erscheint wo die terminal64.exe sucht
*Instanz*/MQL5/Files/ !!!
5. file erstellen und dort ablegen.
6. name etwas abders aber uniqe wählen. "110011.txt"
7. script wiederholen
8. BINGO ...file opned
Codierung sollte keine Rolle spielen. Es kommt halt nur Salat raus wenns nicht passt.
Gruß

- 2017.09.12
- markruss
- docs.microsoft.com
Handbuch zum Fehlerfinden:
1. lauffähiges script erstellen. Dateiname so wählen das er definitiv nur einmal auf dem Rechner vorkommt.
2. ProcessMonitor von SysinternalsSuite starten. https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
Alles exludieren bis auf terminal64.exe
3. script starten
4. Log im ProcMon ansehen
Dann erscheint dort der Fehler warum die Datei nicht geöffnet werden kann
Auch der Pfad erscheint wo die terminal64.exe sucht
*Instanz*/MQL5/Files/ !!!
5. file erstellen und dort ablegen.
6. name etwas abders aber uniqe wählen. "110011.txt"
7. script wiederholen
8. BINGO ...file opned
Codierung sollte keine Rolle spielen. Es kommt halt nur Salat raus wenns nicht passt.
Gruß
Ersteinmal vielen dank für die Mühe, ich weiß deinen aufwand sehr zu schätzen Christian :)
im terminal direkt,(also nicht im tester -> wird es so angezeit wie oben-> works ... somehow)
thing is: (beim tester) es gibt keinen MQL5/Files Pfad unter den terminal64.exe einträgen, der den namen
man_nimmt_einen_namen_den_es_definitiv_nicht_gibt.txt
anzeigt :( habe sogar nochmal manuell nachgesucht (-> die Fehlermeldung erscheint also eher unter MQL5/Profiles/ {name des EAs})
Soweit sogut:
anschließend das csv umbenannt im obigen namen (nur halt beides mit .csv hinten dran versteht sich) und EA auf den chart angewand-> name not found (im terminal, also EA auf den chart direkt angewendet)
Bin nicht sicher ob es am CSV selbst liegt
Der Tester schreibt und liest die Dateien für jeden Agenten in einen separaten Ordner der oberhalb von MQL5 liegt, siehe Screenshot.
Lade dir den gratis 'Agent Ransack' aus dem Netz, der findet alles, und ist auch sauschnell

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
spottet ihr da einen Fehler ? File ist drinne im Files Ordner (zur sicherheit in jedem Files ordner pro Agent, wobei er immer im 3000er verschwindet)
Wie man sieht habe sicherheitshalber auch mit folgendem probiert:TerminalInfoString(TERMINAL_DATA_PATH
Auch die Flags FILE_COMMON und FILE_SHARE_READ habe ich durch.
Wollte ursprünglich eine CSV einlesen, habe es jedoch nun auch mit einer TXT versucht.
Ich habe keine Ahnung mehr was ich machen kann und bitte um hilfe. Result ist immer error 5002.