MetaStock -> Tools -> Indicator Builder -> New Copy and paste formula below. ==================== Elder's AutoEnvelope ==================== ---8<--------------------------- {Dr A. Elder's AutoEnvelope interpretation v1.0} { www.elder.com/MetaStock/AutoEnvelope.htm } { http://www.metastocktools.com } { User inputs } pds:=Input("EMA periods",1,252,21); pdsBak:=Input("lookback periods",1,252,42); x:=Input("use: Open=1, High=2, Low=3, Close=4, WClose=5",1,5,4); plot:=Input("[1]AutoEnvelope, [2]Long signals, [3]All signals",1,3,1); delay:=Input("Entry/Exit signals delay",0,5,0); { Price field } x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),C)))); { Envelope bands } Avg:=Mov(x,pds,E); hiAvg:=HHV(H,pdsBak); loAvg:=LLV(L,pdsBak); shift:= Mov(If(hiAvg>Avg,hiAvg-Avg,Avg-loAvg),pds,E); UpperBand:=Avg+shift; LowerBand:=Avg-shift; { Envelope signals } In:=Cross(x,LowerBand); Out:=Cross(x,UpperBand); Init:=Cum(In+Out>-1)=1; InInit:=Cum(In)=1; flag:=BarsSince(Init OR In)