{ Downloaded From https://www.WiseStockTrader.com } { Exponential Moving Average v2.3 EMA periodicity shortens on low bar count ©Copyright 2005-2006 Jose Silva. For personal use only. http://www.metastocktools.com } { User inputs } pds:=Input("EMA periods",1,2600,21); x:=Input("use Open=1 High=2 Low=3 Close=4 WClose=5 P=6",1,6,4); shift:=Input("EMA vertical shift %", -100,100,0)/100+1; plot:=Input("[1]EMA, [2]Crossover signals", 1,2,1); { EMA } x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),If(x=6,P,C))))); pds:=If(pds>Cum(IsDefined(x)), Cum(IsDefined(x)),pds); Ema:=x*2/(pds+1)+PREV*(1-2/(pds+1)); Ema:=Ema*shift; signals:=Cross(x,Ema)-Cross(Ema,x); { Plot on price chart } If(plot=2,signals,Ema)