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
Demo_FileFlush - Skript für den MetaTrader 5
- Ansichten:
- 640
- Rating:
- Veröffentlicht:
- 2016.06.20 13:15
- 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
Wenn man in eine Datei schreibt, kann es sein, dass man die Daten erst nach einer gewissen Zeit sieht. Um die Daten sofort in die DAtei zu schreiben, dient die FileFlush() Funktion. Wenn die Funktion nicht verwendet wird, wird der Teil der Daten, der noch nicht auf die Platte geschrieben wurde erst dann geschrieben, wenn die Datei mit der FileClose() Funktion geschlossen wird.
Das Skript holt sich in der Schleife die aktuellen Bid und Ask Preise und ruft die FileWrite() Funktion auf, um sie zu schreiben. Nach je 128 Iterationen wird die FileFlush() Funktion aufgerufen für das erzwungene Schreiben der Daten auf die Platte.
Code:
//--- zeige das Fesnter mit den Eingabeparametern beim Aufruf des Skripts #property script_show_inputs //--- Dateiname für Ausgabe input string InpFileName="example.csv"; // Dateiname //+------------------------------------------------------------------+ //| Skript Programmstart Funktion | //+------------------------------------------------------------------+ void OnStart() { //--- Fehlerwert zurücksetzen ResetLastError(); //--- Datei öffnen int file_handle=FileOpen(InpFileName,FILE_READ|FILE_WRITE|FILE_CSV); if(file_handle!=INVALID_HANDLE) { //--- Daten in die Datei schreiben for(int i=0;i<1000;i++) { //--- Aufruf der write Funktion FileWrite(file_handle,TimeCurrent(),SymbolInfoDouble(Symbol(),SYMBOL_BID),SymbolInfoDouble(Symbol(),SYMBOL_ASK)); //--- bei jeder 128. Iteration Daten auf die Platte schreiben if((i & 127)==127) { //--- nun befinden sich die Daten in der Datei und gehen im Falle eines kritischen Fehlers nicht mehr verloren FileFlush(file_handle); PrintFormat("i = %d, OK",i); } //--- 0.01 Sekunden Pause Sleep(10); } //--- Datei schließen FileClose(file_handle); } else PrintFormat("Fehler, Code = %d",GetLastError()); }
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/1615
Das Skript demonstriert ein Beispiel für die Verwendung der FileMove() Funktion
i-IntradayFibonacciIntraday Fibonacci Levels
Das Skript demonstriert ein Beispiel für die Verwendung der FileIsEnding() Funktion
Demo_FileGetIntegerDas Skript demonstriert ein Beispiel für die Verwendung der FileGetInteger() Funktion