//+------------------------------------------------------------------+ //| 666.mq5 | //| Привалов С.В. | //| https://login.mql5.com/ru/users/Prival | //+------------------------------------------------------------------+ #property copyright "Привалов С.В." #property link "https://login.mql5.com/ru/users/Prival" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //---- WriteFile( 1,2010); //месяц, год WriteFile( 2,2010); //месяц, год // WriteFile( 3,2010); //месяц, год // WriteFile( 4,2010); //месяц, год // WriteFile( 5,2010); //месяц, год // WriteFile( 1,2010); //месяц, год return;// работа скрипта завершена } //+------------------------------------------------------------------+ int WriteFile(int BarMonth, int BarYear) { string FileName; // сформируем имя файла, например , EURUSD_9.PRN FileName=Symbol()+"_"+BarMonth+".PRN"; MqlRates rates[]; MqlDateTime tm; ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(),0,0,Bars(_Symbol,_Period),rates); ResetLastError(); int FileHandle=FileOpen(FileName,FILE_WRITE|FILE_CSV); if(copied>0 && FileHandle!=INVALID_HANDLE) { for(int i=copied-1;i>=0;i--) { TimeToStruct(rates[i].time,tm); if(tm.mon==BarMonth && tm.year==BarYear) FileWrite(FileHandle,rates[i].time, rates[i].open, rates[i].high, rates[i].low, rates[i].close, rates[i].tick_volume, tm.year, tm.mon, tm.day, tm.hour, tm.min, tm.day_of_week, tm.day_of_year); } Print("FileOpen OK"); } else Print("Операция FileOpen неудачна, ошибка",GetLastError()); //закроем файл (освободим указатель/handle, чтобы файл можно было //открыть для редактирования другими программами) if(FileHandle>0) FileClose(FileHandle); return(0); } //+------------------------------------------------------------------+