PureBytes Links
Trading Reference Links
|
Hi All ;
I am using Daily /Weekly Macd formula from
http://www.metastocktips.co.nz/ site by respected Roy Larsen . In
above formula by Roy Larsen signal line is exponential moving
average. I want to replace exponential moving average by simple
moving average as signal line in this indicator in lower time frame .
Can someone help me ?
Formula on site for Macd with EMA as Signal Line :
{Daily MACD}
{This indicator uses the Equis Forum DLL}
{Roy Larsen, 2004-2007}
{User settings}
N:=Input("Daily MACD, Signal Periods",1,19,9);
Q:=Input("Mode, 0=Static 1=Dynamic 2=Delayed",0,2,1);
{0, update at last bar of current frame}
{1, update on each new bar}
{2, update on first bar of new frame}
{Daily frame timing}
{* Day counter from metastock@xxxxxxxxxxxxx}
M:=Month();A:=Int((14-M)/12);D:=DayOfMonth();
Y:=Year()+4800-A;B:=M+(12*A)-3;
M:=D+Int((2+153*B)/5)+(365*Y)+Int(Y/4)-Int(Y/100)+Int(Y/400)-32045;
{*}
I:=M-ValueWhen(2,1,M);
B:=I=1 AND Max(Hour(),Minute())=0;
G:=LastValue(Highest(Sum(I>0,5))=5);
I:=I AND B=0 OR ValueWhen(2,1,B); M:=G+I;
F:=G+(M=0)*ExtFml("Forum.Sum",Ref(I,1),1);
A:=LastValue(Cum(1)-1)=Cum(1);
B:=Alert(A,2)*(A=0);
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));
{Daily CLOSE}
K:=ValueWhen(1,J,If(J=1,C,ValueWhen(2-G,1,C)));
{Calculate and plot Daily MACD}
X:=0.15; Y:=0.075; N:=2/(N+1);
X:=If(Cum(J>0)=1,K,PREV*If(J,1-X,1)+If(J,K*X,0));
{X:=If(Cum(J>0)=1,K,ValueWhen(1,J,PREV)*(1-X)+K*X);}
Y:=If(Cum(J>0)=1,K,PREV*If(J,1-Y,1)+If(J,K*Y,0));
{Y:=If(Cum(J>0)=1,K,ValueWhen(1,J,PREV)*(1-Y)+K*Y);}
R:=X-Y;
Z:=If(Cum(J>0)=1,R, PREV*If(J,1-N,1)+If(J,R*N,0));
{Z:=If(Cum(J>0)=1,R,ValueWhen(1,J,PREV)*(1-N)+R*N);}
R; {MACD}
Z; {Signal}
I am trying to convert EMA Signal Line to SMA Signal Line as follow :
{Daily MACD}
{This indicator uses the Equis Forum DLL}
{Roy Larsen, 2004-2007}
{User settings}
N:=Input("Daily MACD, Signal Periods",1,19,9);
Q:=Input("Mode, 0=Static 1=Dynamic 2=Delayed",0,2,1);
{0, update at last bar of current frame}
{1, update on each new bar}
{2, update on first bar of new frame}
{Daily frame timing}
{* Day counter from metastock@xxxxxxxxxxxxx}
M:=Month();A:=Int((14-M)/12);D:=DayOfMonth();
Y:=Year()+4800-A;B:=M+(12*A)-3;
M:=D+Int((2+153*B)/5)+(365*Y)+Int(Y/4)-Int(Y/100)+Int(Y/400)-32045;
{*}
I:=M-ValueWhen(2,1,M);
B:=I=1 AND Max(Hour(),Minute())=0;
G:=LastValue(Highest(Sum(I>0,5))=5);
I:=I AND B=0 OR ValueWhen(2,1,B); M:=G+I;
F:=G+(M=0)*ExtFml("Forum.Sum",Ref(I,1),1);
A:=LastValue(Cum(1)-1)=Cum(1);
B:=Alert(A,2)*(A=0);
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));
{Daily CLOSE}
K:=ValueWhen(1,J,If(J=1,C,ValueWhen(2-G,1,C)));
{Calculate and plot Daily MACD}
X:=0.15; Y:=0.075; N:=2/(N+1);
X:=If(Cum(J>0)=1,K,PREV*If(J,1-X,1)+If(J,K*X,0));
{X:=If(Cum(J>0)=1,K,ValueWhen(1,J,PREV)*(1-X)+K*X);}
Y:=If(Cum(J>0)=1,K,PREV*If(J,1-Y,1)+If(J,K*Y,0));
{Y:=If(Cum(J>0)=1,K,ValueWhen(1,J,PREV)*(1-Y)+K*Y);}
R:=X-Y;
Z:=Cum((J>0)* R);
R; {MACD}
(Z-ValueWhen(N+1,J>0,Z))/N;{Signal}
But I am getting horizontal line value zero for Signal Line . I am
not getting what I am doing wrong .
Can someone help me to solve the problem in formula .
Thanks
Harish Chheda
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/equismetastock/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/equismetastock/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:equismetastock-digest@xxxxxxxxxxxxxxx
mailto:equismetastock-fullfeatured@xxxxxxxxxxxxxxx
<*> 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/
|