EasyTrdaer ArtNo 230
經由商品價格變化所繪出的線性迴歸指標,用意是在於將個別點與迴歸線的距離最小化,這樣的方法在統計上稱之為最小平方誤差,而此指標建立在當價格偏離迴歸線後,總是會拉回或是反彈到此線的附近。線性迴歸指標也可以用來觀察目前的價格趨勢,如果指標線上升表示目前趨勢是上漲的,反之則趨勢是下跌的,以此交易系統而言,我們會將迴歸線以指數平均數作平滑處理,這樣可以避免指標不斷的來回擺蕩的太頻繁。
此交易系統同時運用了一個動量指標,也就是當根K棒收盤價與N根前K棒的收盤價作比較,並利用差值繪成指標線,當動量指標在零值之上且逐漸上升,代表的意義是趨勢上漲且加速,若是指標線轉為平坦式的移動,代表著走勢盤整,動量指標算是一個領先指標,當趨勢速度減緩時,指標線開始走平或者是轉向逆勢。
本交易系統利用動量的特性來定義上漲中的拉回與下跌中的反彈,來搭配迴歸線所定義的趨勢作為策略元素
系統參數與變數
Inputs:LRLen(20),AvgLen(15),MomLen(10),Pcnt(.5),EntL(4),EntS(4);
Vars: Price(Close),XLinReg(0),Mom(0);
迴歸線與動量計算
XLinReg = XAverage(LinearRegValue(Price, LRLen, 0), AvgLen);
Mom = Momentum(Price, MomLen);
買方環境建立
迴歸線上漲且動量指標在零值以下上升中 (上圖紅圈圈位置)
Condition1 = XLinReg > XLinReg[1];
Condition2 = Mom < 0 AND Mom > Mom[1];
作多進場邏輯
當買方環境成立後四根K棒內,以近3根K棒最高價價格進場
if MP = 0 and MRO(Condition1 AND Condition2,EntL,1) > -1 then Buy ("Long") Next Bar at Highest(High,3) Stop;
原始多單出場
Vars: Price(Close),XLinReg(0),Mom(0);
迴歸線與動量計算
XLinReg = XAverage(LinearRegValue(Price, LRLen, 0), AvgLen);
Mom = Momentum(Price, MomLen);
買方環境建立
迴歸線上漲且動量指標在零值以下上升中 (上圖紅圈圈位置)
Condition1 = XLinReg > XLinReg[1];
Condition2 = Mom < 0 AND Mom > Mom[1];
作多進場邏輯
當買方環境成立後四根K棒內,以近3根K棒最高價價格進場
if MP = 0 and MRO(Condition1 AND Condition2,EntL,1) > -1 then Buy ("Long") Next Bar at Highest(High,3) Stop;
原始多單出場
1. 以買方環境成立當根K棒低點減掉過去 10根K棒真實區間的 50% 作為初始停損點
ExitLong ("X") Next Bar from entry ("Long") AT Low - (Pcnt * AvgTrueRange(10)) Stop;
2. 多單在倉時,當迴歸線反轉向下時以近四根K棒最低點作為平倉價
IF Condition3 and Low < Lowest(Low, 4)[1] Then ExitLong Next Bar at Market;
賣方環境建立
迴歸線下跌且動量指標在零值以上下降中(上圖綠圈圈位置)
Condition3 = XLinReg < XLinReg[1];
Condition4 = Mom > 0 AND Mom < Mom[1];
作空進場邏輯
當賣方環境成立後四根K棒內,以空單進場價格進場
if MP = 0 and MRO(Condition3 AND Condition4,EntS,1) > -1 then Sell ("Short") Next Bar at Lowest(Low,3)Stop;
原始空單出場
1. 以賣方環境成立當根K棒高點加上過去 10根K棒真實區間的 50% 作為初始停損點
ExitShort ("Y") Next Bar from entry ("Short") AT High + (Pcnt * AvgTrueRange(10)) Stop;
2. 空單在倉時,當迴歸線反轉向上時以近四根K棒最高點作為平倉價
ExitLong ("X") Next Bar from entry ("Long") AT Low - (Pcnt * AvgTrueRange(10)) Stop;
2. 多單在倉時,當迴歸線反轉向下時以近四根K棒最低點作為平倉價
IF Condition3 and Low < Lowest(Low, 4)[1] Then ExitLong Next Bar at Market;
賣方環境建立
迴歸線下跌且動量指標在零值以上下降中(上圖綠圈圈位置)
Condition3 = XLinReg < XLinReg[1];
Condition4 = Mom > 0 AND Mom < Mom[1];
作空進場邏輯
當賣方環境成立後四根K棒內,以空單進場價格進場
if MP = 0 and MRO(Condition3 AND Condition4,EntS,1) > -1 then Sell ("Short") Next Bar at Lowest(Low,3)Stop;
原始空單出場
1. 以賣方環境成立當根K棒高點加上過去 10根K棒真實區間的 50% 作為初始停損點
ExitShort ("Y") Next Bar from entry ("Short") AT High + (Pcnt * AvgTrueRange(10)) Stop;
2. 空單在倉時,當迴歸線反轉向上時以近四根K棒最高點作為平倉價
IF Condition1 AND High > Highest(High, 4)[1] Then ExitShort Next Bar at Market;
除了原始出場的規則外,下圖為平常使用的出場方式的回測績效
台指期 60 分K 多空留倉 交易週期 2004/11/1~ 2014/10/31 交易成本 1200
結論:市場價格的走勢在行情中總是會碰到修正的過程,那是個手中空倉跟上車的時間點;也可以是想擴大獲利的加碼點
MagicQS142
好棒的指標! 感謝 Egale老師的分享!
回覆刪除祝福闔家 Merry Merry Xmas and Happy New Year.
Merry X'mas to you and your love ones
回覆刪除