PureBytes Links
Trading Reference Links
|
Any feedback on this indicator appreciated:
=============================
EMA - ATR volatility adjusted
=============================
---8<---------------------------
{ ATR volatility-adjusted, dyn-period EMA v2.0 }
{ Positive sensitivity:
EMA periodicity shortens on high ATR volatility
- increases on low ATR volatility }
{ Negative sensitivity:
EMA periodicity shortens on low ATR volatility
- increases on high ATR volatility }
{ [1]EMA: ATR volatility-adjusted EMA }
{ [2]Dyn periods: EMA periodicity used }
{ [3]ATR vlty: ATR volatility 0~100% }
{ [4]Signals: EMA/price crossover signals }
{ ©Copyright 2004 Jose Silva }
{ http://users.bigpond.com/prominex/pegasus.htm }
pds:=Input("EMA avg periods",1,2520,21);
sens:=Input("ATR volatility sensitivity (+100 to -100)%",-100,100,100)
/100;
pdsVlty:=Input("ATR voltility sampling periods",
2,2520,126);
pdsATR:=Input("ATR periods",1,2520,10);
x:=Input("[1]Open [2]High [3]Low [4]Close [5]Vol [6]P",1,6,4);
plot:=Input("[1]EMA, [2]Dyn periods, [3]ATR vlty, [4]Signals",1,4,
1);
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,V,If(x=6,P,C)))));
ATRvlty:=(ATR(pdsATR)-LLV(ATR(pdsATR),pdsVlty))
/(HHV(ATR(pdsATR),pdsVlty)
-LLV(ATR(pdsATR),pdsVlty)+.000001);
multi:=If(ATRvlty<=.5,
10*Power(ATRvlty,3.4739)+.1,
10*Power(ATRvlty,3.32)+.000001);
multi:=If(sens>0,1/multi,multi);
multi:=If(multi<1,1-(1-multi)*Abs(sens),
(multi-1)*Abs(sens)+1);
pds:=pds*multi;
pds:=If(Cum(x<>-101)-(pdsVlty+pdsATR)<pds,
Cum(x<>-101)-(pdsVlty+pdsATR),pds);
pds:=If(pds<1,1,pds);
ATREma:=x*2/(pds+1)+PREV*(1-2/(pds+1));
signals:=Cross(x,ATREma)+-Cross(ATREma,x);
If(plot=2,pds,If(plot=3,ATRvlty*100,
If(plot=4,signals,ATREma)))
---8<---------------------------
jose '-)
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Metastockusers/
<*> To unsubscribe from this group, send an email to:
Metastockusers-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|