2014年10月16日 星期四

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

EasyTrader ArtNo 210
動量指標又叫MTM指標,其英文全稱是“Momentom Index”,是一種專門研究股價波動的中短期技術分析工具。  動量指數以分析股價波動的速度為目的,研究股價在波動過程中各種加速,減速,慣性作用以及股價由靜到動或由動轉靜的現象。動量指數的理論基礎是價格和供需量的關係,股價的漲幅隨著時間,必須日漸縮小,變化的速度力量慢慢減緩,行情則可反轉。反之,下跌亦然。動量指數就是這樣通過計算股價波動的速度,得出股價進入強勢的高峰和轉入弱勢的低谷等不同訊號,由此成為投資者較喜愛的一種測市工具。
 股價在波動中的動量變化可通過每日之動量點連成曲線即動量線反映出來。在動量指數圖中,水平線代表時間,垂直線代表動量範圍。動量以0為中心線,即靜速地帶,中心線上部是股價上升地帶,下部是股價下跌地帶,動量線根據股價波情況圍繞中心線周期性往返運動,從而反映股價波動的速度。

MTM=C-Cn
 其中:C為當日收市價,Cn為N日前收市價,N為設定參數,一般選設10日,亦可在6日至14日之間選擇。

二.運用原則
(1)一般情況下,MTM由上向下跌破中心線時為賣出時機,相反,MTM由下向上突破中心線時為買進時機。
(2)因選設10日移動平均線情況下,當MTMT在中心線以上,由上向下跌穿平均為賣出訊號,反之,當MTM在中心線以下,由下向上突破平均線為買入訊號。
(3)股價在上漲行情中創出點,而MTMT未能配合上升,出現背馳現象,意味上漲動力減弱,此時應關註行情,慎防股價反轉下跌。
(4)股價在下跌行情中走出新低點,而MTM未能配合下降,出現背馳,該情況意味下跌動力減弱,此時應註意逢低承接。
(5)若股價與MTM在低位同步上升,顯示短期將有反彈行情;若股價與MTM在高位同步下降,則顯示短期可能出現股價回落。
資料參考:MBA智庫
這個交易系統的想法是透過長短不同週期的動量突破來作進場的依據
系統變數與參數
input:ExitType(1) ;
inputs:NBarL(2),NBarS(2),TradeProfit(0.02),TradeStopLoss(0.02),ATRs_L(2),ATRs_S(2);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0);
inputs:FastL(10),RatioL(2),FastS(10),RatioS(2) ;
Vars:SlowL(0),SlowS(0),AvgL1(0),AvgL2(0),AvgS1(0),AvgS2(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 ;

{ 利用變數來調整短長週期比例 }
SlowL = IntPortion(FastL*RatioL) ;
SlowS = IntPortion(FastS*RatioS) ;

{均線值 }
AvgL1 = Average(Close,FastL) ;
AvgS1 = Average(Close,FastS) ;

{ 多方進場條件 }
Condition1 = Close > Close[FastL] and Close > Close[SlowL] and AvgL1 > AvgL1[1] ;
{ 空方進場條件 }
Condition2 = Close < Close[FastS] and Close < Close[SlowS] and AvgS1 < AvgS1[1] ;

{ 動量由負轉正 ,作多 }
if  Condition1 then Buy next bar at Market ;

{ 動量由正轉負 ,作空}
if  Condition2 then Sell next bar at Market ;

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 then setExitonClose ;
台指期 60 min K 多空留倉 交易週期 2004/8/30~ 2014/8/29 交易成本 1200
近期的表現相當不錯
結論:有時光用動量值來分析研究,顯得過於簡單,在實際中可以使用長短期動量同步突破/跌破來確認,用以對比,修正動量指數,效果很好。
MagicQS121

沒有留言:

張貼留言