EasyTrader ArtNo 184
本篇要跟大家介紹另一個趨勢追隨系統,就像所有的趨勢交易系統一般,此系統也嘗試在無論是向上或向下的市場趨勢中獲取利潤 。為了能掌握到趨勢,此系統使用好幾個因子:
- 它使用開盤價與波動值的倍數來建立了一個頂底部的上下通道。
- 它使用三條移動平均線來確定市場是熊市或牛市。
- 它利用指數移動平均線來與通道進行比較。
定義參數與變數
inputs: FastLen(4),XMALen(4),VolLen(8),Multfrac(2) ;
vars:TopBand(0),BotBand(0),Xavg(0),FastMA(0),MedMA(0),SlowMA(0),BullTrend(false),BearTrend(false);
進場規則準備
1.計算短期收盤移動平均線( 4根K棒)、 中期收盤移動平均線( 9根K棒),長期收盤移動平均線( 18根K棒)。
FastMA = Average(Close,FastLen) ; { FastLen = 4 }
MedMA = Average(Close,FastLen*2+1) ; { FastLen*2+1 = 9 }
SlowMA = Average(Close,FastLen*4+2) ;{ FastLen*4+2 = 18 也可以使用 MedMA*2 }
為了後續回測方便 ,我們可以利用計算式的來控制短中長期 K棒數彼此的對應關係(藍字)
2.當短期移動平均大於中期移動平均,且中期移動平均大於長期移動平均線,我們認為市場是牛市的趨勢。
BullTrend = FastMA > MedMA and MedMA > SlowMA ;
3.當短期移動平均小於中期移動平均,且中期移動平均小於長期移動平均線,我們認為市場是熊市的趨勢。
BearTrend = FastMA < MedMA and MedMA < SlowMA ;
4.計算 4根K棒收盤價的指數移動平均線。
Xavg = Xaverage(Close,XMALen) ;
5.第一根K棒,定義開盤價加上最後 8 根K棒的波動值*2 為通道上緣。
6.第一根K棒,定義開盤價減去最後 8 根K棒的波動值*2 為通道下緣。
if BarNumber = 1 then Begin
TopBand = Open + Volatility(VolLen)*Multfrac ;
BotBand = Open - Volatility(VolLen)*Multfrac ;
end;
7.牛市時,當指數移動平均線向上穿越通道上緣時,原通道上緣成為新的通道下緣。
新的通道上緣由新的通道下緣加上最後 8 根K棒的波動值*2 所定義。
if Xavg > TopBand and BullTrend then Begin
BotBand = TopBand ;
TopBand = BotBand + Volatility(VolLen)*MultFrac ;
end;
8.熊市時,當指數移動平均線向下穿越通道下緣時,原通道下緣成為新的通道上緣。
新的通道下緣由新的通道上緣減去最後 8 根K棒的波動值*2 所定義。
if Xavg < BotBand and BearTrend then Begin
TopBand = BotBand ;
BotBand = TopBand - Volatility(VolLen)*MultFrac ;
end;
作多進場邏輯
當市場處於牛市時,指數移動平均線向上穿越通道上緣,在這根K棒收盤時作多。
if Xavg > TopBand and BullTrend then Begin
Buy this bar on Close ;
end;
作空進場邏輯
當市場處於熊市時,指數移動平均線向下穿越通道下緣,在這根K棒收盤時作空。
if Xavg < BotBand and BearTrend then Begin
Sell this bar on Close ;
end;
出場規則
1.手中持有多單部位時,當價格回落到通道下緣多單平倉。
if MarketPosition = 1 then ExitLong next bar at BotBand stop ;
2.手中持有空單部位時,當價格突破到通道上緣空單平倉。
if MarketPosition = -1 then ExitShort next bar at TopBand stop ;
3.設立必要的停損保護。
MedMA = Average(Close,FastLen*2+1) ; { FastLen*2+1 = 9 }
SlowMA = Average(Close,FastLen*4+2) ;{ FastLen*4+2 = 18 也可以使用 MedMA*2 }
為了後續回測方便 ,我們可以利用計算式的來控制短中長期 K棒數彼此的對應關係(藍字)
2.當短期移動平均大於中期移動平均,且中期移動平均大於長期移動平均線,我們認為市場是牛市的趨勢。
BullTrend = FastMA > MedMA and MedMA > SlowMA ;
3.當短期移動平均小於中期移動平均,且中期移動平均小於長期移動平均線,我們認為市場是熊市的趨勢。
BearTrend = FastMA < MedMA and MedMA < SlowMA ;
4.計算 4根K棒收盤價的指數移動平均線。
Xavg = Xaverage(Close,XMALen) ;
5.第一根K棒,定義開盤價加上最後 8 根K棒的波動值*2 為通道上緣。
6.第一根K棒,定義開盤價減去最後 8 根K棒的波動值*2 為通道下緣。
if BarNumber = 1 then Begin
TopBand = Open + Volatility(VolLen)*Multfrac ;
BotBand = Open - Volatility(VolLen)*Multfrac ;
end;
7.牛市時,當指數移動平均線向上穿越通道上緣時,原通道上緣成為新的通道下緣。
新的通道上緣由新的通道下緣加上最後 8 根K棒的波動值*2 所定義。
if Xavg > TopBand and BullTrend then Begin
BotBand = TopBand ;
TopBand = BotBand + Volatility(VolLen)*MultFrac ;
end;
8.熊市時,當指數移動平均線向下穿越通道下緣時,原通道下緣成為新的通道上緣。
新的通道下緣由新的通道上緣減去最後 8 根K棒的波動值*2 所定義。
if Xavg < BotBand and BearTrend then Begin
TopBand = BotBand ;
BotBand = TopBand - Volatility(VolLen)*MultFrac ;
end;
作多進場邏輯
當市場處於牛市時,指數移動平均線向上穿越通道上緣,在這根K棒收盤時作多。
if Xavg > TopBand and BullTrend then Begin
Buy this bar on Close ;
end;
作空進場邏輯
當市場處於熊市時,指數移動平均線向下穿越通道下緣,在這根K棒收盤時作空。
if Xavg < BotBand and BearTrend then Begin
Sell this bar on Close ;
end;
出場規則
1.手中持有多單部位時,當價格回落到通道下緣多單平倉。
if MarketPosition = 1 then ExitLong next bar at BotBand stop ;
2.手中持有空單部位時,當價格突破到通道上緣空單平倉。
if MarketPosition = -1 then ExitShort next bar at TopBand stop ;
3.設立必要的停損保護。
沒有留言:
張貼留言