Watch how to download trading robots for free
Find us on Facebook!
Join our fan page
Join our fan page
You liked the script? Try it in the MetaTrader 5 terminal
- Views:
- 4718
- Rating:
- Published:
- 2013.03.27 14:46
- Updated:
- 2016.11.22 07:32
-
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
The script demonstrates the example of using the FileCopy() function. For this one file content is copied to the other. For the successful copy the source file must be in the terminal local folder whose name specified in the "InpSrc" input parameter. The terminal local folder location can be obtained calling the TerminalInfoString() function.
PrintFormat("The path to the terminal local folder: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));At first the script will try to display the files content. If the destination file does not exist, you should use the FileCopy() function without using the FILE_REWRITE flag. If the destination file has been already created, then for the successful copy the FILE_REWRITE flag must be used.
Code:
//--- display the window of input parameters when launching the script #property script_show_inputs //--- input parameters input string InpSrc="source.txt"; // source input string InpDst="destination.txt"; // copy input int InpEncodingType=FILE_ANSI; // ANSI=32 or UNICODE=64 //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- display the source contents (it must exist) if(!FileDisplay(InpSrc)) return; //--- check if the copy file already exists (may not be created) if(!FileDisplay(InpDst)) { //--- the copy file does not exist, copying without FILE_REWRITE flag (correct copying) if(FileCopy(InpSrc,0,InpDst,0)) Print("File is copied!"); else Print("File is not copied!"); } else { //--- the copy file already exists, try to copy without FILE_REWRITE flag (incorrect copying) if(FileCopy(InpSrc,0,InpDst,0)) Print("File is copied!"); else Print("File is not copied!"); //---InpDst file's contents remains the same FileDisplay(InpDst); //--- copy once more with FILE_REWRITE flag (correct copying if the file exists) if(FileCopy(InpSrc,0,InpDst,FILE_REWRITE)) Print("File is copied!"); else Print("File is not copied!"); } //--- receive the InpSrc file copy FileDisplay(InpDst); } //+------------------------------------------------------------------+ //| Read the file contents | //+------------------------------------------------------------------+ bool FileDisplay(const string file_name) { //---reset the error value ResetLastError(); //--- open the file int file_handle=FileOpen(file_name,FILE_READ|FILE_TXT|InpEncodingType); if(file_handle!=INVALID_HANDLE) { //--- display the file contents in the loop Print("+---------------------+"); PrintFormat("File name = %s",file_name); while(!FileIsEnding(file_handle)) Print(FileReadString(file_handle)); Print("+---------------------+"); //--- close the file FileClose(file_handle); return(true); } //--- failed to open the file PrintFormat("%s is not opened, error = %d",file_name,GetLastError()); return(false); }
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/1611

The script is a simple example of using the FileFindFirst(), FileFindNext() and FileFindClose() functions

The indicator allows defining the trend direction

The script demonstrates the example of using the FileDelete() function

The semaphore trend signal indicator