MetaStock -> Tools -> Indicator Builder -> New -> Copy and paste complete formula between "---8<---" lines. =================================== Nth Highest/Lowest indicator values =================================== ---8<------------------------------ { ©Copyright 2005 Jose Silva } { For personal use only } { http://www.metastocktools.com } { User input } Nth:=Input("Nth Highest/Lowest RSI values [1~8, 0=all]",0,8,0); { Example indicator } x:=RSI(14); { 1~8 highest values } Hi1:=Highest(x); Hi2:=Highest(If(xLo1,x,100)); Lo3:=Lowest(If(x>Lo2,x,100)); Lo4:=Lowest(If(x>Lo3,x,100)); Lo5:=Lowest(If(x>Lo4,x,100)); Lo6:=Lowest(If(x>Lo5,x,100)); Lo7:=Lowest(If(x>Lo6,x,100)); Lo8:=Lowest(If(x>Lo7,x,100)); { Choose Nth highest value } Hi:= If(Nth=2,Hi2, If(Nth=3,Hi3, If(Nth=4,Hi4, If(Nth=5,Hi5, If(Nth=6,Hi6, If(Nth=7,Hi7, If(Nth=8,Hi8, Hi1))))))); { Choose Nth lowest value } Lo:= If(Nth=2,Lo2, If(Nth=3,Lo3, If(Nth=4,Lo4, If(Nth=5,Lo5, If(Nth=6,Lo6, If(Nth=7,Lo7, If(Nth=8,Lo8, Lo1))))))); { Plot in own window } x; If(Nth=0,Hi1,Hi); If(Nth=0,Hi2,Hi); If(Nth=0,Hi3,Hi); If(Nth=0,Hi4,Hi); If(Nth=0,Hi5,Hi); If(Nth=0,Hi6,Hi); If(Nth=0,Hi7,Hi); If(Nth=0,Hi8,Hi); If(Nth=0,Lo1,Lo); If(Nth=0,Lo2,Lo); If(Nth=0,Lo3,Lo); If(Nth=0,Lo4,Lo); If(Nth=0,Lo5,Lo); If(Nth=0,Lo6,Lo); If(Nth=0,Lo7,Lo); If(Nth=0,Lo8,Lo) ---8<------------------------------ http://www.metastocktools.com