2015年1月5日 星期一

K線型態的轉折應用 [程式碼]

EasyTrader ArtNo 234
日前 Wen大的部落格放了一篇有關型態的交易策略,整個程式內容還蠻多的,相信不少讀者也是花了一些時間作研究,從內容來看,這是一個在KD指標與價格轉折點之間找背離,作為進出場的依據,不過對台指期來說原始策略的績效普通,因此趁著假日作了一點研究,以下為我的處理方式
1.將屬於型態部份先分離出來,去掉一些不必要的程式碼並作成指標觀察
比較特別得是這裡使用的轉折計算方式並非內建函數 SwingHigh/SwingHighBar, SwingLow/SwingLowBar 以K棒根數作判斷 ,它是以轉折點的百分比作判斷
以下是策略程式裡分析出來的指標程式碼
input:swing(2.0);
vars:pcswing(0),last(0),curhigh(0),curlow(0),swhigh(0),swlow(0),swhigh1(0),swlow1(0),
highbar(0),highbar1(0),lowbar(0),lowbar1(0),chighbar(0),clowbar(0),xhigh(0),xlow(0),xclose(0);

pcswing = swing/100.;  { 這是轉折的百分比}
xclose = close;
xhigh = high;
xlow = low;

{ SWINGS: INITIALIZE MOST RECENT HIGH AND LOW }
if currentbar = 1 then begin
{ Initialize curhigh and curlow }
curhigh = xhigh; {current high price}
curlow = xlow; {current low price}
end;

{ SEARCH FOR A NEW HIGH }
if last<>1 then begin
if xhigh > curhigh then begin
curhigh = xhigh; {save values at new high}
chighbar = currentbar;
end;
if xlow < curhigh - curhigh*pcswing then begin
last = 1; {last high fixed}
swhigh1 = swhigh; {previous high}
highbar1 = highbar;
swhigh = curhigh; {new verified high}
highbar = chighbar;
curlow = xlow; {initialize new lows}
clowbar = currentbar;
end;
end;

{ SEARCH FOR A NEW LOW }

if last <> -1 then begin
if xlow < curlow then begin
curlow = xlow; {save values at new lows}
clowbar = currentbar;
end;

if xhigh > curlow + curlow*pcswing then begin
last = -1;
swlow1 = swlow;
lowbar1 = lowbar;
swlow = curlow;
lowbar = clowbar;
curhigh = xhigh; {initialize current high}
chighbar = currentbar;
end;
end;

Plot1[currentbar - highbar](SwHigh*(1+PcSwing/8),"SWH1") ;
Plot2[currentbar - Lowbar](SWLow*(1-PcSwing/8),"SWL1") ;
2.策略修改與測試
我依據它的邏輯設定

  • 當轉折高點往下跌某個百分比為作空進場價 Value1 = Swhigh*(1-SellTrig)
  • 當轉折低點往上漲某個百分比為作多進場價 Value2 = Swlow*(1+BuyTrig)

設計了兩個不同進場方式並搭配常用的出場規則作測試
策略 A
  if MP <> 1 and Close[1] < Value2 then Buy next bar at Value2 stop ;
  if MP <> -1 and Close[1] > Value1 then Sell next bar at Value1 stop ;
台指期 日K 留倉 交易期間 2004/11/1 ~ 2014/10/31 交易成本 1200

策略B
  if MP = 0 then Buy next bar at Value2 stop ;
  if MP = 0 then Sell next bar at Value1 stop ;
台指期 60分K 留倉 交易期間 2004/11/1 ~ 2014/10/31 交易成本 1200
看起來利用型態的轉折也是有不錯的績效喔
MagicQS144

47 則留言:

  1. 您好, 請問怎樣定義SellTrig & BuyTrig ?
    當轉折高點往下跌某個百分比為作空進場價 Value1 = Swhigh*(1-SellTrig)
    當轉折低點往上漲某個百分比為作多進場價 Value2 = Swlow*(1+BuyTrig)

    回覆刪除
  2. 您可以將它設為可變動參數 ,利用參數最佳化來測試

    回覆刪除
  3. 請問原始背離的程式碼可以分享給我學習嗎@@" 麻煩你了 信箱:jsshop@kimo.com
    另外想請問是否有教學課程呢?

    回覆刪除
  4. 請問我把程式碼放入multicharts中, 編譯是通過的, 但是指標沒有出現, 是因為是適用於TS嗎 ? 感謝

    回覆刪除
  5. 這是在 MC官網的畫點圖方式
    http://www.multicharts.com.tw/dis/dis_Content.aspx?rd=1&D_ID=2&SN=16836

    回覆刪除
  6. 方便跟你要程式碼學習嗎?感激不盡 mail:mlm1634@hotmail.com

    回覆刪除
  7. 我也想要學習原始背離的程式碼, 不曉得方便分享讓我參考嗎?
    My email: r90042@gmail.com

    回覆刪除
  8. 請問我想要學習原始背離的程式碼,不曉得方便分享?
    感激不盡,mail:2379su@gmail.com

    回覆刪除
  9. 你好 可以要原始背離的程式碼研究嗎 感謝
    washisula@gmail.com

    回覆刪除
  10. 您好:
    方便向您要背離程式碼學習嗎,感恩分享!
    jenny701206@gmail.com

    回覆刪除
  11. 你好 可以要原始背離的程式碼研究嗎 感謝
    frostcarter@hotmail.com

    回覆刪除
  12. 您好:
    方便向您要背離程式碼學習嗎,感謝分享~

    回覆刪除
  13. 您好:
    方便向您要背離程式碼學習嗎,感謝分享~
    r120542460@gmail.com

    回覆刪除
  14. 方便向您要背離程式碼學習嗎,感謝分享~
    gcp.mt5.tw.20200819@gmail.com

    回覆刪除
  15. 您好:
    方便向您要背離程式碼學習嗎,感謝分享~
    wowo.market@gmail.com

    回覆刪除
    回覆
    1. 您好:
      方便向您要背離程式碼學習嗎,感謝分享~
      plmorz@gmail.com

      刪除
  16. 您好,
    我是鋼學習的新手,請問是否方便寄程式碼學習提供學習?謝謝
    noah7035@gmail.com
    另外想請教last<>1,這是代表什麼意思呢?我只查到last即時價

    回覆刪除
  17. 您好~新手也想學習程式碼~
    若方便能否提供?謝謝
    kawashimaai30@gmail.com

    回覆刪除
  18. 您好~新手也想學習程式碼~
    若方便能否提供?謝謝
    kawashimaai30@gmail.com

    回覆刪除
  19. 您好~新手也想學習程式碼~
    若方便能否提供?謝謝
    fx790320@gmail.com

    回覆刪除
  20. 你好 ~~
    想要跟你了解背離程式 不知道方便提供嗎?謝謝
    poli0651@gmail.com

    回覆刪除
  21. 你好,不好意思,新手想研究程式碼,不知能否提供?感謝!
    shcwin@yahoo.com.tw

    回覆刪除
  22. 您好~新手也想學習程式碼~
    若方便能否提供?謝謝
    kif0715@yahoo.com.tw

    回覆刪除
  23. 您好~請教是否方便向您學習背離程式碼的寫法? 謝謝您~jesc4535@gmail.com

    回覆刪除
  24. 您好~ 可以跟您要原始背離的程式碼來研究學習嗎?.... 感謝
    Ying1030301@gmail.com

    回覆刪除
  25. 您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
    信箱:seaba8@hotmail.com

    回覆刪除
  26. 您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
    信箱:b8502002@hotmail.com

    回覆刪除
  27. 您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
    信箱:d54061344@gmail.com

    回覆刪除
  28. 您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
    信箱: forever440102@gmail.com

    回覆刪除
  29. 您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
    信箱: tudojohn@gmail.com

    回覆刪除