2013年11月13日 星期三

●國外周規則策略(含開放程式碼)

     我曾經也有使用週k線的data作過期貨回測,但是後來也不敢做,因為感覺心臟要很大,用這種方式挑戰CFD,可能是不錯的選擇,不過即便如此,我還是不敢做這件事。(Wen)
EasyTrader ArtNo 049
     《金融評論》曾發表過一篇論文,裡面刊載了十年間對二十多種技術型交易系統的測試和研究,最終得出了結論,周規則名列榜首,僅隨其後的是移動平均線。同時期,理查德·丹尼斯(Richard Dennis)創辦了舉世轟動的「海龜交易班」,「龜兒」們創造了四年年均複利八十的收益,而《海龜交易法則》中的具體操作信號正是周規則。對於移動平均線,大家早已熟,那麼周規則是什麼呢?為什麼它如此優秀,就連世界上最頂級的交易員都在使用它?



     周規則是由(Richard Donchian)發明的,它是一種追隨趨勢的自動交易系統。最初它以四周的形式出現。以周規則為基礎的交易系統十分簡單,下面以四周規則為例,講述它的使用方法。

四周規則的使用方法:
     1、只要價格超出前四周內的最高價,就平掉空頭倉位並做多;
     2、只要價格跌破前四周內的最低價,就平掉多頭倉位並做空。
→停損可以使用二週的高低點,當然也可以其他方式來實施


根據上述的規則我將它轉為以下的程式碼並對台指期作測試

程式碼
input:Fa(0.2) ;
Value1 = Maxlist(HighW(0),HighW(1),HighW(2),HighW(3)) ;
Value2 = MinList(LowW(0),LowW(1),LowW(2),LowW(3)) ;
Value3 = Value1-Value2 ;
Buy next bar at Value1 stop ;
Sell next bar at Value2 stop ;
if MarketPosition > 0 then Sell next bar at Value2+Value3*FA stop ;
if MarketPosition < 0 then Buy next bar at Value2+Value3*(1-FA) stop ;

基本設定: 60分K ,台指期 ,2001~2013/10/31 留倉 , 來回成本 : 1200


相信讀者跟我一樣會認為測試結果很普通啊! ,可是進一步去測試其他更短週期( 30, 15,10,5) 發現它是一個蠻穩定的交易模型,最主要來自於四週的架構作為突破進出的信號,架構本身具備了箱型區間與濾網的功能

為了能更進一步作測試, 將程式碼重新作修改,並改為可測試使用N日高低點區間不對稱方式

input:Fa(0.2),WeekLong(2),WeekShort(2),DayLong(8),DayShort(6),Type(1),HLRange(180) ;
Vars:Count(0),HighBand(0),LowBand(0),HL(0) ;
{ for week High/Low box }
if Type = 1 then Begin
   HighBand = HighW(1) ;
   LowBand = LowW(1) ;
  for Count = 0 to WeekLong-1 Begin
      if HighW(Count) > HighBand then HighBand = HighW(Count) ;
 end;
 for Count = 0 to WeekShort-1 Begin
    if LowW(Count) < LowBand then LowBand = LowW(Count) ;
 end;
end;

{ for Day High/Low box }
if Type = 2 then Begin
   HighBand = HighD(1) ;
   LowBand = LowD(1) ;
  for Count = 0 to DayLong-1 Begin
     if HighD(Count) > HighBand then HighBand = HighD(Count) ;
 end;
  for Count = 0 to DayShort-1 Begin
     if LowD(Count) < LowBand then LowBand = LowD(Count) ;
end;
end;

HL = HighBand-LowBand ;
if type = 1 then Begin
   Buy ("Whigh") next bar at HighBand stop ;
   Sell ("WLow") next bar at LowBand stop ;
end else begin

if HL > HLRange and HL < 240 then Begin
   Buy ("Dhigh") next bar at HighBand stop ;
   Sell ("DLow") next bar at LowBand stop ;
end;
end;

if type = 1 then Begin
   if MarketPosition > 0 then Sell next bar at LowBand + HL*FA stop ;
   if MarketPosition < 0 then Buy next bar at LowBand + HL*(1-FA) stop ;
end else Begin
  if HL > HLRange then Begin
     if MarketPosition > 0 then Sell next bar at LowBand + HL*FA stop ;
     if MarketPosition < 0 then Buy next bar at LowBand + HL*(1-FA) stop ;
end;
end;

經過優化測試後,發現台指期使用兩週的高低點當區間突破是最好的,


而使用N日高低點在不同的週期也有穩定不錯的表現



測試結論
1.這個交易模型適合台指期使用二週架構高低通道的策略
2.可適用多種週期與多市場商品
3.以前股市談三日高低通道,在台指期可以換成 8日高 ,6日低的交易策略

0 留言:

張貼留言

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

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