Bruce do you know what is causing the difference between "YourHull" and "MyHull" when changing the period ? Interesting to see that both calculations for certain periods give the same result and for others not. I just don't see the difference from a code point of view ...
Ton. MA1=WMA(C,Periods); MA2=WMA(C,Periods/2); HMA=WMA(2*MA2-MA1,round(sqrt(Periods))); Plot( HMA, "MyHull", colorBlue,styleLine ); ----- Original Message ----- From: Bruce Hawkins To: [email protected] Sent: Sunday, December 31, 2006 4:28 AM Subject: Re: [amibroker] Hull Moving Averages Try this: function HullMaFunction( P, Periods, Delay ) { X = 2 * WMA(P,round(Periods/2)) - WMA(P,Periods); HullMA = WMA(X,round(sqrt(Periods))); HullMA = Ref(HullMA,-Delay); return HullMa; } PlotPriceField = ParamToggle("PriceField","HIDE|SHOW",1); P = ParamField("Price field",-1); Periods = Param("Periods", 15, 2, 200, 1, 10 ); Delay = Param("Delay", 0, 0, 10, 1 ); HullMA = HullMaFunction( P, Periods, Delay ); if( PlotPriceField ) Plot(C,"",1,128); Plot( HullMA, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); ianjw2 wrote: I've only just become aware of the Hull Moving Average. It seems to be on top of the normal MA lag and manages to maintain nice smoothing at the same time. Has anyone done any AFL code for it and is willing to share? MetaStock Formula period:=Input("Period",1,200,20) ; sqrtperiod:=Input("Square Root of Period",1,20,4); Mov(2*(Mov(C,period/2,W))-Mov(C,period,W),sqrtperiod,W); Above is the Metastock code, but I have no idea how to convert it. ijw ---------------------------------------------------------------------------- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.409 / Virus Database: 268.15.28/604 - Release Date: 12/26/2006
