und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 665
- Rating:
- Veröffentlicht:
- 2016.06.20 13:12
- Aktualisiert:
- 2016.11.22 07:34
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Das Skript sucht alle Textdateien im lokalen Terminalordner und löscht jene, dessen Erstellungsdatum kleiner ist als der Datenwert des Eingabeparameters "InpFilesDate". Der Ort des lokalen Terminal-Ordners kann durch Aufruf der TerminalInfoString() Funktion festgestellt werden.
PrintFormat("Der Pfad zum lokalen Terminal-Ordner lautet: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
Hinweis: Das Skript lösche alle Textdateien im lokalen Terminalordner die vor dem 1. Jannuar 2010 erstellt wurden (der InpFilesDate Parameterwert ist Standard). Bevor Sie es also starten, stellen Sie sicher, dass Sie keine Textdateien mit wichtigen Informationen im lokalen Terminalordner haben.
Code:
//--- zeige das Fesnter mit den Eingabeparametern beim Aufruf des Skripts #property script_show_inputs //--- Datum für alte Dateien input datetime InpFilesDate=D'2010.01.01 00:00'; //+------------------------------------------------------------------+ //| Skript Programmstart Funktion | //+------------------------------------------------------------------+ void OnStart() { string file_name; // Variable zum speichern von Dateinamen string filter="*.txt"; // Filter für Suche nach Dateien datetime create_date; // Dateierstellungsdatum string files[]; // Liste von Dateinamen int def_size=25; // standardmäßige Arraygröße int size=0; // Anzahl von Dateien //--- Speicher für das Array reservieren ArrayResize(files,def_size); //--- Such-Handle für Wurzelverzeichnis des lokalen Ordners long search_handle=FileFindFirst(filter,file_name); //--- prüfe, ob FileFindFirst() erfolgreich ausgeführt wurde if(search_handle!=INVALID_HANDLE) { //--- suchen von Dateien in einer Schleife do { files[size]=file_name; //--- Größe des Arrays vergrößern size++; if(size==def_size) { def_size+=25; ArrayResize(files,def_size); } //--- Fehlerwert zurücksetzen ResetLastError(); //--- Dateierstellungsdatum beziehen create_date=(datetime)FileGetInteger(file_name,FILE_CREATE_DATE,false); //--- prüfen, ob die Datei alt ist if(create_date<InpFilesDate) { PrintFormat("%s Datei gelöscht!",file_name); //--- alte Datei löschen FileDelete(file_name); } } while(FileFindNext(search_handle,file_name)); //--- Such-Handle schließen FileFindClose(search_handle); } else { Print("Dateien nicht gefunden!"); return; } //--- prüfen, welche Dateien übrig geblieben sind PrintFormat("Ergebnisse:"); for(int i=0;i<size;i++) { if(FileIsExist(files[i])) PrintFormat("%s Datei existiert!",files[i]); else PrintFormat("%s Datei gelöscht!",files[i]); } }
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/1610

Das Skript ist ein einfaches Beispiel für die Verwendung der FileFindFirst(), FileFindNext() und FileFindClose() Funktionen

Der Indikator ermöglicht die Definition der Trendrichtung

Dieses Skript demonstriert ein Beispiel für die Verwendung der FileCopy() Funktion

Ein Trendsignalindikator