CSV File lässt sich nicht erstellen, was tun?

 
File lässt sich nicht erstellen. Woran kann das liegen?

EDIT:

FileIsExist ()  sagt nein und der error liegt bei 5019. Das heißt das nichts erstellt wurde. Habe Filenamen, Flags und delimiter jetzt mehrfach variiert. und Metatrader & MQL Neugestartet. ich sehe keinen grund warum das file nicht erstellt werden kann, dennoch wird es nicht erstellt.


Code falls er irgendwem wichtig ist. (gehe aber mal davon aus dass FileOpen FileSeek FileWrite und FileClose ausreichen)

void WriteFile(string filename,int &Input_Types[], double &x_data[][63])
   { 
   FileHandle = FileOpen(filename,FILE_READ||FILE_WRITE||FILE_CSV,","); //hier nur die ersten {ArraySize(Input_Types+)+ 1 für Y} Zeilen importieren, der rest ist ausgenullt
   FileSeek(FileHandle,0,SEEK_END);

   int bars=iBars(my_symbol,my_timeframe);
   Print(" Bars: "+(string)bars+" Found");
   
   ArrayResize(x_data, bars);
            
   for(int i=bars-1;i>0;i--)
       {
       x_data[i][0] = iClose(my_symbol,my_timeframe,i); // hieraus wird später unser Y Label
       
       for (int j = 1; j<ArraySize(Input_Types)+1;j++)
            {
                  time=iTime(my_symbol,my_timeframe,i);
                 
            x_data[i][j]= Switch_Input_Types(Input_Types[j],i); // FeatureValue
            
                  //--- check
                  if(time!=0)
                    {
                     Comment("Bar Index: "+(string)i+
                             " Time: "+TimeToString(time)/*+
                             " Open: "+DoubleToString(open)+
                             " High: "+DoubleToString(high)+
                             " Low: "+DoubleToString(low)+
                             " Close: "+DoubleToString(close)*/);
                     Print ("Matrix finished");     
                     Sleep(25);
                    }
             }
         FileWrite(FileHandle,x_data[i][0],x_data[i][1],x_data[i][2],x_data[i][3],x_data[i][4],x_data[i][5],x_data[i][6],x_data[i][7],x_data[i][8],x_data[i][9],x_data[i][10],x_data[i][11],x_data[i][12],x_data[i][13],x_data[i][14],x_data[i][15],x_data[i][16],x_data[i][17],x_data[i][18],x_data[i][19],x_data[i][20],
                        x_data[i][21],x_data[i][22],x_data[i][23],x_data[i][24],x_data[i][25],x_data[i][26],x_data[i][27],x_data[i][28],x_data[i][29],x_data[i][30],x_data[i][31],x_data[i][32],x_data[i][33],x_data[i][34],x_data[i][35],x_data[i][36],x_data[i][37],x_data[i][38],x_data[i][39],x_data[i][40],
                        x_data[i][41],x_data[i][42],x_data[i][43],x_data[i][44],x_data[i][45],x_data[i][46],x_data[i][47],x_data[i][48],x_data[i][49],x_data[i][50],x_data[i][51],x_data[i][52],x_data[i][53],x_data[i][54],x_data[i][55],x_data[i][56],x_data[i][57],x_data[i][58],x_data[i][59],x_data[i][50],
                        x_data[i][61],x_data[i][62]);    
         }      
         FileClose(FileHandle);
         filewritten=true;
   } 
 
Bayne:

Besteht die möglichkeit das das File in diesem Fall erstellt wurde jedoch wo anders abgelegt wurde als im MQL5/Files Ordner oder muss ich meinen Code überdenken?



Installier dir :

https://voidtools.com/

Gib deinen Dateinamen

string filename

ein und es dauert keine 500ms und du bekommst den Pfad angezeigt.

 
Christian:

Installier dir :

https://voidtools.com/

Gib deinen Dateinamen

ein und es dauert keine 500ms und du bekommst den Pfad angezeigt.

Bekomme Leider 0 Einträge dafür.

Und außerdem bei FileOpen den FileHandle "INVALID_HANDLE"  sowie bei GetLastError() die 5002.

Der File soll durch das FileOpen erstellt werden. muss ich irgendwas hinzufügen? vllt den Pfad "MetaQuotes\Terminal\67381DD86A2959850232C0BA725E5966\MQL5\Files" ?

 
Bayne:

Bekomme Leider 0 Einträge dafür.


Dann gibt es das File auch nicht.

Du hast doch so gesucht

filename*

?

Wollte nur fürs suchen helfen.

 
Also ich würde mal als erstes überprüfen, ob das File erstellt wurde und es keine Fehler gab - das fehlt bei Dir!
 
Carl Schreiber:
Also ich würde mal als erstes überprüfen, ob das File erstellt wurde und es keine Fehler gab - das fehlt bei Dir!
FileIsExist ()  sagt nein und der error liegt mittlerweile bei 5019. Das heiß das nichts erstellt wurde. habe Filenamen, Flags und delimiter jetzt mehrfach variiert. und Metatrader & MQL Neugestartet. ich sehe keinen grund warum das file nicht erstellt werden kann, dennoch wird es nicht erstellt.
 

Wie ist der Filename? Manche (Sonder-) Zeichen werden nicht akzeptiert!

Übrigens wieder etwas, das Dir der Debugger auch erzählt hätte!

 
Carl Schreiber:

Wie ist der Filename? Manche (Sonder-) Zeichen werden nicht akzeptiert!

Übrigens wieder etwas, das Dir der Debugger auch erzählt hätte!

string filename = "12345.csv";

Gibt es keine andere möglichkeit ein csv durch befehl zu erschaffen? (statt FileOpen scheint irgendwas zu fehlen)

habe den gleichen code wie oben nochmal in einen komplett neuen EA gepflanzt: selbes ergebnis. Langsam glaube ich dass etwas mit meiner Metatraderversion nicht stimmen könnte.(Verion 5.00 build2085)

EDIT: Selbes ergebnis bei MT5 von anderem Broker

 

Versuch's mal mit der korrekten Angabe des Delimiters (Trennzeichens): nicht "," sondern ','

Lies genau was in der Doc. steht: https://www.mql5.com/de/docs/files/fileopen

Dokumentation zu MQL5: Dateioperationen / FileOpen
Dokumentation zu MQL5: Dateioperationen / FileOpen
  • www.mql5.com
[in]  Name der geöffneten Datei, kann Unterordner haben. Wenn die Datei für Schreiben geöffnet wird, werden die angegebenen Unterordner erzeugt werden, wenn sie es nicht gibt. FILE_CSV Date des Typs csv (alle geschriebenen Elemente werden in die Zeilen des entsprechenden Typs umgewandelt, unicode oder ansi, und durch Begrenzer getrennt)  ...
 

Also hier:

FILE_READ||FILE_WRITE||FILE_CSV

Das ist ein 'logisches' Oder. Guck mal in die Doku zu FileOpen, ganz unten auf der Seite steht, wie es gemacht werden soll:

FILE_READ|FILE_WRITE|FILE_CSV
Was benötigt wird ist ein bitweises Oder. Vielleicht kommst Du so an die Datei, den Rest hab ich nicht gelesen, richtiger ist es auf jeden Fall.
 
lippmaje:

Also hier:

Das ist ein 'logisches' Oder. Guck mal in die Doku zu FileOpen, ganz unten auf der Seite steht, wie es gemacht werden soll:

Was benötigt wird ist ein bitweises Oder. Vielleicht kommst Du so an die Datei, den Rest hab ich nicht gelesen, richtiger ist es auf jeden Fall.
Danke, das invalid handle ist jetzt endlich weg :)

Kann das File dennoch nicht (nichtmal mit dem Tool everything) finden. 
Sobald ich am Sonntag wieder an den Code kann werde ich auch deinen Vorschlag umsetzen @carl Schreiber

Danke euch beiden
Grund der Beschwerde: