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") ;
設計了兩個不同進場方式並搭配常用的出場規則作測試
策略 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
看起來利用型態的轉折也是有不錯的績效喔
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
您好, 請問怎樣定義SellTrig & BuyTrig ?
回覆刪除當轉折高點往下跌某個百分比為作空進場價 Value1 = Swhigh*(1-SellTrig)
當轉折低點往上漲某個百分比為作多進場價 Value2 = Swlow*(1+BuyTrig)
您可以將它設為可變動參數 ,利用參數最佳化來測試
回覆刪除明白了, 謝謝!
刪除請問原始背離的程式碼可以分享給我學習嗎@@" 麻煩你了 信箱:jsshop@kimo.com
回覆刪除另外想請問是否有教學課程呢?
已寄出
回覆刪除請問我把程式碼放入multicharts中, 編譯是通過的, 但是指標沒有出現, 是因為是適用於TS嗎 ? 感謝
回覆刪除這是在 MC官網的畫點圖方式
回覆刪除http://www.multicharts.com.tw/dis/dis_Content.aspx?rd=1&D_ID=2&SN=16836
方便跟你要程式碼學習嗎?感激不盡 mail:mlm1634@hotmail.com
回覆刪除我也想要學習原始背離的程式碼, 不曉得方便分享讓我參考嗎?
回覆刪除My email: r90042@gmail.com
請問我想要學習原始背離的程式碼,不曉得方便分享?
回覆刪除感激不盡,mail:2379su@gmail.com
你好 可以要原始背離的程式碼研究嗎 感謝
回覆刪除washisula@gmail.com
已寄出
刪除已寄出
回覆刪除您好:
回覆刪除方便向您要背離程式碼學習嗎,感恩分享!
jenny701206@gmail.com
已寄出檔案
刪除你好 可以要原始背離的程式碼研究嗎 感謝
回覆刪除frostcarter@hotmail.com
已寄出檔案
刪除您好:
回覆刪除方便向您要背離程式碼學習嗎,感謝分享~
您好:
回覆刪除方便向您要背離程式碼學習嗎,感謝分享~
r120542460@gmail.com
方便向您要背離程式碼學習嗎,感謝分享~
回覆刪除gcp.mt5.tw.20200819@gmail.com
已寄出檔案
刪除您好:
回覆刪除方便向您要背離程式碼學習嗎,感謝分享~
wowo.market@gmail.com
已寄出檔案
刪除您好:
刪除方便向您要背離程式碼學習嗎,感謝分享~
plmorz@gmail.com
您好,
回覆刪除我是鋼學習的新手,請問是否方便寄程式碼學習提供學習?謝謝
noah7035@gmail.com
另外想請教last<>1,這是代表什麼意思呢?我只查到last即時價
已寄出檔案
刪除您好~新手也想學習程式碼~
回覆刪除若方便能否提供?謝謝
kawashimaai30@gmail.com
您好~新手也想學習程式碼~
回覆刪除若方便能否提供?謝謝
kawashimaai30@gmail.com
您好~新手也想學習程式碼~
回覆刪除若方便能否提供?謝謝
fx790320@gmail.com
已寄出檔案
刪除你好 ~~
回覆刪除想要跟你了解背離程式 不知道方便提供嗎?謝謝
poli0651@gmail.com
已寄出檔案
刪除你好,不好意思,新手想研究程式碼,不知能否提供?感謝!
回覆刪除shcwin@yahoo.com.tw
您好~新手也想學習程式碼~
回覆刪除若方便能否提供?謝謝
kif0715@yahoo.com.tw
您好~請教是否方便向您學習背離程式碼的寫法? 謝謝您~jesc4535@gmail.com
回覆刪除已寄出檔案
回覆刪除您好~ 可以跟您要原始背離的程式碼來研究學習嗎?.... 感謝
回覆刪除Ying1030301@gmail.com
已寄出檔案
刪除您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
回覆刪除信箱:seaba8@hotmail.com
已寄出檔案
刪除您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
回覆刪除信箱:b8502002@hotmail.com
已寄出檔案
刪除您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
回覆刪除信箱:d54061344@gmail.com
您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
回覆刪除信箱: forever440102@gmail.com
已寄出檔案
刪除您好 想請問原始背離的程式碼可以分享學習嗎? 感謝分享
回覆刪除信箱: tudojohn@gmail.com
已寄出檔案
刪除