2014年8月7日 星期四

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

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 ;
作多進場邏輯
將N日的平均振幅乘以一定比例後,再加上次日開盤價作為突破買進價格
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 
then ExitLong next bar at Open ;
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 ;
台指期 日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 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 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;
當進場後低點 < 進場價格 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; 

{ ----- 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

沒有留言:

張貼留言