【策略天地】SAR 震荡策略 利用到SAR和ADX,SAR停损点转向指标[MC公式]
-
原文参考来源: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应用,请有兴趣的读者动手测看看吧~遇到问题也欢迎告诉我们~
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容