Hallo,
sagt mal, die Funktion fürs File suchen kann nur in MQL5/Files Dateien finden?
stimmt das so wies in der Doku steht?
https://www.mql5.com/de/docs/files/filefindfirst
danke
amando
Ja, das stimmt. Ist die wirklich b.......... Restriktion mit der 'Sandbox'. Das flag 'common' kannst du noch einstellen.
Willst du mehr, musst du auf winapi zurückgreifen. Dann kommt die Meldung wie 'gefählich' dlls doch sind.
Nachdem Menschen meist von sich auf andere schließen, nehme ich an, daß russische Programmierer böswillige Plattenformatierer sind.
Oder kann man da zu einem anderen Schluß kommen?
Man kann auch in Common einen Link anlegen, darüber kann man aus der Sandbox raus. Common ist dafür besser geeignet als das lokale Verzeichnis, weil die lokale Sandbox im Test woanders liegt und auch vorm Test gelöscht wird.
mklink /D C_Temp C:\Temp
Man kann auch in Common einen Link anlegen, darüber kann man aus der Sandbox raus. Common ist dafür besser geeignet als das lokale Verzeichnis, weil die lokale Sandbox im Test woanders liegt und auch vorm Test gelöscht wird.
Kannst du mir das genauer erklären? Ich will eigentlich nur die templates auslesen
Kannst du mir das genauer erklären? Ich will eigentlich nur die templates auslesen
Das Problem hatte ich auch schon um ein Template auf alle offenen Charts anzuwenden. Ich hab das dann so gelöst:
//+------------------------------------------------------------------+ //| Ctrl_T.mq5 | //| Copyright © 2017 Ing. Otto Pauser | //| https://www.mql5.com/de/users/kronenchakra | //+------------------------------------------------------------------+ #property copyright "Copyright © 2017 Ing. Otto Pauser" #property link "https://www.mql5.com/de/users/kronenchakra" #property version "1.00" #property description "Aktuelles Template unter dem Namen 'LastApplied.tpl' speichern" #property description "und auf alle Charts (mit Ausnahme SILVER) anwenden." string ProgName = MQLInfoString(MQL_PROGRAM_NAME); // Name des Scripts (für MessageBox) string TmplName = "LastApplied"; // unter diesem Namen wird die aktuelle Einstellung gespeichert, wird immer kommentarlos überschrieben void OnStart() { long initScale = ChartGetInteger(ChartID(),CHART_SCALE); // scale des aktuellen Charts merken long initChartID = ChartID(); // aktueller Chart long currChartID = ChartFirst(); // Schleifenvariable über alle Charts ObjectsDeleteAll(initChartID); // delete all useless objects if(!ChartSaveTemplate(initChartID,TmplName)) // hier wird die aktuelle Einstellung in Datei geschrieben { Alert("*ERROR* ChartSaveTemplate: "+TmplName,ProgName,MB_ICONERROR); return; // exit here } while(currChartID>=0) // Schleife über alle Charts { if(currChartID!=initChartID) // nicht für Chart in dem das Script gestartet wurde if(ChartSymbol(currChartID)!="SILVER") // nicht für Chart "SILVER". Diese Zeile kann enfernt werden, ist nur für meine Anwendung if(!ChartApplyTemplate(currChartID, TmplName)) // Template anwenden { Alert("*ERROR* ChartApplyTemplate: "+TmplName,ProgName,MB_ICONERROR); return; // exit here } currChartID=ChartNext(currChartID); } PlaySound("ok"); }
Dieses Script mit Hotkey Ctrl+T verbunden, und schon funktioniert es ähnlich wie im Web-MT5.
MQL5 FileFindFirst() kann nicht im Ordner Templates verwendet werden.
Kannst du mir das genauer erklären? Ich will eigentlich nur die templates auslesen
Du legst einen Link im 'Files' Ordner im Common Verzeichnis an, indem Du eine Shell (Command) öffnest und dort den mklink Befehl eingibst, z.B.:
mklink /D Templates C:\...Pfad zum Installationsverzeichnis\MQL5\Profiles\Templates
Im Mql dann diesen Aufruf verwenden:
string filename; FileFindFirst("Templates/*.tpl",filename,FILE_COMMON); Print("found: ",filename); // --> found: ADX.tplDas Common Verzeichnis geht am leichtesten mit dem Editor zu öffnen - im File Menü oder Ctrl-Shift-D.
Kannst du mir das genauer erklären? Ich will eigentlich nur die templates auslesen
Wenn Sie von durch Code gespeicherten Vorlagen sprechen, können diese in MQL5 \ Files gespeichert und somit auch gelesen werden.
Ja, aber bei jedem neuspeichern muss ich den pfad neu auswählen. Das speichet mt5 nicht
Ja, aber bei jedem neuspeichern muss ich den pfad neu auswählen. Das speichet mt5 nicht
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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.
Hallo,
sagt mal, die Funktion fürs File suchen kann nur in MQL5/Files Dateien finden?
stimmt das so wies in der Doku steht?
https://www.mql5.com/de/docs/files/filefindfirst
danke
amando