[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] Re: EMA - ATR volatility adjusted



PureBytes Links

Trading Reference Links

Hi Jose,
thanks for writing this Indicator. This was REAL QUICK.
Looks like you wrote it in no time.
Have not had time to play with it but will do so shrtly.

Werner


--- In equismetastock@xxxxxxxxxxxxxxx, "Jose" <josesilva22@xxxx> 
wrote:
> 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/equismetastock/

<*> To unsubscribe from this group, send an email to:
     equismetastock-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/