joshsmi Posted January 30, 2011 Report Share Posted January 30, 2011 ... 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); } 1 Quote Link to comment Share on other sites More sharing options...
conglom-o Posted January 30, 2011 Report Share Posted January 30, 2011 Was willst Du denn exportieren? Die Historie selber geht doch viel schneller über F2 und dann durchhangeln. Dann kannste auch das Verzeichnis frei wählen. Oder Du sicherst einfach die .hst Dateien. Quote Link to comment Share on other sites More sharing options...
Knochen Posted January 30, 2011 Report Share Posted January 30, 2011 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. 3 Quote Link to comment Share on other sites More sharing options...
Kleinerbroker Posted January 30, 2011 Report Share Posted January 30, 2011 @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 Quote Link to comment Share on other sites More sharing options...
conglom-o Posted January 30, 2011 Report Share Posted January 30, 2011 @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 . KBSchon 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. Quote Link to comment Share on other sites More sharing options...
joshsmi Posted January 30, 2011 Author Report Share Posted January 30, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.