========== Weekly CMO ========== A prerequisite for this indicator is Jose Silva's "Calendar Week counter". "Weekly CMO" plots a weekly Chande Momentum Oscillator signal on any daily chart. ---8<--------------------------- {Weekly CMO} {© 2004 Roy Larsen, rlarsen@man.quik.co.nz} {for use on daily charts with Jose Silva's "Calendar Week counter"} N:=Input("Weekly CMO Periods ",1,99,10); 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)); K:=ValueWhen(1,J,If(J=1,C,ValueWhen(2-G,1,C))); K:=ValueWhen(1,K>0,K); K1:=ValueWhen(2,J>0,K); Uw:=If(K>K1,K-K1,0); Dw:=If(K0,Uw,0))-ValueWhen(N+1,J,Cum(If(J,Uw,0))); D:=Cum(If(J>0,Dw,0))-ValueWhen(N+1,J,Cum(If(J,Dw,0))); 100*(U-D)/(U+D); ---8<--------------------------- http://www.metastocktips.co.nz/