MetaStock -> Tools -> Indicator Builder -> New -> Copy & paste formulae below. =========== Date filter =========== ---8<--------------------------- { Date filter Plots +1 signal within user-input date period. For personal use only. http://www.metastocktools.com } { Date inputs } StDay:=Input("start Day",1,31,1); StMnth:=Input("start Month",1,12,1); StYear:=Input("start Year",1800,2200,2005); EnDay:=Input("end Day",1,31,31); EnMnth:=Input("end Month",1,12,12); EnYear:=Input("end Year",1800,2200,2005); { Selected date period } start:=Year()>StYear OR (Year()=StYear AND (Month()>StMnth OR Month()=StMnth AND DayOfMonth()>=StDay)); end:=Year()StYear OR (Year()=StYear AND (Month()>StMnth OR Month()=StMnth AND DayOfMonth()>=StDay)); end:=Year()StYear OR (Year()=StYear AND (Month()>StMnth OR Month()=StMnth AND DayOfMonth()>=StDay)); end:=Year()1,1,$)=1; { Restrict out of range dates to chart } date1:=If(LastValue(Cum(date1))>0,date1, Cum(1)=1); date2:=If(LastValue(Cum(date2))>0,date2, LastValue(Cum(1))=Cum(1)); { Plot on price chart } date1-date2 ---8<--------------------------- ============ Time signals ============ ---8<--------------------------- {Intraday time signals and filter v2.0 Plots +1 signal within user-input time period Copyright © 2002-2008 Jose Silva. For personal use only. Al code remains the property of Jose Silva. http://www.metastocktools.com } { User Inputs } StHour:=Input("start Hour",0,23,9); StMin:=Input("start Minute",0,59,30); EnHour:=Input("last Hour",0,23,17); EnMin:=Input("last Minute",0,59,15); plot:=Input("plot: [1]Signals, [2]Period",1,2,1); { Time Signals } start:=Hour()>StHour OR Hour()=StHour AND Minute()>=StMin; start:=start AND Alert(start=0,2){ OR Cum(1)=1}; end:=Hour()>EnHour OR Hour()=EnHour AND Minute()>=EnMin; end:=end AND Alert(end=0,2); end:=If(end=start,0,end); { Time period } init:=Cum(IsDefined(start+end))=1; bin:=ValueWhen(1,start-end<>0 OR init,start); { Plot in own window} If(plot=1,start-end,bin) ---8<--------------------------- http://www.metastocktools.com