// 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); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Series array that contains close prices for each bar
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Series array that contains open prices of each bar
Series array that contains tick volumes of each bar
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features:
Uses files from the file system
It writes information to file