2013年11月4日 星期一

費氏數列 - 神秘的黃金比例 Part 3 (程式碼)

EasyTrader ArtNo 041
看過舊文的讀者應該都知道這是彩色K棒+費氏箱型線圖,搭配成交量的動能觀盤畫面


我個人給費氏箱型線作了自己的定義如下:

1.紅線 - 軋空線
2.桃紅線 - 多方攻擊發起線
3.黃線 - 空方最後防線(下降趨勢的反彈壓力線 也是多方回測第一道支撐線)
4.藍線 - 多空平衡線
5.白線 - 多方最後防線(上升趨勢的回調支撐線 也是空方反彈第一道壓力線)
6.淺藍線 - 空方攻擊發起線
7.綠線 - 多殺多線

10/24~10/29 5分K圖 (紅K 為指數在3條長期均線之上 ,綠K為指數在長期均線之下)



在國外網站上看到了有關費式數列的一個交易策略程式碼如下,並對台指期作了歷史回測

{Daily K}
Vars: HighBand(0),LowBand(0),HLrange(0) ;

{計算前日高低點差距}
HighBand = High[1] ;
LowBand = Low[1] ;

HLRange = HighBand - LowBand ;

{依高低點差距的黃金分割率作買賣信號}

{ 空方 }
if Low > HighBand then Sell ("Low1") Next Bar at Low -.05 stop;
if Low = HighBand - HLRange *.191 then Sell ("S.191") Next Bar at HighBand - HLRange *.191 -.05 stop;
if Low = HighBand - HLRange *.382 then Sell ("S.382") Next Bar at HighBand - HLRange *.382-.05 stop;
if Low = HighBand - HLRange *.5 then Sell ("S.50")Next Bar at HighBand - HLRange *.5-.05 stop;
if Low = HighBand - HLRange *.618 then Sell ("S.618") Next Bar at HighBand - HLRange *.618-.05 stop;
if Low = HighBand - HLRange *.809 then Sell ("S.809")Next Bar at HighBand - HLRange *.809 -.05 stop;
if Low = HighBand then Sell ("Lowband") Next Bar at LowBand-.05 stop;
if Low <= LowBand then Sell ("Low2") Next Bar at Low -.05 stop;

{ 多方 }

if High < LowBand then Buy ("High1") Next Bar at High +.05 stop;
if High > LowBand and High <= LowBand + HLRange *.191 then Buy ("L.382") Next Bar at LowBand + HLRange *.382 +.05 stop;
if High > LowBand + HLRange *.382 and High <= LowBand + HLRange *.5 then Buy ("L.50") Next Bar at LowBand + HLRange *.5 +.05 stop;
if High > LowBand + HLRange *.5 and High <= LowBand + HLRange *.618 then Buy ("L.618") Next Bar at LowBand + HLRange *.618 +.05 stop;
if High > LowBand + HLRange *.618 and High <= LowBand + HLRange *.764 then Buy("L.809") Next Bar at LowBand + HLRange *.809 +.05 stop;
if High = LowBand then Buy ("HighBand") Next Bar at HighBand +.05 stop;
if High >= HighBand then Buy ("High2") Next Bar at High +.05 stop;

基本設定 : 台指期 日K
交易策略 : 留倉
進出場規則 : 程式碼如上
測試期間 : 10/25 往回 3000 日
來回成本: 1200





MDD 偏高 ,不過績效曲線的走勢卻是一個 45度上昇線 ,是可以嘗試開發的策略
一向喜歡修改國外範例策略的我,動手加了兩行程式碼作濾網,同樣設定的回測結果如圖





Yes,績效改善很多且 MDD也下降 ,交易次數降低 ,年月化週期也都還不錯的!!讀者也可以自己動手試試 , 嘗試越多 ,進步愈多!
MagicQS006

10 則留言:

  1. 請問訂購教材內有含以上你加的這2道濾網嗎?

    回覆刪除
  2. 2013/11/10以前訂購,我會另外寄給您

    回覆刪除
  3. 請問這個程式改用MC寫的話,要如何改? 例如空方的條件式 if Low = HighBand - HLRange *.191 這幾行等號的,在MC上,永遠都不會成立,

    回覆刪除
    回覆
    1. 1.我不太懂不會成立的意思 ,是編譯不過嗎 ? 還是可以編譯,只是發生相等的機會很低 ?
      2.可以用替代的方式 if Absvalue(Low - (HighBand-HLRange*.191)) < N , N 自訂 !

      刪除
    2. 您好,我跑10年資料,一次都沒有成立,要完全相等機率太小了.

      刪除
    3. 那也是程式邏輯成立,只是不發生而已,您可以用前次回覆的方式作測試
      感謝您熱心測試

      刪除
    4. 您好,這個策略,看起來非常不對稱: (1) 多方條件容易觸發,所以大部分時間都在作多,不知道為何做這樣的設計? (2)有些狀況下,多方與空方的條件都不會觸到,導致當天發生大行情,策略也不動.雖然我可以另外加停損停利,但是想知道策略在設計的原始用意為何.

      刪除
    5. 這策略是在 TradeStation 論壇上看到的, 我很單純的加了濾網 ,分享給讀者參考

      刪除
  4. 請問彩色K棒+費氏箱型線圖有沒有相關的程式碼可以畫 謝謝

    回覆刪除