================================ Weekly Stochastic Oscillator EMA ================================ A prerequisite for this indicator is Jose Silva's "Calendar Week counter". "Weekly Stochastic Oscillator EMA" plots a weekly stochastic oscillator and signal with EMA smoothing on any daily chart. ---8<--------------------------- {Weekly Stochastic Osc EMA} {© 2004 Roy Larsen, rlarsen@man.quik.co.nz} {for use on daily charts with Jose Silva's "Calendar Week counter"} K:=Input("Weekly Stochastic Oscillator %K Periods",1,99,5); N:=Input("%K Slowing Periods" ,1,99,3); R:=Input("%D EMA Periods",1,99,3); F:=Input("End of Week, 5=Friday 6=Saturday 7=Sunday",5,7,5); Q:=Input("Display Mode, 0=Static 1=Dynamic 2=Test",0,2,2); {0=Display, update on Friday when possible} {1=Display, update on each new bar} {2=Backtest, update on first bar of new week} G:=LastValue(Highest(Sum(DayOfWeek()=F,5))=5); I:=Fml("Calendar Week counter"); I:=Abs(I-ValueWhen(2-G,1,I)); M:=G OR I>0; F:=G OR (DayOfWeek()=F AND I=0); A:=LastValue(Cum(1)-1)=Cum(1); B:=LastValue(Cum(1))=Cum(1); J:=If(F,1,If(Alert(F,2)=0 AND M,2,0)); J:=If(A+LastValue(J)>2 OR B+(Q=1)=2,1,J); J:=If(G,1,If(Q=2 OR Cum(J)<=1,M*2,J)); Hw:=HighestSince(1,M,H); Hw:=ValueWhen(1,J,If(J=1,Hw,ValueWhen(2,1,Hw))); Lw:=LowestSince(1,M,L); Lw:=ValueWhen(1,J,If(J=1,Lw,ValueWhen(2,1,Lw))); Cw:=ValueWhen(1,J,If(J=1,C,ValueWhen(2,1,C))); Hw:=ValueWhen(1,Hw>0,Hw); Lw:=ValueWhen(1,Lw>0,Lw); Cw:=ValueWhen(1,Cw>0,Cw); Z:=Cum((Cw-LowestSince(K,J,Lw))*(J>0)); Z:=Z-ValueWhen(N+1,J,Z); I:=Cum((HighestSince(K,J,Hw)- LowestSince(K,J,Lw))*(J>0)); I:=I-ValueWhen(N+1,J,I); I:=ValueWhen(1,Cum(I>0)>0,I); X:=100*Z/I; A:=2/(1+R); X:=ValueWhen(1,Cum(J>0)>=K+N,X); Y:=ValueWhen(1,J,PREV)*(1-A)+X*A; Y:=ValueWhen(1,Cum(J>0)>=K+N+R,Y); X; {%K} Y; {%D} ---8<--------------------------- http://www.metastocktips.co.nz/