PureBytes Links
Trading Reference Links
|
Below is what I coded from a news letter. Can't remember from which one.
/* Hull Moving Average (HMA)
Author: Alan Hall
web site: www.alanhall.com
*/
//user paramters
prmPeriod = Param("Period", 25, 2, 100, 1);
prmColor = ParamColor("Color", colorAqua);
prmStyle = ParamStyle("Style", styleLine, maskAll);
prmField = ParamField("Fields", 3);
//calculations
HMA = WMA(2 * WMA(prmField,int(prmPeriod/2)) - WMA(prmField,prmPeriod),
int(sqrt(prmPeriod)));
// paint the chart
Plot(HMA,"HMA",prmColor, prmStyle);
John
-----Original Message-----
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]On
Behalf Of Ton Sieverding
Sent: Sunday, December 31, 2006 7:15 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Hull Moving Averages
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: amibroker@xxxxxxxxxxxxxxx
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
Content-Description: "AVG certification"
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.1/611 - Release Date: 12/31/2006 12:47 PM
|