MetaStock -> Tools -> Indicator Builder -> New -> copy & paste formula below. ======================== Year's HLC in retrospect ======================== ---8<------------------------------------------- {Plots each year's High/Low/Close in retrospect. Current year's data is dynamic - do not trade. Copyright © 2008 Jose Silva. http://www.metastocktools.com } {Input} plt:=Input("Year's [1]Hi/Lo/Cl, [0]Hi/Lo signals",0,1,1); {Year vars} y:=Year(); y0:=LastValue(y); nuYr:=y>Ref(y,-1) OR Cum(1)=2; {High} Hi:=HighestSince(1,nuYr,H)*Ref(nuYr,1); x0:=LastValue(HighestSince(1,nuYr,H))*(y=y0); x1:=y=y0-1; x1:=LastValue(Highest(Hi*x1))*x1; x2:=y=y0-2; x2:=LastValue(Highest(Hi*x2))*x2; x3:=y=y0-3; x3:=LastValue(Highest(Hi*x3))*x3; x4:=y=y0-4; x4:=LastValue(Highest(Hi*x4))*x4; x5:=y=y0-5; x5:=LastValue(Highest(Hi*x5))*x5; x6:=y=y0-6; x6:=LastValue(Highest(Hi*x6))*x6; x7:=y=y0-7; x7:=LastValue(Highest(Hi*x7))*x7; x8:=y=y0-8; x8:=LastValue(Highest(Hi*x8))*x8; x9:=y=y0-9; x9:=LastValue(Highest(Hi*x9))*x9; x10:=y=y0-10; x10:=LastValue(Highest(Hi*x10))*x10; x11:=y=y0-11; x11:=LastValue(Highest(Hi*x11))*x11; Hi:=x0+x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11; Hi:=Hi+BarsSince(Hi>0); {Low} Lo:=LowestSince(1,nuYr,L)*Ref(nuYr,1); x0:=LastValue(LowestSince(1,nuYr,L))*(y=y0); x1:=y=y0-1; x1:=LastValue(Highest(Lo*x1))*x1; x2:=y=y0-2; x2:=LastValue(Highest(Lo*x2))*x2; x3:=y=y0-3; x3:=LastValue(Highest(Lo*x3))*x3; x4:=y=y0-4; x4:=LastValue(Highest(Lo*x4))*x4; x5:=y=y0-5; x5:=LastValue(Highest(Lo*x5))*x5; x6:=y=y0-6; x6:=LastValue(Highest(Lo*x6))*x6; x7:=y=y0-7; x7:=LastValue(Highest(Lo*x7))*x7; x8:=y=y0-8; x8:=LastValue(Highest(Lo*x8))*x8; x9:=y=y0-9; x9:=LastValue(Highest(Lo*x9))*x9; x10:=y=y0-10; x10:=LastValue(Highest(Lo*x10))*x10; x11:=y=y0-11; x11:=LastValue(Highest(Lo*x11))*x11; Lo:=x0+x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11; Lo:=Lo+BarsSince(Lo>0); {Close} Cl:=C*Ref(nuYr,1); x0:=LastValue(C)*(y=y0); x1:=y=y0-1; x1:=LastValue(Highest(Cl*x1))*x1; x2:=y=y0-2; x2:=LastValue(Highest(Cl*x2))*x2; x3:=y=y0-3; x3:=LastValue(Highest(Cl*x3))*x3; x4:=y=y0-4; x4:=LastValue(Highest(Cl*x4))*x4; x5:=y=y0-5; x5:=LastValue(Highest(Cl*x5))*x5; x6:=y=y0-6; x6:=LastValue(Highest(Cl*x6))*x6; x7:=y=y0-7; x7:=LastValue(Highest(Cl*x7))*x7; x8:=y=y0-8; x8:=LastValue(Highest(Cl*x8))*x8; x9:=y=y0-9; x9:=LastValue(Highest(Cl*x9))*x9; x10:=y=y0-10; x10:=LastValue(Highest(Cl*x10))*x10; x11:=y=y0-11; x11:=LastValue(Highest(Cl*x11))*x11; Cl:=x0+x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11; Cl:=Cl+BarsSince(Cl>0); {Hi/Lo signals} signals:=(H=Hi)-(L=Lo); {Plot HLC on price chart} plt*Hi; plt*Lo; If(plt=1,Cl,signals) ---8<------------------------------------------- http://www.metastocktools.com