2014年6月20日 星期五

★HMA移動平均線

     如果你的策略有用到簡單移動平均線,趁週末假日,不妨換種均線測試看看,也許會有不錯的效果。
     今天來介紹一個我覺得還蠻好用的均線,大部份的均線都有延遲的問題,也就是當均線由下反轉向上翻揚時,實際上價格早已漲了一段,相反當均線由上反轉向下時,價格也通常都早就下殺一大段。澳洲的一位Alan Hull為此開發了一種較貼近實際價格的均線,能夠對起起伏伏的價格做平滑化,但是又不會延遲於實際的價格太久遠,這個均線就是用他的名字命名叫Hull Moving Average。原始的HMA是利用Weight Moving Average加以改良而來以期更貼近實際價格,後來更有人又針對週期的加權方式改善成另一種形式的HMA,這在網路上已經有很多人分享出程式碼,所以我也不太確定最原始的出處是哪裡,程式碼如下:

Inputs: price(NumericSeries), length(NumericSimple);
Vars: halvedLength(0), sqrRootLength(0);

if ((ceiling(length / 2) - (length / 2))  <= 0.5) then
halvedLength = ceiling(length / 2)
else
halvedLength = floor(length / 2);
if ((ceiling(SquareRoot(length)) - SquareRoot(length))  <= 0.5) then
sqrRootLength = ceiling(SquareRoot(length))
else
sqrRootLength = floor(SquareRoot(length));
Value1 = 2 * WAverage(price, halvedLength);
Value2 = WAverage(price, length);
Value3 = WAverage((Value1 - Value2), sqrRootLength);


HMA=Value3;

我們先來看看簡單移動平均線Length=30時如下圖


再來是HMA在Length=30時如下圖






平滑後的均線會較貼近於實際價格,不過一般的讀者大概會有個疑問,我們先來看看下面這張簡單移動平均在Length=7時的圖:
看起來跟較短週期的均線差不多的樣子,但HMA比較起來會比短週期的簡單移動平均線更平滑,但是比長週期的簡單移動平均線更貼近價格。

下圖的yellow=HMA(Length=30)、cyan=SMA(Length=7)

下圖的yellow=HMA(Length=30)、cyan=SMA(Length=30)




後記:

不同移動平均線在策略撰寫上都有不同的幫助,如果使用簡單移動平均線,反應速度較慢,可以用在確認行情或抓到末升段;但是比較敏感的均線則能幫助在行情初期就先進市場卡位,但缺點就是可能會有一些假突破出現。另一種均線的用法則是作為移動停利線,這時候我就不建議只用簡單的移動平均線了(因為出場的價格一定很爛。

《以上文章由Wen的外期策略team提供》

0 留言:

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------