//+------------------------------------------------------------------+ //| Demo_FileReadInteger.mq5 | //| Copyright 2013, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 //---- plot Label1 #property indicator_label1 "Trends" #property indicator_type1 DRAW_SECTION #property indicator_color1 clrRed #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- parameters for data reading input string InpFileName="Trend.bin"; // file name input string InpDirectoryName="Data"; // directory name //--- global variables int ind=0; int size=0; datetime time_buff[]; //--- indicator buffers double buff[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { int def_size=100; //--- allocate memory for the array ArrayResize(time_buff,def_size); //--- open the file ResetLastError(); int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_BIN); if(file_handle!=INVALID_HANDLE) { PrintFormat("%s file is available for reading",InpFileName); PrintFormat("File path: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH)); //--- additional variables int arr_size; uchar arr[]; //--- read data from the file while(!FileIsEnding(file_handle)) { //--- find out how many symbols are used for writing the time arr_size=FileReadInteger(file_handle,INT_VALUE); ArrayResize(arr,arr_size); for(int i=0;i