702  

有客戶問說,學習程式交易的語法會不會很難啊,常常剛開始充滿信心投入,遇到了瓶頸卻很快失去了熱情,因為寫不出好的策略

其實現在資訊很發達,網路上有許多高手大方分享,也有達人出書詳細介紹,讓我們對powerlanduage不再陌生

這邊分享一個簡單的範例給入門的新手參考,這是一個當沖程式碼

If time>=0945 and time<=1300 then begin    控制進場時間

buy next bar at highest(close,N)+3 stop;  在突破N根K棒收盤價+3點 買進多單,N可以設定為可最佳化參數

sellshort  next bar at lowest(close,N)-3 stop; 在跌破N根K棒收盤價-3點 買進空單

end;

setstoploss(35* bigpointvalue); 停損設35點可自行修改 (setstoploss必須填寫金額)

If time>=1335 and marketposition<>0 then begin 時間大於13:35就平倉

sell next bar at market;

buytocover  next bar at market;

end;

setexitonclose;  加上這個語法可以避免回測遇到結算日沒有平倉訊號產生

編譯完成之後先檢查圖表,交易邏輯是不是完整正確的呈現在multicharts圖表上面

334  

來看看回測報表的績效如何

回測時間20071/1~2013/08/1(假設寫好策略的時間在一年之前) ,週期用11分K(為了避開和一般人常常使用的週期一樣) 

選擇最佳化參數 (有些人建議策略不要最佳化,個人認為~有必要最佳化,但是不要過度最佳化,參數選擇需要一些技巧)

337  

看起來績效還不錯(有加上手續費和滑價)

331  

每月獲利和虧損

332  

看起來似乎簡單的突破策略就可以駕馭台股了,每年都賺錢~哈

333  

把回測時間打開到~2014/08/01 ,用意是假設策略寫完之後已經放了一段時間,這段時間的化學反應是否可以應付盤勢的變化

發現該策略之後就沒有獲利,而且還跌破了MDD~嗚...

335  

336  

也許是波動率下降,導致很多當沖策略績效不好,但是至少可以看出來策略的可行性,還有是否過度最佳化的情形

 

小心得

策略開發並不難,簡單的觀念也許就可以獲利,最重要的是交易的熱情

寫好策略之後不要馬上就上線,先觀察一段時間

策略沒有絕對的好壞,每個人的風險承受度不同,資金的管理比程式的績效更重要

正在使用的策略跌破MDD 應該要如何處理

(策略範例僅供參考,如果有更好的想法也請和我分享哦~~)

arrow
arrow

    元大期貨楊宗儒 發表在 痞客邦 留言(0) 人氣()