2015年5月21日 星期四

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

EasyTrader ArtNo 265
我們在程式交易系統攻略有個應用範例 ~艾達透視指標~ 是由專業的投資家、知名技術分析師以及開業的精神醫師亞歷山大•埃爾德(A lexander Elder)博士所開發的指標,而本篇勁道指數(Force Index)也是由他所設計的一種擺蕩指標,藉以衡量每個漲勢中的多頭勁道與每個跌勢中的空頭勁道。勁道指數結合三項主要的市場資訊:價格變動的方向、它的幅度與成交量。它是由一個嶄新而實用的角度,把成交量納入交易決策中。
我們可以直接使用勁道指數,但經過平滑之後的效果比較理想,經過短期均線平滑之後的勁道指數,可以協助判斷進/出場點。經過長期均線平滑之後的勁道指數。可以顯示多/空勁道的主要變化。
接下來我們一起來了解及測試 ~勁道指數~
每個走勢的勁道是由三個因數界定:方向、距離與成交量。如果今天的收盤價高於前一天的收盤價,勁道指數為正值。如果今天的收盤價低於前一天的收盤價,勁道指數為負值。價格的變動程度愈大,勁道愈足,成交量愈高,走勢的勁道也愈大。多頭主控行情。當它翻為負值,代表空頭居於主控地位。勁道指數13天EMA與價格之間的背離現象,代表重要的轉折點。

勁道指數=成交量(今天)×[收盤價(今天)-收盤價(昨天)]

未經平滑的勁道指數是以柱狀圖表示,如果今天的收盤價較高,勁道指數為正值,柱狀圖繪製在零線之上。如果今天的收盤價較低,勁道指數為負值,柱狀圖繪製在零線之下,如果收盤價不變,勁道指數為零。


由於勁道指數的每天數值變化很大,最好是經過均線的平滑。平滑之後的指標,可以提供比較理想的訊號,勁道指數的2天EMA,是最低程度的平滑,適用於尋找進/出場點。如果你順著價格的13天EMA方向交易,應該在勁道指數2天EMA為負值時買進,在正值中賣出。
勁道指數的13天EMA,可以追蹤多/空勁道的長期變動,當它穿越到零線之上,代表多頭主控行情。當它翻為負值,代表空頭居於主控地位。勁道指數13天EMA與價格之間的背離現象,代表重要的轉折點。
資料參考 - MBA智庫
{系統參數與變數}
input:ExitType(1);
inputs:NBarL(24),NBarS(22),TradeProfit(0.05),TradeStopLoss(0.04),ATRs_L(12.7),ATRs_S(4.6);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0);

inputs: Len1(5),Len2(5),HB(0),LB(0),HighBar(5),LowBar(5);
vars:Force(0),Vol(0),ForceIdx1(0),ForceIdx2(0),Avg1(0),Avg2(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 ;

{ 計算勁道指數 }
Vol = iff(DataCompression > 1 ,Volume,TickS) ;
Force = Vol * (Close-Close[1]) ;
ForceIdx1 = Xaverage(Force,Len1) ;
ForceIdx2 = Xaverage(Force,Len2) ;

{ 作兩次平方根計算只是方便指標圖觀看與參數測試}
ForceIdx1 = sign(ForceIdx1)*SquareRoot(SquareRoot(Absvalue(ForceIdx1))) ;
ForceIdx2 = sign(ForceIdx2)*SquareRoot(SquareRoot(Absvalue(ForceIdx2))) ;

{均線用來協助確認趨勢的方向}
Avg1 = Average(Close,Len1) ;
Avg2 = Average(Close,Len2) ;

1.我使用的進場邏輯有些類似逆勢想法 或者說是在趨勢中的反彈與回檔中進場
2.多空不對稱參數與參考界線不同

{多單進場 - 收盤價低於均線且勁道指數高於 HB時進場}
if MP <> 1 and Close < Avg1 and ForceIdx1 > HB then Buy next bar at Highest(High,HighBar) stop ;

{空單進場 - 收盤價高於均線且勁道指數低於 LB時進場}
if MP <> -1 and Close > Avg2 and ForceIdx2 < LB then Sell next bar at Lowest(Low,LowBar) 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 ;
台指期 60 min K 多空留倉 交易週期 2005/2/1~ 2015/1/31 交易成本 1200


台指期 30 min K 多空留倉 交易週期 2005/2/1~ 2015/1/31 交易成本 1200
結論:成交量反映市場參與者的感受,價格反映他們的想法。勁道指數結合成交量與價格,如果勁道指數持續創新高,代表多頭的勁道十足,上升趨勢應該會繼續發展。如果勁道指數持續創新低,代表空頭的勁道十足,下降趨勢應該會繼續發展。如果價格的變動沒有受到成交量的確認,勁道指數將走平,這是趨勢可能反轉的警訊。同理,如果大成交量僅驅動小幅的價格走勢,勁道指數也會走平,代表趨勢即將反轉的警訊。
MagicQS173

沒有留言:

張貼留言