最近每天的市場行情都像在坐雲霄飛車一樣,
當你以為要下墜的時候,就忽然給你往上狂衝,
結果衝的正高興的時候,突然又讓你摔到谷底。
每天上沖下洗,差點沒讓人上吐下瀉。
希望大家在這波大行情中,都沒被傷到,荷包賺滿滿!
上星期介紹過RSI指標,這星期我們把他用來實作看看,
看看最近的行情是否也能抓到。
最近作留倉交易的人,
應該是非常的疲累,
每天看到美股在那邊自導自演,
開盤跟收盤的情況往往大相逕庭,
所以勸各位,還是早點去睡覺,
晚上別在看美股了,以免睡不著。
最近行情波動很大,對於作程式交易的人,
或許是不錯的情況,總是要有波動才有利潤可以賺阿。
不過作當沖的也不見得好賺,畢竟進場點不對的話,
一進去可能就被秒殺了。
上星期我們講過RSI指標的特性,
接下來我們就把他應用在程式交易上,
因為單純用RSI是否到達超買超賣區來作買賣判斷,
不容易產生有效訊號,
所以我們改用兩條RSI指標線的交叉與否來產生訊號,
接著來看看結果如何?
回測時間,SHOW TIME!
回測目標:驗證RSI指標來做交易訊號是否可以獲利?
回測標的:用台指15分、30分、60分K線作留倉交易。
回測成本設定:費用設定為1000元。
回測時間:從1998年到今天。
進場方式:(1)當短期(6根K棒)RSI線由下往上突破長期(12根K棒)RSI線時,
啟動買進訊號,當價格向上突破前3根K棒高點時進場做多。
(2)當短期(6根K棒)RSI線由上往下突破長期(12根K棒)RSI線時,
啟動賣出訊號,當價格往下突破前3根K棒低點時進場做空。
濾網:基本上我們使用開盤後第一根K棒的高低點當作壓力線與支撐線,買訊啟動後要過壓力線才進場做多;
賣訊啟動後要往下破支撐線才進場做空。
出場方式:(1)設定停損點數為150點。
(2)到期當天出場,等到下次訊號出現時在進場。
我們把報表數據稍微整理如下:

上圖為最近的進出場訊號K線圖

上圖分別為15分K、30分K、60分K的每年損益比較

上圖分別為15分K、30分K、60分K的每年損益直方圖

上圖分別為15分K、30分K、60分K的其他重要數據表

上圖為今年以來每月的損益情況
由上面幾張圖表我們可以得到一些結論:
- 本交易策略其實還是可以賺錢的,而且今年8月份更是誇張。
- 勝率跟前幾種技術指標的交易策略一樣都不高,大概只有40%多一點。
- Drawdown一樣還是很大。
- 前幾篇文章都提過,今年技術分析的交易策略,績效表現都不錯。
如何改進缺點-
- 如果要增加勝率,一定要把次數降低,
因為過多無謂的交易會增加你失敗的次數,
所以我們必須再加入其他濾網來過濾掉一些次數。 - 要降低DD,一定要增加其他種出場點,
例如:加入停利的出場方式,像拉回多少點或多少比率,就出場。
或是當你獲利超過一定程度,你在設定拉回出場也可以,
等等其他的出場方式。 - 其實很多技術指標並不適合直接拿來當作訊號的主軸,
不過拿來當作一些濾網,其實還蠻合適的。
下一篇文章,筆者會把之前寫過的技術指標程式,
通通一起拿來比較一下,
順便看看最近的大行情是否都有抓到。
最近盤勢波動很大,
大家做交易要非常的小心,
也祝福大家繼續賺大錢!
坊間大絕開盤八法的程式化策略剖析
坊間大絕之CDP逆勢操作系統
坊間大絕之CDP逆勢操作系統 進階篇-大家來找碴
坊間大絕之技術分析-KD指標
程式交易之技術分析策略探討-KD指標
技術分析策略探討-DMI&ADX趨向指標
程式交易之技術分析策略探討-DMI趨向指標
程式交易之技術分析策略探討-移動平均線指標
技術分析策略探討-相對強弱指標RSI
坊間大絕之CDP逆勢操作系統
坊間大絕之CDP逆勢操作系統 進階篇-大家來找碴
坊間大絕之技術分析-KD指標
程式交易之技術分析策略探討-KD指標
技術分析策略探討-DMI&ADX趨向指標
程式交易之技術分析策略探討-DMI趨向指標
程式交易之技術分析策略探討-移動平均線指標
技術分析策略探討-相對強弱指標RSI
最後把程式碼附上給大家做參考。
var : buyflag(false),sellflag(false),dh(0),dl(99999);
if time=0915 then begin
dh=highd(0);
dl=lowd(0);
end;
if RSI(close,6) crosses above RSI(close,12) then begin
buyflag=true;
sellflag=false;
end;
if RSI(close,6) crosses below RSI(close,12) then begin
buyflag=false;
sellflag=true;
end;
if buyflag=true and high > dh and high > highest(high,3)[1] then begin
buy next bar at highest(high,3)+1 stop;
end;
if sellflag=true and low < dl and low < lowest(low,3)[1] then begin sell next bar at lowest(low,3)-1 stop; end; if marketposition > 0 then exitlong at entryprice-150 stop ;
if marketposition < 0 then exitshort at entryprice+150 stop ; Condition0=dayofweek(date)=3 and dayofmonth(date)>14 and 22>dayofmonth(date);
if condition0=true then begin
if t>1314 then begin
exitlong("EXPL") on close;
exitshort("EXPS") on close;
end;
end;
本文內容僅供參考,無任何買賣建議,投資人應謹慎評估,風險自負。