2015年6月4日 星期四

開發商品的交易系統 - 基礎篇 [42]

EasyTrader ArtNo 267
這篇內容介紹原作者簡單使用日K線的Rate of Change (近期的漲跌幅度)進行市場商品強弱的篩選,如果要寫成公式,就是下面這兩行。
Inputs: Price(Close), Length1(2),Length2(5),Length3(7);
Plot1(RateofChange(Price, Length1) + (RateofChange(Price, Length2) + (RateofChange(Price, Length3))/3));

版主Wen 大也作了一些摘要說明,我也利用這些概念來設計進場的邏輯
Step 1: 確認此標的是否為較強勢的標的。原作者簡單採用上面的選市場方式。
Step3: 用一個簡單的指標判定多空,作者使用MACD指標,在0軸以上才作多。
Step6:最近是否突破近期高點。 →型態上的確認。
變動率(Rate of change,ROC)是由當天的股價與一定的天數之前的某一天股價比較,其變動速度的大小,來反映股票市場變動的快慢程度。
1、ROC的參數
ROC中只含一個參數,那就是究竟是同多少天之前的股價進行比較,這個天數N就是參數。
參數的含義其實反映了相比較的股價離現在時間上的遠近。N越大,距現在越遠。N選得太大,離得太遠,對於股價的預測可能沒有什麼指導意義。N選得太小,離得太近,對預測也可能沒有什麼指導意義。參數N應該選多少,這與個人的習慣有關,不能一概而論。目前,市場上流行的是N=5和N=10等幾種。

ROC的應用法則
根據ROC的特性,我們可以按以下的法則正確地應用ROC。為了更好地應用ROC,我們還引入了另一個技術指標──ROCAVG(ROCR的移動平均)。

1) 從ROC的取值方面
ROC自上而下跌破0,是賣出信號。反之,ROC自下而上穿過0,是買進信號。這是由ROC描述股價變動速度的特性而定的。

2) 從ROC與ROCAVG的相對取值方面
後者是前者的移動平均,這兩個指標的關係就如股價與MA的關係一樣,正是由於這個原因,ROC上穿ROCAVG並且ROC為正值時,是買入信號。同理,ROC下穿ROCAVG並且ROC為負值時,是賣出信號。

3) 從ROC與股價的背離方面
ROC有領先於股價的特性,所以有如下的法則。
如果從高向低ROC曲線出現兩個依次下降的峰,而此時,股價卻出現新的高峰。這就是背離,是賣出的信號。同理,ROC從低向高形成依次上升的兩個谷,而此時,股價卻出現了新的低谷。這是買入信號。
資料來源 MBA智庫 變動率 ROC


{系統參數與變數}
input:EntryType(1),ExitType(1);
inputs:NBarL(10),NBarS(26),TradeProfit(0.055),TradeStopLoss(0.057),ATRs_L(12.7),ATRs_S(4.6);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0);

inputs: Length1(3),R2(2.3),R3(2.2),HighBar(3),LowBar(3);
Vars:Price(0),Length2(5),Length3(7),MyROC(0);

MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;

PF = AvgPrice*TradeProfit ;
PL = AvgPrice*TradeStopLoss ;

{ 利用短中長週期平均值來建立較均化的變動率}
Price = Close ;
Length2 = IntPortion(Length1 * R2) ;
Length3 = IntPortion(Length2 * R3) ;

MyROC = (RateofChange(Price, Length1) + RateofChange(Price, Length2) + RateofChange(Price, Length3))/3;

{ MACD 作為趨勢方向確認 }
Value2 = Macd(Close,12,26) ;

{ 當變動率突破其長週期均值,且 MACD在零軸上,以最近高點突破進場}
if MP <> 1 and MyROC Cross over Average(MyROC,Length3) and Value2 > 0 then buy next bar at Highest(High,Length3) stop ;

{ 當變動率跌破其長週期均值,且 MACD在零軸下,以最近低點跌破進場}
if MP <> -1 and MyROC Cross under Average(MyROC,Length3) and Value2 < 0 then sell next bar at Lowest(Low,Length3) stop;

if ExitType = 1 then SetStopLoss(PL * BigPointValue) ;

if ExitType = 2 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
end;

if ExitType = 3 then Begin
if MP > 0 and BarsSinceEntry = NBarL then ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then ExitShort next bar at Market ;
end;

if ExitType = 4 then Begin
SetStopLoss(PL * BigPointValue) ;
setProfitTarget(PF * BigPointValue) ;
if MP > 0 and BarsSinceEntry = NBarL then {Sell } ExitLong next bar at Market ;
if MP < 0 and BarsSinceEntry = NBarS then {Buy} ExitShort next bar at Market ;
end;

if IsBalanceDay or date = 1150224 then setExitonClose ;

台指期 30 min K 多空留倉 交易週期 2005/2/1~ 2015/1/31 交易成本 1200


加上如意多空網台指期 30 min K 多空留倉 交易週期 2005/2/1~ 2015/1/31 交易成本 1200

結論:從LARS KESTNER所著的 [ QUANTITATIVE TRADING STRATEGIES]移動平均匯合方法(moving average confluence method)交易系統,我們可以衍生應用的思考模式為透過短中長不同週期的數值組合訊號,相較於單純的計算基礎將會有更佳的表現。
MagicQS176

沒有留言:

張貼留言