Monday – Friday : 9:00 AM – 6:30 PM

Hull Moving Average Tony Spica

Utilizing the Amibroker data feed to implement the Hull Moving Average (HMA) by Tony Spica signifies a unique approach to trend analysis. Crafting an Amibroker AFL based on this indicator aids in gauging market momentum and trend changes, enhancing trading strategies with this specialized moving average.

/_SECTION_BEGIN("Hull Moving Average");
/* Hull Moving Average version 1.0 */
/* by Avi b a */
/* The Hull Moving Average solves the age 
old dilemma of making a moving average more 
responsive to current price activity whilst maintaining curve smoothness...
read more at-(Had to omit this link in order to post)/***************************************/


Period = Param("Period",3,1,100,1);
Hull= WMA( 2*WMA(C,int(3/2))- WMA(C,3),int(sqrt(Period)));

Period = Param("Period",5,1,100,1);
Hull5 = WMA( 2*WMA(C,int(5/2))-WMA(C,5),int(sqrt(Period)));

Period = Param("Period",7,1,100,1);
Hull7 = WMA( 2*WMA(C,int(7/2))- WMA(C,7),int(sqrt(Period)));

Period = Param("Period",9,1,100,1);
Hull9 = WMA( 2*WMA(C,int(9/2))- WMA(C,9),int(sqrt(Period)));

Period = Param("Period",11,1,100,1);
Hull11 = WMA( 2*WMA(C,int(11/2))- WMA(C,11),int(sqrt(Period)));

Period = Param("Period",13,1,100,1);
Hull13 = WMA( 2*WMA(C,int(13/2))- WMA(C,13),int(sqrt(Period)));

Period = Param("Period",21,1,100,1);
Hull21 = WMA( 2*WMA(C,int(21/2))- WMA(C,21),int(sqrt(Period)));

Period = Param("Period",24,1,100,1);
Hull24= WMA( 2*WMA(C,int(24/2))- WMA(C,24),int(sqrt(Period)));

Period = Param("Period",27,1,100,1);
Hull27 = WMA( 2*WMA(C,int(27/2))- WMA(C,27),int(sqrt(Period)));

Period = Param("Period",30,1,100,1);
Hull30 = WMA( 2*WMA(C,int(30/2))- WMA(C,30),int(sqrt(Period)));

Period = Param("Period",33,1,100,1);
Hull33 = WMA( 2*WMA(C,int(33/2))- WMA(C,33),int(sqrt(Period)));

Period = Param("Period",38,1,100,1);
Hull38 = WMA( 2*WMA(C,int(38/2))- WMA(C,38),int(sqrt(Period)));

for( i = 1 ; i < BarCount-2; i++ ) 
if (hull[i] hull[i-1] && hull[i] >hull[i+1])
Lpmh[i] =0;

GR =ExRem(LpmH,Lpmh);
RD =ExRem(Lpml,Lpml);

Plot(Hull," Hull3",43,1);
Plot(Hull5," Hull5",43,1);
Plot(Hull7," Hull7",43,1);
Plot(Hull9," Hull9",43,1);
Plot(Hull11," Hull11",43,1);
Plot(Hull13," Hull13",43,1);
Plot(Hull21," Hull21",33,1);
Plot(Hull24," Hull24",33,1);
Plot(Hull27," Hull27",33,1);
Plot(Hull30," Hull30",33,1);
Plot(Hull33," Hull33",33,1);
Plot(Hull38," Hull38",33,1);

SetChartOptions(2, chartWrapTitle );

Open chat
Hi, how can I help you?