EasyTrader ArtNo 263
佳慶離散指標(Chaikin Volatility,簡稱CVLT,VCI,CV)又稱“佳慶變異率指數”,是通過測量一段時間內價格幅度平均值的變化來反映價格的離散程度。佳慶離散指標由馬可·蔡金(Marc Chaikin)提出,它的計算方法和離散比率(VLT)很相似,但佳慶離散指標中沒有考慮跳空缺口的作用。Chaikin Volatility指針同時配合移動平均線(簡單移動平均線、EMA、WMA)和Envelopes使用會效果更佳。
佳慶離散指標的計算方法
1、先計算n日的Range = High - Low=價差指數平滑移動平均:
REMAt = REMAt-1 + 2/(n+1) * ( Rt - REMAt-1)
2、計算n日移動平均的變動率:
Chainkin's Volatility = (REMAt - REMAt-n)/REMAt-n
價差指數平滑移動平均是將一段時間最高價與最低價之差進行指數平滑移動平均(EMA)所得出的數值。描述價格的波動程度的狀況有二種,一種是認為當股價向上時的波動程度將隨之上升,此種描述是認為價格上升時經常伴隨著成交量放大,這表示此 過程將吸引更多的市場參與者加入,而更多人的參與交易隱含著波動程度放大。另一種狀況則是認為觀察短期的價格走勢,則波動的訊雜干擾會較長期來得大。
佳慶離散指標的判研方法
離散比率能直觀地反映異常波動的情況,這可能是趨勢形成或反轉的先兆。
1、當價格上漲形態被破壞,併進入區間盤整狀態,此時CV曲線處於頂部(高水平位置)。
2、區間盤整或區間被突破時, CV曲線通常處於底部(低水平位置)。
3、價格上漲時Chaikin Volatility指標的數值將隨之上升。
4、當價格將要到達頂部時,會出現突然加速上升的現象。
5、當市場漸漸無力時,反轉行情的可能性增高,會出現急速下降的現象。
本篇我將此指標作了一些修正與變化
1.計算基準由振幅(Range)改為真實區間(TrueRange)
2.指標以突破近期高低搭配價格突破近期高低作進出
{系統參數與變數}
input:ExitType(0);
inputs:NBarL(23),NBarS(13),TradeProfit(0.025),TradeStopLoss(0.025),ATRs_L(10.78),ATRs_S(6.4);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),HLRange(100);
input:Len(10),Shift(5),HB(1.2),LB(0.3),Length(10),HighBar(3),LowBar(3);
Vars:TRvalue(0),TRCV(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 ;
{ 計算 TRCV }
TRvalue = TrueRange ;
Value2 = Xaverage(TRValue,Len) ;
if Value2[Shift] <> 0 then TRCV = (Value2-Value2[Shift])/Value2[Shift] ;
{指標突破近期高點搭配價格突破近期高點作多}
if MP <> 1 and TRCV Cross over Highest(TRCV,HighBar)[1] then
input:ExitType(0);
inputs:NBarL(23),NBarS(13),TradeProfit(0.025),TradeStopLoss(0.025),ATRs_L(10.78),ATRs_S(6.4);
vars: IsBalanceDay(False),MP(0),PF(0),PL(0),HLRange(100);
input:Len(10),Shift(5),HB(1.2),LB(0.3),Length(10),HighBar(3),LowBar(3);
Vars:TRvalue(0),TRCV(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 ;
{ 計算 TRCV }
TRvalue = TrueRange ;
Value2 = Xaverage(TRValue,Len) ;
if Value2[Shift] <> 0 then TRCV = (Value2-Value2[Shift])/Value2[Shift] ;
{指標突破近期高點搭配價格突破近期高點作多}
if MP <> 1 and TRCV Cross over Highest(TRCV,HighBar)[1] then
Buy next bar at Highest(High,HighBar) stop ;
{指標跌破近期低點搭配價格跌破近期低點作空}
if MP <> -1 and TRCV Cross under Lowest(TRCV,LowBar)[1] then
{指標跌破近期低點搭配價格跌破近期低點作空}
if MP <> -1 and TRCV Cross under Lowest(TRCV,LowBar)[1] 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 ;
台指期 30 min K 多空留倉 交易週期 2005/2/1~ 2015/1/31 交易成本 1200
結論:使用真實區間 ATR的用意在於當策略應用的週期變小,只有 Range本身的計算比較容易失真,在其原有的指標數值突然的急速上升,與後續的漲跌規則不容易抓到規律性
{出場規則}
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
結論:使用真實區間 ATR的用意在於當策略應用的週期變小,只有 Range本身的計算比較容易失真,在其原有的指標數值突然的急速上升,與後續的漲跌規則不容易抓到規律性
MagicQS172
沒有留言:
張貼留言