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

Re: [EquisMetaStock Group] Re: HEIKIN-ASHI CANDLESTICK OSCILLATOR



PureBytes Links

Trading Reference Links

Thanks for that.
 
Users who want to avoid the PREV function will find that by changing the PREV lines, as in this modified version, that the formula executes somewhat faster.
 
Regards
 
Roy
 
{HACO Sylvain Vervoort}
avg:=Input("Up TEMA average: ",1,100,34);
avgdn:=Input("Down TEMA Average: ",1,100,34);
haOpen:=Wilders(Ref((O+H+L+C)/4,-1),2);
haC:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4;
TMA1:= Tema(haC,avg);
TMA2:= Tema(TMA1,avg);
Diff:= TMA1 - TMA2;
ZlHa:= TMA1 + Diff;
TMA1:= Tema((H+L)/2,avg);
TMA2:= Tema(TMA1,avg);
Diff:= TMA1 - TMA2;
ZlCl:= TMA1 + Diff;
ZlDif:=ZlCl-ZlHa;
keep1:=Alert(haC>=haOpen,2);
keep2:=ZlDif>=0;
keeping:=(keep1 OR keep2);
keepall:=keeping OR (Ref(keeping,-1) AND (C>=O) OR C>=Ref(C,-1));
keep3:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1));
utr:=Keepall OR (Ref(keepall,-1) AND keep3);
TMA1:= Tema(haC,avgdn);
TMA2:= Tema(TMA1,avgdn);
Diff:= TMA1 - TMA2;
ZlHa:= TMA1 + Diff;
TMA1:= Tema((H+L)/2,avgdn);
TMA2:= Tema(TMA1,avgdn);
Diff:= TMA1 - TMA2;
ZlCl:= TMA1 + Diff;
ZlDif:=ZlCl-ZlHa;
keep1:=Alert(haC<haOpen,2);
keep2:=ZlDif<0;
keep3:=Abs(C-O)<(H-L)*.35 AND L<=Ref(H,-1);
keeping:=keep1 OR keep2;
keepall:=keeping OR (Ref(keeping,-1) AND (C<O) OR C<Ref(C,-1));
dtr:=If(Keepall OR (Ref(keepall,-1) AND keep3)=1,1,0);
upw:=dtr=0 AND Ref(dtr,-1) AND utr;
dnw:=utr=0 AND Ref(utr,-1) AND dtr;
result:=If(upw,1,If(dnw,0,ValueWhen(1,upw+dnw,If(upw,1,0))));
result;
 
 
----- Original Message -----
Sent: Monday, December 08, 2008 8:10 AM
Subject: [EquisMetaStock Group] Re: HEIKIN-ASHI CANDLESTICK OSCILLATOR

--- In equismetastock@yahoogroups.com, "maurizio_innamorati"
<maurizio.innamorati@xxx> wrote:
>
> The above indicator is discussed in TASC December issue.
unfortunately,
> the formula in MS code is not listed in Traders' Tips (given in
article
> itself only available to subscribers). Could somebody share the
code
> for the above indicator witg us? Thanks.
>

Here is the MetaStock formula for the HACO oscillator:

{HACO Sylvain Vervoort}
avg:=Input("Up TEMA average: ",1,100,34);
avgdn:=Input("Down TEMA Average: ",1,100,34);
haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2;
haC:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4;
TMA1:= Tema(haC,avg);
TMA2:= Tema(TMA1,avg);
Diff:= TMA1 - TMA2;
ZlHa:= TMA1 + Diff;
TMA1:= Tema((H+L)/2,avg);
TMA2:= Tema(TMA1,avg);
Diff:= TMA1 - TMA2;
ZlCl:= TMA1 + Diff;
ZlDif:=ZlCl-ZlHa;
keep1:=Alert(haC>=haOpen,2);
keep2:=ZlDif>=0;
keeping:=(keep1 OR keep2);
keepall:=keeping OR (Ref(keeping,-1) AND (C>=O) OR C>=Ref(C,-1));
keep3:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1));
utr:=Keepall OR (Ref(keepall,-1) AND keep3);
TMA1:= Tema(haC,avgdn);
TMA2:= Tema(TMA1,avgdn);
Diff:= TMA1 - TMA2;
ZlHa:= TMA1 + Diff;
TMA1:= Tema((H+L)/2,avgdn);
TMA2:= Tema(TMA1,avgdn);
Diff:= TMA1 - TMA2;
ZlCl:= TMA1 + Diff;
ZlDif:=ZlCl-ZlHa;
keep1:=Alert(haC<haOpen,2);
keep2:=ZlDif<0;
keep3:=Abs(C-O)<(H-L)*.35 AND L<=Ref(H,-1);
keeping:=keep1 OR keep2;
keepall:=keeping OR (Ref(keeping,-1) AND (C<O) OR C<Ref(C,-1));
dtr:=If(Keepall OR (Ref(keepall,-1) AND keep3)=1,1,0);
upw:=dtr=0 AND Ref(dtr,-1) AND utr;
dnw:=utr=0 AND Ref(utr,-1) AND dtr;
result:=If(upw,1,If(dnw,0,PREV));
result

Best regards,



__________ NOD32 3668 (20081206) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com
__._,_.___

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___