The script performs reading data of Bid and Ask prices from the file which was obtained in the process of work of the Demo_FileWriteArray Expert Advisor. Reading performed from the binary file in the subdirectory of the terminal local folder, whose location can be obtained calling the TerminalInfoString() function.
PrintFormat("The path to the terminal local folder: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));The whole file content reads using the FileReadArray() function, after which received data will be displayed in the cycle.
Code:
//--- display the window of input parameters when launching the script #property script_show_inputs //--- input parameters input string InpFileName="data.bin"; input string InpDirectoryName="SomeFolder"; //+------------------------------------------------------------------+ //| Structure for storing price data                            | //+------------------------------------------------------------------+ struct prices   {   datetime          date; // data   double            bid;  // Bid price   double            ask;  // Ask price   }; //+------------------------------------------------------------------+ //| Script program start function                                    | //+------------------------------------------------------------------+ void OnStart()   { //--- structure array   prices arr[]; //--- file path   string path=InpDirectoryName+"//"+InpFileName; //--- open the file   ResetLastError();   int file_handle=FileOpen(path,FILE_READ|FILE_BIN);   if(file_handle!=INVALID_HANDLE)     {       //--- read all data from the file to the array       FileReadArray(file_handle,arr);       //--- get the array size       int size=ArraySize(arr);       //--- print data from the array       for(int i=0;i<size;i++)         Print("Date = ",arr[i].date," Bid = ",arr[i].bid," Ask = ",arr[i].ask);       Print("Total data = ",size);       //--- close the file       FileClose(file_handle);     }   else       Print("File open failed, error ",GetLastError());   }