HullAverage
HullAverage[period](price) i ProBuilder returnerar Hull Moving Average, ett snabbt viktat glidande medelvärde utformat för att minska eftersläpningen samtidigt som linjen hålls jämn.
Syntax
HullAverage[period](price)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
period | heltal | 20 | Huvudsaklig lookback-period. Vanliga värden sträcker sig från 9 för snabba signallinjer till 50 eller mer för trenddefinition. |
price | priskälla | close | Serie som medelvärdet beräknas på, till exempel close, open, high, eller low. |
Formel
HMA[N] = WMA[sqrt(N)]( 2 * WMA[N / 2](price) - WMA[N](price) )där WMA är ett linjärt viktat glidande medelvärde. Medelvärdet över halva längden dubbleras och medelvärdet över hela längden subtraheras, vilket tar bort större delen av eftersläpningen; det slutliga viktade medelvärdet över sqrt(N) barer jämnar ut resultatet.
Så fungerar det
Alan Hull konstruerade HMA för att angripa den vanliga avvägningen hos glidande medelvärden: jämnhet kräver ett långt fönster, men ett långt fönster betyder fördröjning. Konstruktionen sker i två steg. Först, 2 * WMA(N/2) - WMA(N) extrapolerar framåt, det snabbare medelvärdet med halv längd skjuts fram genom att det långsammare subtraheras, vilket till stor del tar bort fördröjningen men lägger till brus. Sedan, ett kort viktat medelvärde med längden sqrt(N) tillämpas ovanpå, vilket återställer jämnheten utan att återinföra mycket eftersläpning.
Resultatet är en linje som vänder med priset nästan omedelbart jämfört med ett enkelt eller exponentiellt medelvärde med samma period. Den responsiviteten har ett förbehåll: extrapoleringssteget kan slå över kring skarpa vändningar och kortvarigt överdriva vändningen.
Eftersom HMA ligger nära priset använder korsningssystem som byggs på den vanligen dess lutning, om linjen steg eller föll jämfört med föregående bar, snarare än att priset korsar linjen, vilket inträffar för ofta för att vara användbart i sig.
Exempel
Exempel 1, Hull Moving Average i diagrammet (Indikator)
// 30-period Hull Moving Average of the close
myHMA = HullAverage[30](close)
RETURN myHMA AS "HMA 30"Ritar en HMA med 30 perioder över prisdiagrammet. Jämfört med Average[30], vänder linjen märkbart tidigare vid swing-punkter.
Exempel 2, Lutningsbaserat trendsystem (ProOrder)
// Enter long when the HMA turns up, exit when it turns down
hma = HullAverage[20](close)
IF NOT LongOnMarket THEN
// Slope flips from down to up
IF hma > hma[1] AND hma[1] <= hma[2] THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ELSE
IF hma < hma[1] THEN
SELL AT MARKET
ENDIF
ENDIFHandlar i riktningen för HMA självt. Lutningsskiftet är standardsignalen för HMA och utnyttjar linjens låga eftersläpning i stället för att vänta på en priskorsning.
Exempel 3, Screening för nya HMA-uppgångar (ProScreener)
hma = HullAverage[20](close)
// Line was falling two bars ago, rising now
cond = hma > hma[1] AND hma[1] <= hma[2]
SCREENER[cond](hma AS "HMA 20")Returnerar instrument vars 20-periods Hull Moving Average just har vänt uppåt på den aktuella baren.
Tolkning
De två vanliga tolkningarna är lutning och relativ position. En stigande HMA indikerar en bullish trend, en fallande HMA en bearish, och eftersom linjen reagerar snabbt betraktas dess vändningar som tidiga signaler om trendskifte. En annan vanlig uppställning kombinerar en kort och en lång HMA: en linje med kort period som vänder upp medan den längre redan stiger tolkas som bullish samstämmighet, och spegelbilden som bearish.
Den låga eftersläpningen har två sidor. Signaler kommer tidigare än med klassiska medelvärden, men i sidledes marknader vänder linjen ofta och genererar whipsaws. Ett regimfilter, ett trendvillkor på högre tidsram, eller helt enkelt en längre period minskar de falska vändningarna.
Vanliga fel och fallgropar
- Fel typ av parentes. Perioden anges i hakparenteser, priskällan i parenteser:
HullAverage[30](close).HullAverage(30, close)ger ett syntaxfel. - Översläng vid V-vändningar. Den
2 * WMA(N/2) - WMA(N)steget extrapolerar den senaste lutningen, så linjen kan skjuta förbi priset direkt efter abrupta vändningar. Signaler som tas under sådana spikar är mindre tillförlitliga. - Signaler från priskorsningar utlöses konstant. Eftersom HMA följer priset så nära,
close CROSSES OVER hmautlöses betydligt oftare än med ett enkelt medelvärde av samma period. Lutningsbaserade villkor är den avsedda användningen. - Att behandla den som en stödnivå. Till skillnad från långsammare medelvärden är HMA inte en meningsfull dynamisk stöd- eller motståndslinje, den ligger för nära priset. Använd den för riktning och timing, inte som en nivå.
Relaterade instruktioner
WeightedAverage, byggstenen i Hull-konstruktionen.Average, enkelt glidande medelvärde för jämförelse.ExponentialAverage, klassiskt alternativ med minskad eftersläpning.ZLEMA, exponentiellt glidande medelvärde utan eftersläpning, liknande syfte.DEMA, dubbelt exponentiellt glidande medelvärde.TEMA, trippelt exponentiellt glidande medelvärde.AdaptiveAverage, medelvärde som anpassar hastigheten till marknadsförhållandena.EndPointAverage, regressionsbaserat medelvärde med låg eftersläpning.