点及财经,股票期货专业投机者。 前言"均线",是一个滞后性非常大的指标之一。可能有的人用均线时,都希望金叉时的位置就是低点,死叉时的位置就是高点。 但是,由于均线的严重滞后性,这样的想法就太不现实了。既然均线滞后,那就必须得换一个思路。 上图中,我们可以看到均线多头排列或空头排列结束后,大都会形成一个具有重要意义的阻力或支撑位。 当价格触发到其之前所形成支撑阻力位时,价格可能继续上涨或下跌,进入新一轮上涨或下跌。 因此,作者将基于这样的一个逻辑,开发一个关于均线支撑阻力位突破的交易系统。 基于均线支撑阻力位的构建要点构建支撑阻力,需要经过三步。 第一,先将均线多头排列或空头排列期间经过的最高价或最低价算出来。虽然,有些时候由于均线滞后获取不了真实的支撑阻力位。个人觉得影响不是很大。 如下图所示: 第二,然后提高支撑阻力位的触发难度。首先将支撑阻力位之间的宽度算出来,然后乘上一个百分数,得到支撑阻力位上移或下移的尺寸。 这样做的目的,就是为了防止策略频繁触发交易信号。因为,很可能当前就是一个来回震荡区域。
① 上轨=阻力位+通道宽度*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小时,对策略进行回测。回测参数及资金曲线如下图所示: ① 策略回测参数设置:
② 策略交易盈亏曲线: ![]() ③ 交易信号: ![]() 小结。 从盈亏曲线上看,是比较符合螺纹钢过去的历史行情,15年、19年到现在,这些时间资金曲线增长缓慢,且最近的情况是一个亏损的状态。 螺纹持续的宽度震荡,这样的结果也是必然的! 最后均线,凭借简单和实用性一直延续到今天,且成为行情软件的必备主图指标。足以说明它处于在技术指标中较高的地位! 当然了,均线的在量化交易中的运用有很多,不仅限于文章所分享的东西。而均线又有很多种类别,比如自适应均线,指数均线,权重均线等等。 |
|