2013年9月27日 星期五

●Phil's System交易策略修改--by EasyTrader

  感謝熱心讀者EasyTrader提供Phil's System策略的修改版。我跟這位讀者用Skype聊了一段時間,發現他撰寫策略及指標程式碼的功力可以說非常成熟,在他面前我也自嘆不如。一直以來在這個網站張貼文章,都偏重在策略的創作及思考邏輯引導,針對程式語法的細節,我很少探討。為了讓讀者學到一些我之前忽略的部分,我特別邀請他教導程式交易入門者撰寫程式碼教學、指標及策略修改測試,未來如果看到文章後面有EasyTrader,就會是我安排他來教學的系列文章。

Phil's System策略的修改版--by EasyTrader 

語法:TS2000i


Inputs: ATRLen(10),Lvl(10),Pct(2.2);
Vars: Atr(0),Eb(0),LStop(0),Mp(0),HStop(0);
Atr=Average(TrueRange,ATRLen);
Mp=MarketPosition;
If Mp<>1 and c[1]<o[1] and c[2]<o[2] and c[3]<o[3] and H<Highest(H[1],3){ and
O>L[1] }{and Atr>Lvl}  then begin
buy this bar on close;
Eb=currentbar;
LStop=0;
end;
If Mp<>1 and c[1]>o[1] and c[2]>o[2] and c[3]>o[3] and L>Lowest(L[1],3) {and
O<H[1]}{ and Atr>Lvl}  then begin
Sell this bar on close;
Eb=currentbar;
HStop=99999;
end;
If MP=1 and currentbar<>eb then begin
LStop=Maxlist(LStop,high-EntryPrice*Pct/100);
ExitLong next bar LStop stop;
end;
If MP=-1 and currentbar<>eb then begin
HStop=Minlist(HStop,Low+EntryPrice*Pct/100);
ExitShort next bar HStop stop;
end;

*ps: TS2000i與MC的語法只差在吧Exitlong改成Sell、ExitShort改成Buytocover就差不多了

回測結果:


0 留言:

張貼留言

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

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