PureBytes Links
Trading Reference Links
|
Thanks very much Jason.
I have to one day get down to reading JM Hurst's book.
It has been highly recommended by a lot of very
seasoned traders on another list I am a member of.
Matter of fact there is a gentleman by the name of
Clyde Lee who has a TradeStation ela for Hurst
Channels for sale and that too is highly regarded by
some e-mini traders . Since I am not using TS so cant
use it and also please note folks USUAL DISCLAIMERS
APPLY i.e. I have no interest in promoting the
product. Also Clyde doesnt need anyone recommending
his work least of all me.
Regards
Rakesh
--- Jason Hart <jhart_1972@xxxxxxxxx> wrote:
> Rakesh,
>
> Try this formula from the library. It is based on
> some of JM Hurst's work. He's written some good
> books on this subject - check out "Profit from
> transaction timing" ~ that's not the exact title but
> something along those lines.
>
> Jason
>
>
> Plot( Close, "Price", colorWhite, styleCandle );
>
>
//------------------------------------------------------
>
> // -------------------- HURST DE
> ---------------------
>
> // --- by Ace
>
>
//------------------------------------------------------
>
> // Hurst DE based on Centered SMA's with a forward
> projected
>
> // curve based on A parabolic fit
>
>
//------------------------------------------------------
>
> // SET THE S/T and I/T PERIODS
>
> periodicity=Interval();
>
> p1=Param("1) S/T DE Period",20,3,373,1);
>
> p2=Param("2) I/T DE Period",50,3,373,1);
>
> p3=Param("3) L/T DE Period",144,3,373,1);
>
>
//------------------------------------------------------
>
> // Moving Averages and Lags
>
>
//------------------------------------------------------
>
> p0=p1/2;
>
> IIf(p1/2!=round(p1/2),p0=p0-1,p0=p0);
>
> Ave0=MA(Avg,p0);
>
> Ave1=MA(Avg,p1);
>
> Ave2=MA(Avg,p2);
>
> Ave3=MA(Avg,p3);
>
> Lag0=(p0+1)/2;
>
> Lag1=(p1+1)/2;
>
> Lag2=(p2+1)/2;
>
> Lag3=(p3+1)/2;
>
>
//------------------------------------------------------
>
> // Center the MA's
>
>
//------------------------------------------------------
>
> cma0=Ref(Ave0,Lag0);
>
> cma1=Ref(Ave1,Lag1);
>
> cma2=Ref(Ave2,Lag2);
>
> cma3=Ref(Ave3,Lag3);
>
>
//------------------------------------------------------
>
> // Percentage Based Widths
>
>
//------------------------------------------------------
>
> k=3;
>
> dp1=LastValue(Ref(StDev( (Close-cma1)/cma1, k*p1
> ),(p1+1)/2-1));
>
> dp2=LastValue(Ref(StDev( (Close-cma2)/cma2, k*p2
> ),(p2+1)/2-1));
>
> dp3=LastValue(Ref(StDev( (Close-cma3)/cma3, k*p3
> ),(p3+1)/2-1));
>
>
//------------------------------------------------------
>
> // Arithmetic Widths
>
>
//------------------------------------------------------
>
> /*
>
> Hilo=IIf(H-cma1>=cma1-L,H-cma1,L-cma1);
>
> //dp1=LastValue(Ref(StDev( (Close-cma1), k*p1
> ),-Lag1));
>
> dp1=LastValue(Ref(StDev( Hilo, k*p1 ),-Lag1));
>
> Hilo=IIf(H-cma2>=cma2-L,H-cma2,L-cma2);
>
> //dp2=LastValue(Ref(StDev( Close-cma2, k*p2
> ),-Lag2));
>
> dp2=LastValue(Ref(StDev( Hilo, k*p2 ),-Lag2));
>
> Hilo=IIf(H-cma3>=cma3-L,H-cma3,L-cma3);
>
> //dp3=LastValue(Ref(StDev( Close-cma3, k*p3
> ),-Lag3));
>
> dp3=LastValue(Ref(StDev( Hilo, k*p3 ),-Lag3));
>
> */
>
>
//------------------------------------------------------
>
> // Calculate a Parabolic Extension for the S/T DE
>
>
//------------------------------------------------------
>
> tn=round(p1/6);
>
> fillforward=BarIndex() >= LastValue( BarIndex()
> )-Lag1;
>
> t=BarIndex()-Ref(BarIndex(),Lag1)+Lag1;
>
> // Get Constants for the Parabolic fit equation
>
> Sm=LastValue(Ref(Ave1,-2*tn));
>
> // This coordinate is actually t=0
>
> So=LastValue(Ref(Ave1,-tn));
>
> Sp=LastValue(Ave1);
>
> // Calculate coeff's for the parabola
>
> Ak=So;
>
> Bk=(Sp-Sm)/2/tn;
>
> Ck=(Sp+Sm-2*So)/2/tn^2;
>
> parabfit1=Ak+Bk*t+Ck*t^2;
>
> dy1=LastValue(Ave1)-Ak;
>
> cma1=IIf(fillforward,parabfit1+dy1,cma1);
>
>
//------------------------------------------------------
>
> // Calculate a Parabolic Extension for the I/T DE
>
>
//------------------------------------------------------
>
> tn=round(p2/6);
>
> fillforward=BarIndex() >= LastValue( BarIndex()
> )-Lag2;
>
> t=BarIndex()-Ref(BarIndex(),Lag2)+Lag2;
>
> // Get Constants for the Parabolic fit equation
>
> Sm=LastValue(Ref(Ave2,-2*tn));
>
> // This coordinate is actually t=0
>
> So=LastValue(Ref(Ave2,-tn));
>
> Sp=LastValue(Ave2);
>
> // Calculate coeff's for the parabola
>
> Ak=So;
>
> Bk=(Sp-Sm)/2/tn;
>
> Ck=(Sp+Sm-2*So)/2/tn^2;
>
> parabfit2=Ak+Bk*t+Ck*t^2;
>
> dy2=LastValue(Ave2)-Ak;
>
> cma2=IIf(fillforward,parabfit2+dy2,cma2);
>
>
//------------------------------------------------------
>
> // Calculate a Parabolic Extension for the L/T DE
>
>
//------------------------------------------------------
>
> tn=round(p3/6);
>
> fillforward=BarIndex() >= LastValue( BarIndex()
> )-Lag3;
>
> t=BarIndex()-Ref(BarIndex(),Lag3)+Lag3;
>
> // Get Constants for the Parabolic fit equation
>
> Sm=LastValue(Ref(Ave3,-2*tn));
>
> // This coordinate is actually t=0
>
> So=LastValue(Ref(Ave3,-tn));
>
> Sp=LastValue(Ave3);
>
> // Calculate coeff's for the parabola
>
> Ak=So;
>
> Bk=(Sp-Sm)/2/tn;
>
> Ck=(Sp+Sm-2*So)/2/tn^2;
>
> parabfit3=Ak+Bk*t+Ck*t^2;
>
> dy3=LastValue(Ave3)-Ak;
>
> cma3=IIf(fillforward,parabfit3+dy3,cma3);
>
>
//------------------------------------------------------
>
> // Fast MA with parabolic fit - p1/2 period
>
>
//------------------------------------------------------
>
> tn=round(p0/6);
>
> fillforward=BarIndex() >= LastValue( BarIndex()
> )-Lag0;
>
> t=BarIndex()-Ref(BarIndex(),Lag0)+Lag0;
>
> // Get Constants for the Parabolic fit equation
>
> Sm=LastValue(Ref(Ave0,-2*tn));
>
> // This coordinate is actually t=0
>
> So=LastValue(Ref(Ave0,-tn));
>
> Sp=LastValue(Ave0);
>
> // Calculate coeff's for the parabola
>
> Ak=So;
>
> Bk=(Sp-Sm)/2/tn;
>
> Ck=(Sp+Sm-2*So)/2/tn^2;
>
> parabfit0=Ak+Bk*t+Ck*t^2;
>
> dy0=LastValue(Ave0)-Ak;
>
> cma0=IIf(fillforward,parabfit0+dy0,cma0);
>
>
//------------------------------------------------------
>
> Plot( Close, "OHLC", colorBlack, styleCandle);
>
>
//------------------------------------------------------
>
> // Plot Arithmetic Bands
>
>
//------------------------------------------------------
>
> /*
>
> //Plot(cma1,"I/T-CTR",colorRed,styleLine);
>
> Plot(cma1+2*dp1,"S/T-UB",colorRed,styleLine);
>
> Plot(cma1-2*dp1,"S/T-LB",colorRed,styleLine);
>
> //Plot(cma2,"I/T-CTR",colorBlue,styleLine);
>
> Plot(cma2+2*dp2,"I/T-UB",colorBlue,styleLine);
>
> Plot(cma2-2*dp2,"I/T-LB",colorBlue,styleLine);
>
> //Plot(cma3,"L/T-CTR",colorGreen,styleLine);
>
> Plot(cma3+2*dp3,"L/T-UB",colorGreen,styleLine);
>
> Plot(cma3-2*dp3,"L/T-LB",colorGreen,styleLine);
>
> Plot(cma0,"Zline",colorBrown,styleLine);
>
> */
>
>
//------------------------------------------------------
>
> // Write the selected bar lengths to the window
>
>
//------------------------------------------------------
>
> "HURST DOMINANCY ENVELOPES";
>
> "Current Periods are set to: ";
>
> "S/T Period: "+WriteVal(p1,3.0);
>
> "I/T Period: "+WriteVal(p2,3.0);
>
> "L/T Period: "+WriteVal(p3,3.0);
>
> " ";
>
> "Select a range on the screen to calculate a
> period.";
>
> " ";
>
> rangelength = EndValue( BarIndex() ) - BeginValue(
> BarIndex() );
>
> "Selected Range is "+
>
> WriteVal( rangelength, format = 3.0 )+
>
> " bars";
>
>
//------------------------------------------------------
>
> // Use the below plotting for % Width Bands
>
>
//------------------------------------------------------
>
> m=2.2;
>
> Plot(cma1*(1+m*dp1),WriteVal(p1,3.0)+"p"+"
> UB",colorRed,styleLine);
>
> Plot(cma1*(1-m*dp1),"LB",colorRed,styleLine);
>
> Plot(cma2*(1+m*dp2),WriteVal(p2,3.0)+"p"+"
> UB",colorBlue,styleLine);
>
> Plot(cma2*(1-m*dp2),"LB",colorBlue,styleLine);
>
> Plot(cma3*(1+m*dp3),WriteVal(p3,3.0)+"p"+"
> UB",colorGreen,styleLine);
>
> Plot(cma3*(1-m*dp3),"LB",colorGreen,styleLine);
>
> ub=cma1*(1+m*dp1);
>
> Lb=cma1*(1-m*dp1);
>
> inpercentage1=Sum(IIf(H<ub AND H>lb AND L<ub AND
>
> L>lb,1,0),3*p1)/3/p1*100;
>
> "";
>
> ub=cma2*(1+2*dp2);
>
> Lb=cma2*(1-2*dp2);
>
> inpercentage2=Sum(IIf(H<ub AND H>lb AND L<ub AND
>
> L>lb,1,0),3*p2)/3/p2*100;
>
> ub=cma3*(1+2*dp3);
>
> Lb=cma3*(1-2*dp3);
>
> inpercentage3=Sum(IIf(H<ub AND H>lb AND L<ub AND
>
> L>lb,1,0),3*p3)/3/p3*100;
>
> "";
>
> WriteVal(inpercentage1,3.0)+"% prices within 1st DE
> over 3 Periods";
>
> WriteVal(inpercentage2,3.0)+"% prices within 2nd DE
> over 3 Periods";
>
> WriteVal(inpercentage3,3.0)+"% prices within 3rd DE
> over 3 Periods";
>
> PlotShapes(IIf(Cross(BarIndex(),BarCount-1-
>
> (p1+1)/2),shapeSmallUpTriangle,0), colorRed, 0,
> cma1*(1-2*dp1));
>
> PlotShapes(IIf(Cross(BarIndex(),BarCount-1-
>
> (p2+1)/2),shapeSmallUpTriangle,0), colorBlue, 0,
> cma2*(1-2*dp2));
>
> PlotShapes(IIf(Cross(BarIndex(),BarCount-1-
>
> (p3+1)/2),shapeSmallUpTriangle,0), colorGreen, 0,
> cma3*(1-2*dp3));
>
>
//------------------------------------------------------
>
> // Clyde Lee said that Hurst recommended going back
> one
>
> // full cycle to and copy that centerline shape to
> the
>
> // shifted CMA to project forward for the envelopes.
>
>
//------------------------------------------------------
>
>
dy1=LastValue(Ref(cma1,-3*p1/2))-LastValue(Ref(cma1,-p1/2));
>
>
RefCMA1=IIf(BarIndex()>=BarCount-p1/2-1,Ref(cma1,-p1),Null)-dy1;
>
> Plot(RefCMA1*(1+m*dp1),"RefUB1",colorOrange);
>
> Plot(RefCMA1*(1-m*dp1),"RefLB1",colorOrange);
>
>
>
>
dy2=LastValue(Ref(cma2,-3*p2/2))-LastValue(Ref(cma2,-p2/2));
>
>
Refcma2=IIf(BarIndex()>=BarCount-p2/2-1,Ref(cma2,-p2),Null)-dy2;
>
> Plot(Refcma2*(1+m*dp2),"RefUB1",colorLightBlue);
>
> Plot(Refcma2*(1-m*dp2),"RefLB1",colorLightBlue);
>
>
dy3=LastValue(Ref(cma3,-3*p3/2))-LastValue(Ref(cma3,-p3/2));
>
>
Refcma3=IIf(BarIndex()>=BarCount-p3/2-1,Ref(cma3,-p3),Null)-dy3;
>
> Plot(Refcma3*(1+m*dp3),"RefUB1",colorSeaGreen);
>
> Plot(Refcma3*(1-m*dp3),"RefLB1",colorSeaGreen);
>
> a1=(C-Ref(C,-1))/(Ref(C,-1))*100;
>
> b = 1041231;
>
> a=DateNum()==b;
>
> i=ValueWhen(a,C);
>
> ii = ((C-i)/i)*100;
>
> Title = Name() + " - " + WriteVal( DateTime(),
> formatDateTime ) + " - " + " Open: " + O + ", Hi: "
> + H + ", Low: " + L + ", Close: " + C + " " +
> NumToStr(a1,1.2) + "%" + ", Volume: " + Writeb =
>
________________________________________________________
>
> Rakesh Sahgal <rakeshsahgal@xxxxxxxxx> wrote:
> Hi All
>
>
> Has anyone done any work on identifying the cycle
> prevalent in any market at a given point in time,
> that
> they would not mind sharing?
>
> TIA
>
>
> Rakesh
>
>
>
>
> __________________________________
> Yahoo! Messenger
> Show us what our next emoticon should look like.
> Join the fun.
> http://www.advision.webevents.yahoo.com/emoticontest
>
>
> Please note that this group is for discussion
> between users only.
>
> To get support from AmiBroker please send an e-mail
> directly to
> SUPPORT {at} amibroker.com
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
>
>
>
>
> ---------------------------------
> Yahoo! Groups Links
>
> To visit your group on the web, go to:
> http://groups.yahoo.com/group/amibroker/
>
> To unsubscribe from this group, send an email to:
> amibroker-unsubscribe@xxxxxxxxxxxxxxx
>
> Your use of Yahoo! Groups is subject to the
> Yahoo! Terms of Service.
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam
> protection around
> http://mail.yahoo.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
------------------------ Yahoo! Groups Sponsor --------------------~-->
What would our lives be like without music, dance, and theater?
Donate or volunteer in the arts today at Network for Good!
http://us.click.yahoo.com/Tcy2bD/SOnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~->
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|