Jump to content
Tom Next - Daytrading Community

Freie Ordnerwahl für den Datenexport


joshsmi

Recommended Posts

... ein beliebiges Zielverzeichnis.

 

Hallo, wer kennt sich aus, wie ich das bei Metatrader bewerkstelligen kann.

Ich bekomme es nur hin, etwas nach experts/files per script exportiert zu bekommen.

 

Dankeschön!

 

int start()
 {
 out_hist("EURUSD",1);  
 return(0);
 }

int out_hist(string ccy, int tf)
{
 string fname = ccy + ".csv";
 int handle = FileOpen(fname, FILE_CSV|FILE_WRITE, ",");
 if(handle>0)
   {     
    for(int i=iBars(ccy,tf)-1; i>=0; i--)
      {
      string date1 = TimeToStr(iTime(ccy,tf,i),TIME_DATE);
      date1 = StringSubstr(date1,0,4) + "." + StringSubstr(date1,5,2) + "." + StringSubstr(date1,8,2) ;
      string time1 = TimeToStr(iTime(ccy,tf,i),TIME_MINUTES);
      FileWrite(handle, date1, time1, iOpen(ccy,tf,i), iHigh(ccy,tf,i), iLow(ccy,tf,i), iClose(ccy,tf,i), iVolume(ccy,tf,i) );
      }
    FileClose(handle);
    Comment("History output complete");
   }
  return(0);
 }

  • Upvote 1
Link to comment
Share on other sites

Mit den MQL-Standardfunktionen geht es gar nicht.

 

Du musst stattdessen die kernel32.dll in dein Script einbinden und die Funktionen, die dort zum Zugriff auf Dateien zur Verfügung gestellt werden, nutzen.

 

Inbinden der dll und Deklaration der Funktionen:

 

#import "kernel32.dll"
int _lopen (string path, int of);
int _lcreat (string path, int attrib);
int _llseek (int handle, int offset, int origin);
int _lread (int handle, int& buffer[], int bytes);
int _lwrite (int handle, string buffer, int bytes);
int _lclose (int handle);
#import

 

Such mal bei mql4.com nach "Read_Write_File.mqh", dort siehst du, wie du die Funktionen nutzen musst/kannst.

  • Upvote 3
Link to comment
Share on other sites

@conglom-o : vielleicht sucht er , so wie ich , eine Lösung dafür, sich selber automatisch und kostenlos Historieen für spätere Backtests zu schaffen . KB

Schon klar - dazu kann man einfach automatisiert (bspw. per Batch-Datei oder einem Tool) außerhalb des MT die .hst Dateien sichern (wie erwähnt). Dazu muss man aber darauf achten, die Balken im Chart und in der Historie aufs Maximum zu stellen.

Link to comment
Share on other sites

Conglom-o, wie KB schon erwähnte, ich habe mir schon etwas dabei gedacht, auch dass dort csv Export steht im Script. Auch wenn es nicht für Backtest gedacht ist. Aber zumindest zeigt's mir, dass die Frage garnicht mal so dumm war, da auch Andere wohl auf ähnliche Ideen kamen und vor dem selben Problem standen. Und hst Dateien bringen mir nichts. Die müßte ich dann noch mal extra umwandeln. Im Script steht ja csv, also werde ich wohl auch (metatraderunabhängig) csv und nicht hst benötigen. Mit Metatrader an sich kann ich auch zufriedenstellend umgehen, weiß also, wo man hst findet und wie man das Maximum an Historie herausholt. Aber dazu gab es ja keine Frage. Ich hätte aber, wenn ich es nicht gewußt hätte, mit Absicht nicht noch extra nach hst & co gefragt, denn sonst hätte man mich noch gegengefragt, weshalb ich hst bräuchte, wenn ich auch csv haben könnte und dies auch mit weniger Historie zu bewerkstelligen sei. Nichts für ungut.

 

Danke an Knochen, dass die Frage richtig verstanden und aufgenommen wurde, so wie sie ist, und dann sogar etwas angeboten wurde, mit dem man etwas anfangen könnte. Ja, dass es normal nicht funktioniert, habe ich mir schon fast gedacht, da ich nichts fand. Danke jedenfalls für den sinnvollen Tip! Werde das mal probieren und daran herumdoktern.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...