【策略天地】SAR 震蕩策略 利用到SAR和ADX,SAR停損點轉向指標
作者:MC 來源:cxh99.com 發布時間:2014年08月19日
-
原文參考來源:FuturesNote
這次策略天地要介紹的策略是利用到SAR和ADX,SAR停損點轉向指標,或稱為拋物線型指標,是Technical 技術分析中很常見的一個指標,常用在設定停損點。在 investopedia 的介紹 中如下圖
它是移動式的跟隨著行情,當反向穿越時就是進/出場點,計算的公式如SARt = SARt-1 + AF * ( EP – SARt-1)
其中AF為加速因子(acceleration factor),EP為極值(extreme price)反轉條件:SARt與當天價格發生交會,即下跌波段時SARt < Hight,上漲波段時SARt > Lowt,即為反轉訊號。此時,SAR0= EP。
網路上有文章對于SAR指標有蠻詳細的說明,想進一步了解SAR可以百度
而我們在應用上,也不需要自己重新編寫指標的原始碼,SAR指標在Multicharts 有內建函數ParabolicSAR,訊號有ParabolicSAR LE及ParabolicSAR SE,兩者都可以直接看原始碼參考或修改。 SAR指標可以用在進場或出場訊號,不過單單僅用在進場訊號時表現并不好,原因和一般趨勢型策略相同,在震蕩區間時進出次數太多,另外SAR若套用在短時間的K線上也有同樣的問題,太容易翻單了。
而讓單一指標發揮效用的最簡易方法就是交配,把不同屬性的指標拿來結合使用,因此我們除了用較長的K線之外,還要增加些過濾的邏輯,建議是能表示趨勢的指標,例如ADX(可參考動能指標-ADX與Momentum 此篇)。
以下提供一個SAR及ADX結合應用的程序范例,主要邏輯是當ADX小于門檻值時,就照著SAR的方向作部位,另外再加上停損停利的設定。另外,里頭參數的值可以根據使用者自行調整。
程序源碼參考:inputs: AfStep( 0.02), AfLimit( 0.2 ),adxlen(9),level(35),stopl(9),proft(24) ;
variables: var0( 0 ), var1( 0 ), var2( 0 ), var3( 0 ) ;
Value1 = ParabolicSAR( AfStep, AfLimit, var0, var1, var2, var3 ) ;
print(ADX(adxlen));
if ADX(adxlen)<level and adx(adxlen)>20 then beginif var2=1 then sellshort("s") next bar at var1 stop; if var2=-1 then buy ("b")next bar at var1 stop;end;// 上面是用ADX來判斷目前的行情處于橫盤還是趨勢狀態,然后根據ParabolicSAR這函數算出來的var2值,判斷要進場開多還是開空
if currentcontracts<>0 then beginsetstoploss(stopl*bigpointvalue);setpercenttrailing(proft*bigpointvalue,5);end;// 最后這止損止盈語句可自己依需求改變
加上ADX的判斷后可以有效避免區間震蕩時的洗刷,在有趨勢時(ADX大于門檻)的波段,不讓訊號翻轉。例如以下的圖示,若無ADX的過濾,那么高檔的震蕩會多了許多無謂的反轉。但反過來說,也就沒翻的那么快,或許等到ADX轉弱已經回吐獲利一大段,這些就是邏輯設計的取舍了。
實際測試圖例(股指,周期15分,最近一年):
損益曲線看起來挺漂亮的。以上是SAR指標的介紹及結合ADX應用,請有興趣的讀者動手測看看吧~遇到問題也歡迎告訴我們~