
“均线”,是一个滞后性非常大的指标之一。可能有的人用均线时,都希望金叉时的位置就是低点,死叉时的位置就是高点。
但是,由于均线的严重滞后性,这样的想法就太不现实了。既然均线滞后,那就必须得换一个思路。

上图中,我们可以看到均线多头排列或空头排列结束后,大都会形成一个具有重要意义的阻力或支撑位。
当价格触发到其之前所形成支撑阻力位时,价格可能继续上涨或下跌,进入新一轮上涨或下跌。

因此,作者将基于这样的一个逻辑,开发一个关于均线支撑阻力位突破的交易系统。
基于均线支撑阻力位的构建要点
构建支撑阻力,需要经过三步。
第一,先将均线多头排列或空头排列期间经过的最高价或最低价算出来。虽然,有些时候由于均线滞后获取不了真实的支撑阻力位。个人觉得影响不是很大。
如下图所示:


第二,然后提高支撑阻力位的触发难度。首先将支撑阻力位之间的宽度算出来,然后乘上一个百分数,得到支撑阻力位上移或下移的尺寸。
这样做的目的,就是为了防止策略频繁触发交易信号。因为,很可能当前就是一个来回震荡区域。
- 公式:
① 上轨=阻力位+通道宽度*0.2。
② 下轨=支撑位–通道宽度*0.2。
如下图所示:

第三,在上轨或下轨再增加N倍ATR。在上述中,支撑阻力位都增加了通道宽度的百分比。但是还不够,需要根据当前的波动率再次增加触发难度。
- 公式:
① 开多线=上轨+N倍ATR。
② 开空线=下轨-N倍ATR。
如下图所示:

通过上述三个步骤,我们就可以将用于最终开仓的支撑阻力位计算出来。
策略的开平仓逻辑:「空头为例」。
- 当双均线均线处于空头排列,且价格跌破开空线,开空。
- 当均线金叉时,空头平仓。

想要实现对均线支撑阻力的量化,也是非常简单的,作者将借助交易开拓者tb量化平台,几行代码即可实现!
一、统计均线多头空头排列期间的最高价最低价。
想要完成这一功能,必须要统计出金叉死叉经历了多少根k线,也就是计算支撑阻力的周期。作者以计算阻力位为例。
1.Nthcon()函数,获取到多头排列到结束时经历了多少周期(n)。
① 公式:

② 效果:

2. Highest(x,n)函数,在上一个步骤中,作者计算出了周期参数n,直接带入此函数。
而此函数中的x就是多头排列期间的k线最高价。
① 公式:

② 效果:

二、 通过条件判断在死叉位置用上述的highest函数进行统计出阻力位。crossUnder(a,b),a下穿b,crossOver(a,b)意思是a上穿b。
① 公式:

② 效果:

三、 增加开仓线的触发难度。这里我们在支撑阻力位置增加其通道宽度的20%以外,还需要在此基础上增加N倍ATR,才是策略的最终开仓价格。
① 公式:

② 效果:

小结。
上面通过简单的三步,借助tb内置函数就将用于策略开仓的上轨和下轨计算出来了。
且在之前就讲到了,均线多头排列并突破上轨,开多。当多头排列结束时,平多。
反之,则开空。
策略回测统计分析
作者用螺纹钢期货指数1小时,对策略进行回测。回测参数及资金曲线如下图所示:
① 策略回测参数设置:
- 回测资金,10万。
- 交易周期,60分钟。
- 回测区间,上市年份至今。
- 仓位控制,1手。
- 滑点,1跳。
- 手续费,1%%。
② 策略交易盈亏曲线:

③ 交易信号:

小结。
从盈亏曲线上看,是比较符合螺纹钢过去的历史行情,15年、19年到现在,这些时间资金曲线增长缓慢,且最近的情况是一个亏损的状态。
螺纹持续的宽度震荡,这样的结果也是必然的!
最后
均线,凭借简单和实用性一直延续到今天,且成为行情软件的必备主图指标。足以说明它处于在技术指标中较高的地位!
当然了,均线的在量化交易中的运用有很多,不仅限于文章所分享的东西。而均线又有很多种类别,比如自适应均线,指数均线,权重均线等等。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/491288
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!