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

Re: [EquisMetaStock Group] Weekly Stochastic / Rsi on daily chart



PureBytes Links

Trading Reference Links

tan kok hong


> hello !
>
> can someone tell me where can I get the formula which
> are able to plot the weekly RSI or weekly Stochastic
> on the daily charts ?

Here's the Stochastic. Still a "work in progress". I'll Try and post an RSI later today as well as
an EMA signal line version of the Stochastic.

You'll need Jose's "Calender Week counter" installed as an indicator before this code will function.
http://users.bigpond.com/prominex/MetaStock/WeekCount.txt

The reason for using the Calendar Week counter is because it provides very accurate weekly signals.

Roy

  {Weekly Stochastic Osc SMA}
  {Copyright© 2003-2004 Roy Larsen}
  {rlarsen@xxxxxxxxxxxxxx}
  {for use on daily charts with}
  {Jose Silva's "Calendar Week counter"}
F:=Input("End of Week,  5=Friday  6=Saturday  7=Sunday",5,7,5);
K:=Input("%K Periods ( in Weeks )",1,99,5);
N:=Input("%K Slowing Periods" ,1,99,3);
R:=Input("%D SMA Periods",1,99,3);
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}
I:=Fml("Calendar Week counter");
I:=Abs(I-ValueWhen(2,1,I));
M:=I>0;
D:=DayOfWeek();
G:=LastValue(Highest(Sum(DayOfWeek()=F,5))=5);
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=2,1,(B=0)*J);
J:=If(G,1,If(Q=2 OR Cum(J)<=1,M*2,J));
M:=G OR M;
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;
Y:=Cum((J>0)*X);
Y:=(Y-ValueWhen(R+1,J,Y))/R;
X:=ValueWhen(1,X<=100 AND X>=0,X);
Y:=ValueWhen(1,Y<=100 AND Y>=0,Y);
X; {%K}
Y; {%D}




 
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/