[Multicharts]-HMA移動平均策略

0Shares
Image


HMA (Hull Moving Average) Hull 移動平均線,是一條經過特殊處理移動平均線,和一般傳統的移動平均線計算方式不同。

HMA函數

HMA在一般的看盤軟體找不到這樣的指標,在Multicharts裡面內建指標也沒有內建函數。必須自行新增。函數如下

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;

HMA指標

n週期的Hull平均線是以「n÷2日WMA乘以2倍,然後減掉n日WMA,將所得結果以n的平方根日WMA平均」計算。從公式的定義來看,比較靠近近期的收盤價這一半給予比較高的權重 讓均線看起來比較貼近行情,改善了傳統均線反應過慢的缺點

HMA
HMA移動平均線

HMA台指期策略

利用HMA來開發台指期交易策略 (希望使用的最佳化參數在2個以內,年化風報比大於1)

當收盤價站上HMA 就買進多單 跌破HMA就買進空單,這是均線基本的操作原理,先看看原型的表現如何

套用在60分鐘K

if  Close  cross over HMA(c,HullLen) then buy next bar at market;
if  Close  cross under HMA(c,HullLen)  then sellshort next bar at market;
HMA
HMA策略回測

發現雜訊比較多 交易次數也太頻繁 也可能是K棒的周期太短

HMA台指期策略改良1

上面的策略回測中發現雜訊比較多 交易次數也太頻繁 也可能是K棒的周期太短的關係

稍微改良了條件 必須交叉往上且突破前一根K棒高點才做多,跌破HMA且破前一根K棒低點才放空

if  Close  cross over HMA(c,HullLen) then buy next bar at high stop;
if  Close  cross under HMA(c,HullLen)  then sellshort next bar at low stop;

看起來權益曲線有所改善

HMA
HMA台指期策略優化回測1

HMA台指期策略改良2

把周期拉長到90分K ,HMA的參數重新最佳化一次

HMA2
HMA台指期策略優化回測2

看起來的權益曲線會比較平滑 最大策略虧損報酬有來到9 平均的年化風報比是1.5

HMA
HMA台指期策略優化回測報表

缺點是交易次數太多 可能被交易成本佔了許多獲利

年週期損益分析

多空單回測分析

策略的核心價值還可以 HMA有別傳統的均線有較敏感的反應,且長周期的K棒 似乎比較少雜訊,只用到了一個最佳化的參數

回測區間從2018-2024 多單的權益曲線比較平滑,也和這幾年是多頭行情有關

多單權益曲線

空單的權益曲線比較鳥 ,也許 選擇只做多不做空,也是一種改良的策略

空單權益曲線

到底是指標有價值 還是邏輯本身正確? 還是剛好就遇到了對的行情? 完整的程式碼 簡單到不行

if  C > HMA(c,HullLen) then buy next bar at High stop;
if  C < HMA(c,HullLen)  then sellshort next bar at Low stop;

if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)=3 then setexitonclose;

如果有看到這篇文章的你 也能把HMA帶回去研究看看, 有更理想的做法或套用到其他商品也有好表現 請記得和我分享!!

0Shares


發佈留言

相關文章

[VIP] 當沖交易如何做到收K進場即時出場2

上一篇文章大概說明了如何在逐筆中運用condition[1]做到收K進場,即時出場,不過,這樣的運用還有些需要注意的細節,將會在本篇文章說明,不過寫的有點複雜,請耐心閱讀,對你的回測一定會有幫助的。

當沖交易如何做到收K進場即時出場1

想要讓回測績效貼近實單績效,你一定要知道如何做到收K進場即時出場,本文將不同的回測設定與程式碼撰寫方式做了比較,證明在逐筆回測中是可以收K後進場的,而且這樣的作法,自動交易也可以執行,不需要向過往把進場跟出場分開寫,更容易維護策略。

當沖策略基礎設定與評估標準

我知道很多人都想要拿到一個能自動賺錢的當沖策略,但我必須要先給大家潑個冷水,市場變化很快,你拿到策略的那天很有可能就是策略失效的開始,還是要能學會自己開發當沖策略才是王道,本篇文章,就是先跟大家分享一些開發當沖策略要注意的事。

[VIP] Finlab價格意圖因子策略2-策略優化

前一篇的價格意圖因子文章,我們採用了跟Finlab一樣,用排名+每季固定時間換股的方式來開發策略,而在這篇文章中,我們調整了價格因子的使用方式,沒想到績效更好。

最近發文

加入我們

Categories

最新留言