EasyTrader ArtNo 190
本篇介紹另一個波動性擴張交易系統VolEX(Volatility ExPansion),這是在九十年代初,由比爾克魯茲和查理賴特所開發的系統。一開始是針對 S&P 日K圖來進行交易,它試圖找到不尋常價格變化的日子。當條件被觸發時,便進入市場以及獲取利潤,此系統會儘量的縮短持倉的時間,有適當的獲利就出場。系統的參數與變數
inputs:LMult(1.4),SMult(2.4),ProfitPt(0),TrailBar(6),MinPf(50);
vars: MP(0) ;
MP = MarketPosition ;
作多進場邏輯
以下為早期修改後的波動性擴張系統 - 目前看起來仍具有創新高的能力
inputs: TradeProfit(375),TradeStopLoss(225),TradeMovPL(180),MinPL(90) ;
Inputs: MultBuy(2.2),MultSell(3.4),BuyLength(12),SellLength(12);
vars: TradeCounter(0),IsBalanceDay(False);
Vars: KeepPL(True),MP(0),start(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
Buy ("VLB") {Next Bar} at Open Next Bar + Average(Range, BuyLength) * MultBuy Stop;
Sell ("VLS") {Next Bar} at Open Next Bar - Average(Range, SellLength) * MultSell Stop;
{ ----- Exit of Long Trade -----}
if MP > 0 then Begin
將N日的平均振幅乘以一定比例後,再加上次日開盤價作為突破買進價格
Buy at Open next bar + Average(Range,10)*LMult stop ;
作空進場邏輯
Buy at Open next bar + Average(Range,10)*LMult stop ;
作空進場邏輯
將N日的平均振幅乘以一定比例後,再以次日開盤價相減作為跌破賣出價格
Sell at Open next bar - Average(Range,10)*SMult stop ;
出場規則 - 本系統使用了幾個不一樣的出場規則
1. 當進場後在第一根有獲利的開盤價出場
{ Exit at first Profitable Open }
if MP = 1 and Open next bar > EntryPrice+ProfitPt+Commission*CurrentContracts/BigPointValue
Sell at Open next bar - Average(Range,10)*SMult stop ;
出場規則 - 本系統使用了幾個不一樣的出場規則
1. 當進場後在第一根有獲利的開盤價出場
{ Exit at first Profitable Open }
if MP = 1 and Open next bar > EntryPrice+ProfitPt+Commission*CurrentContracts/BigPointValue
then ExitLong next bar at Open ;
if MP = -1 and Open next bar < EntryPrice-ProfitPt-Commission*CurrentContracts/BigPointValue
if MP = -1 and Open next bar < EntryPrice-ProfitPt-Commission*CurrentContracts/BigPointValue
then ExitShort next bar at Open ;
2. 移動式追蹤平倉出場
{Trailing Stops }
if MP = 1 then ExitLong next bar at Lowest(Low,TrailBar) Stop ;
if MP = -1 then ExitShort next bar at Highest(High,TrailBar) stop ;
3. 進場後, 4根K棒未達一定獲利則平倉出場
{ Stale Position Exit }
if BarsSinceEntry > 4 and PositionProfit < MinPF*BigPointValue then Begin
ExitLong next bar at Market ;
ExitShort next bar at Market ;
end ;
2. 移動式追蹤平倉出場
{Trailing Stops }
if MP = 1 then ExitLong next bar at Lowest(Low,TrailBar) Stop ;
if MP = -1 then ExitShort next bar at Highest(High,TrailBar) stop ;
3. 進場後, 4根K棒未達一定獲利則平倉出場
{ Stale Position Exit }
if BarsSinceEntry > 4 and PositionProfit < MinPF*BigPointValue then Begin
ExitLong next bar at Market ;
ExitShort next bar at Market ;
end ;
台指期 日K 留倉 交易週期 2004/8/2 ~ 2014/7/31 交易成本 1200
以下為早期修改後的波動性擴張系統 - 目前看起來仍具有創新高的能力
inputs: TradeProfit(375),TradeStopLoss(225),TradeMovPL(180),MinPL(90) ;
Inputs: MultBuy(2.2),MultSell(3.4),BuyLength(12),SellLength(12);
vars: TradeCounter(0),IsBalanceDay(False);
Vars: KeepPL(True),MP(0),start(0);
MP = MarketPosition ;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False ;
Buy ("VLB") {Next Bar} at Open Next Bar + Average(Range, BuyLength) * MultBuy Stop;
Sell ("VLS") {Next Bar} at Open Next Bar - Average(Range, SellLength) * MultSell Stop;
{ ----- Exit of Long Trade -----}
if MP > 0 then Begin
{ 停利出場 }
if MP > 0 and High > EntryPrice + TradeProfit then ExitLong at EntryPrice + TradeProfit stop;
if MP > 0 and High > EntryPrice + TradeProfit then ExitLong at EntryPrice + TradeProfit stop;
{ 停損出場 }
if MP > 0 and Low < EntryPrice - TradeStopLoss then ExitLong at EntryPrice - TradeStopLoss stop;
if MP > 0 and Low < EntryPrice - TradeStopLoss then ExitLong at EntryPrice - TradeStopLoss stop;
當進場後高點 > 進場價格 MinPL 點以上 , 則以進場後最高價減去 TradeMovPL 作反手單
if IsBalanceDay = False and MP > 0 and KeepPL and Highest(High, BarsSinceEntry)-EntryPrice > MinPL then Sell at Highest(High, BarsSinceEntry)-TradeMovPL Stop;
end;
{ ----- Exit of Short Trade -----}
if MP < 0 then Begin
if IsBalanceDay = False and MP > 0 and KeepPL and Highest(High, BarsSinceEntry)-EntryPrice > MinPL then Sell at Highest(High, BarsSinceEntry)-TradeMovPL Stop;
end;
{ ----- Exit of Short Trade -----}
if MP < 0 then Begin
{ 停利出場 }
if MP < 0 and Low < EntryPrice - TradeProfit then ExitShort at EntryPrice - TradeProfit stop;
if MP < 0 and Low < EntryPrice - TradeProfit then ExitShort at EntryPrice - TradeProfit stop;
{ 停損出場 }
if MP < 0 and High > EntryPrice + TradeStopLoss then ExitShort at EntryPrice + TradeStopLoss stop;
if MP < 0 and High > EntryPrice + TradeStopLoss then ExitShort at EntryPrice + TradeStopLoss stop;
當進場後低點 < 進場價格 MinPL 點以上 , 則以進場後最低價加上 TradeMovPL 作反手單
if IsBalanceDay = False and MP < 0 and KeepPL and EntryPrice-(Lowest(Low, BarsSinceEntry)) > MinPL then Buy at Lowest(Low, BarsSinceEntry) + TradeMovPL Stop;
end;
if IsBalanceDay = False and MP < 0 and KeepPL and EntryPrice-(Lowest(Low, BarsSinceEntry)) > MinPL then Buy at Lowest(Low, BarsSinceEntry) + TradeMovPL Stop;
end;
{ ----- Balance on Monthly BalanceDay -----}
if IsBalanceDay = True then begin
if time >= 1315 then begin
if MP > 0 then ExitLong next bar at market ;
if MP < 0 then ExitShort next bar at market ;
end ;
end;
台指期 15 分K 留倉 交易週期 2004/8/2 ~ 2014/7/31 交易成本 1200
結論 : 同樣的策略核心元素 ,加上不同的出場反手單 ,也會有意想不到的效果
MagicQS101
沒有留言:
張貼留言