2013年11月7日 星期四

國外知名交易系統 R-Breaker (指標程式碼)


EasyTrader ArtNo 044 
R-breaker 是一個專門使用在股票指數上的交易系統,該系統為日內交易策略,不持倉過夜。出場指令為停損或是收盤。每天交易不超過2 筆,很多時候一天內可能沒有交易。該系統的特點是,結合了順勢和逆勢兩種交易方法,既進行順勢交易也進行逆勢交易。自1993 年公開發佈以來,系統的交易法則沒有改變過,該系統已經在市場上存活了 20 年之久(2013/04在 S&P 排名第七)。尤其是當指數的日內波動較大時,該系統的績效更好,反之則沒有交易機會。


R-breaker 模型原理


R-Breaker 是一種短線交易策略,它結合了順勢和逆勢兩種交易方式。

交易系統的基本原理如下:
1. 根據前一個交易日的收盤價、最高價和最低價資料通過一定方式計算出六個價位,從大到小依次為:TrendBuy、SellCheck、RevSell、RevBuy、BuyCheck、TrendSell。

以此來形成當前交易日盤中交易的觸發條件。通過對計算方式的調整,可以調節六個價格間的距離,進一步改變觸發條件。

2. 看圖說故事 : 觀察盤中價格走勢,判斷買賣訊號
S1 : 當日內最高價超過SellCeck 且未高過 TrendBuy,盤中價格出現回檔,且進一步跌破 RevSell 的支撐線時,採取逆勢策略,即在 RevSell(反手、新倉)做空;

B1: 當日內最低價低於 BuyCheck 且未低於 TrendSell,盤中價格出現反彈,且進一步超過 RevBuy 的阻力線時,採取逆勢策略,即在RevBuy(反手、新倉)做多;

B2: 在空手的情況下,如果盤中價格超過 TrendBuy,則採取順勢策略,即在該點位做多;
S2: 在空手的情況下,如果盤中價格跌破 TrendSell,則採取順勢策略,即在該點位做空。

3. 設定停損條件。當虧損達到設定值後,平倉。
4. 設定過濾條件。當前一個交易日波幅過小,該交易日不進行交易。
5. 在每日收盤前,對所持部位進行平倉。

指標程式碼
input:f1(.35),f2(0.07),f3(.25);
var:SellCheck(0),BuyCheck(0),RevSell(0),RevBuy(0),TrendBuy(0),TrendSell(0);

if currentbar >= 1 then Begin 

SellCheck=HighD(1)+f1*(CloseD(1)-LowD(1));
RevSell=((1+f2)/2)*(HighD(1)+CloseD(1))-(f2)*LowD(1);
RevBuy=((1+f2)/2)*(LowD(1)+CloseD(1))-(f2)*HighD(1);
BuyCheck=LowD(1)-f1*(HighD(1)-CloseD(1));
TrendBuy=SellCheck+f3*(SellCheck-BuyCheck){(1.3625*HighD(1)+.45*CloseD(1))-.8125*LowD(1)};
TrendSell=BuyCheck-f3*(SellCheck-BuyCheck)               {(1.3625*LowD(1)+.45*CloseD(1))-.8125*HighD(1)};

Plot1(TrendBuy,"TrendBuy",Red,Black,2) ;
Plot2(SellCheck,"SellCheck",Cyan,Black,2) ;
Plot3(RevSell,"RevSell",White,Black,2) ;

{
Plot1(RevBuy,"RevBuy",Yellow,Black,2) ;
Plot2(BuyCheck,"BuyCheck",Magenta,Black,2) ;
Plot3(TrendSell,"TrendSell",Green,Black,2) ;
}

end;



根據交易模型寫成的 5分鐘當沖策略回測 (2013/11/1 往前3000 日, 來回成本 1200)





2012/10月以前的績效都還不錯,近一年的狀況都不好 , 山不轉路轉,下篇我們再改為波段策略試試
MagicQS007

沒有留言:

張貼留言