// SaveBars_TradeAviserReal
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
//---- input parameters
extern int       Bar=300;
extern int       LastBar=0;
extern int       TimeSave=300;
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   string sName="",ss1=" ",ss2=" ";
   int file=0, NumBar=0, shift=0; 
   int Ye=0,Mo=0,Da=0,Ho=0,Mi=0,Se=0,Ti=0; 
   int    counted_bars=IndicatorCounted();
//---- 
   //---- check for possible errors
   if (counted_bars<0) return(-1);
//---- 
//    if (NumBar || counted_bars) //работаем только при смене бара! ну и при первом запуске еще. 
   if (NumBar<CurTime()) //работаем только при смене бара! ну и при первом запуске еще.
	{
     sName=Symbol()+Period()+".txt"; //формируем имя файла, типа "EURUSD1440.csv". МТ любит только *.csv, падла
     FileDelete(sName);
     file =FileOpen(sName,FILE_CSV|FILE_WRITE," ");

     shift=Bar+LastBar-1;
     while(shift>=0)
     {	
				Ti=Time[shift]; //время бара в сек. вытаскиваем из него все, что надо
				Ye=TimeYear(Ti);
				Mo=TimeMonth(Ti);
				Da=TimeDay(Ti);
				Ho=TimeHour(Ti);
				Mi=TimeMinute(Ti);
//				Se=TimeSeconds(Ti);
//				ss1=Ye-3;// вычитаем годы - это чтоб Рефинед котировку глотал.
				if (Mo<10) ss1="0"+Mo; else ss1=Mo;
				if (Da<10) ss1=ss1+"0"+Da; else ss1=ss1+Da;
				ss1=ss1+Ye; //ss1 - ММДДГГГГ не вычитаем годы - это чтобы не путаться.
				if (Ho<10) ss2="0"+Ho; else ss2=Ho; 
				if (Mi<10) ss2=ss2+":"+"0"+Mi; else ss2=ss2+":"+Mi; //ss2 - ЧЧ:ММ
//				if (Se<10) ss2=ss2+"0"+Se; else ss2=ss2+Se; //ss2 - ЧЧММСС
     FileWrite(file,ss1,ss2,Open[shift],High[shift],Low[shift],Close[shift],Volume[shift]," "); //пишем очередной барFileWrite//(file,ss1,ss2,O[shift],H[shift],L[shift],C[shift],V[shift]);
     shift--;
     }   
//     Comment("Save of "+ss1+" "+ss2+" is ok");
     //NumBar=counted_bars;   //метим бар - типа на нем уже отработали. До следующего бара индюк расслабляется.
     NumBar=(CurTime()+ TimeSave); //метим бар (+TimeSave секунд) - типа на нем уже отработали. До следующего бара индюк расслабляется.
     FileClose(file);  //закрыли файло. типа принято так.
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+