//+------------------------------------------------------------------+ //| COI.mq4 | //| Copyright © 2009, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_separate_window //#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Aqua #property indicator_color2 Red #property indicator_level1 0.0 double ExtMapBuffer1[]; double ExtMapBuffer2[]; /////////////////// int size_1,lin_1; int col_1=2; string v_1[][2]; datetime v2_1[]; double v3_1[]; int pr1() { int handle,i,j; handle=FileOpen("COI.TXT",FILE_CSV|FILE_READ,';'); if(handle<1) { Print("File COI.csv not found, the last error is ", GetLastError()); return(0); } else { FileSeek(handle, 0, SEEK_SET ); i=0; while(!FileIsEnding(handle)) { FileReadString(handle); i++; } size_1=i-1;//=755->0..754 lin_1 = size_1 / col_1; //151 , usd lin=1564,col=5,size=7820 ArrayResize(v_1,lin_1); FileSeek(handle, 0, SEEK_SET ); for (i=0;i0) counted_bars--; limit=Bars-counted_bars; //---- int Bars1 =limit;//---- datetime d2; Comment(""); int k=lin_1-1; string m1=findmonth(v_1[k][0]); string y1=findyear(v_1[k][0]); string d1=findday(v_1[k][0]); Comment(y1,".",m1,".",d1,";",TimeToStr(v2_1[k],TIME_DATE|TIME_MINUTES),";",v3_1[k]); for (i=0;i 0) { ExtMapBuffer1[i]=StrToDouble(v_1[dayshift-1][1]); //Open } else { ExtMapBuffer1[i]=0; } } //---- return(0); } //+------------------------------------------------------------------+ datetime StrToTime1(string time) { /* Feb 19, 2009;-0.2 */ //0123456789 //09/12/2006 string s1,d1,m1,y1; m1=findmonth(time); y1=findyear(time); d1=findday(time); return(StrToTime(y1+"."+m1+"."+d1+" 00:00")); } ///////////////////////////////// string findmonth(string time) { int n,month; n=StringFind(time,"Jan",0); if(n!=-1) { return("01"); } n=StringFind(time,"Feb",0); if(n!=-1) { return("02"); } n=StringFind(time,"Mar",0); if(n!=-1) { return("03"); } n=StringFind(time,"Apr",0); if(n!=-1) { return("04"); } n=StringFind(time,"May",0); if(n!=-1) { return("05"); } n=StringFind(time,"Jun",0); if(n!=-1) { return("06"); } n=StringFind(time,"Jul",0); if(n!=-1) { return("07"); } n=StringFind(time,"Aug",0); if(n!=-1) { return("08"); } n=StringFind(time,"Sep",0); if(n!=-1) { return("09"); } n=StringFind(time,"Oct",0); if(n!=-1) { return("10"); } n=StringFind(time,"Nov",0); if(n!=-1) { return("11"); } n=StringFind(time,"Dec",0); if(n!=-1) { return("12"); } } //////////////////// string findyear(string time) { string arr1[2]; split(arr1,time,","); string r1=StringTrimLeft(arr1[1]); r1=StringTrimRight(r1); return(r1); } //////////////////// string findday(string time) { string arr1[2]; split(arr1,time,","); string arr2[2]; split(arr2,arr1[0]," "); string r1=StringTrimLeft(arr2[1]); r1=StringTrimRight(r1); return(r1); } void split(string& arr[], string str, string sym) { ArrayResize(arr, 0); string item; int pos, size; int len = StringLen(str); for (int i=0; i < len;) { pos = StringFind(str, sym, i); if (pos == -1) pos = len; item = StringSubstr(str, i, pos-i); item = StringTrimLeft(item); item = StringTrimRight(item); size = ArraySize(arr); ArrayResize(arr, size+1); arr[size] = item; i = pos+1; } }