文章插图
摘要在技术分析中阿隆(Aroon)是一个很独特的技术指标,“Aroon”一词来自梵文,寓意为“黎明曙光” 。它不像MA、macD、KDJ那样广为人所熟悉,它推出的时间更晚,直到1995年才被图莎尔·钱德(Tushar Chande)发明出来,作者还发明了钱德动量摆动指标(CMO)和日内动量指数(IMI) 。如果说一个技术指标知道的人越多,使用的人也越多,那么其赚钱能力也越低,那么相对新颖的阿隆指标则恰恰相反,站在这个角度看这是一个不错的选择 。
阿隆指标简介阿隆指标通过计算当前K线距离前最高价和最低价之间的K线数量,来帮助交易者预测价格走势与趋势区域的相对位置关系变化 。它有两部分组成,即:阿隆上线(AroonUp)和阿隆下线(AroonDown),这两条线在0~100之间上下移动,虽然命名为上线和下线,但从图表上看并不像BOLL指标那样是真正意义上的上线和下线 。如下图就是阿隆指标:
文章插图
阿隆指标的计算方法阿隆指标要求首先要设置一个时间周期参数,就像设置均线周期参数一样,在传统行情软件中,这个周期数是14,当然这个周期参数并不是固定的,你还可以设置为10或者50等等 。为了方便理解,暂且把这个时间周期参数定义为:N 。确定N之后,我们就可以计算出阿隆上线(AroonUp)和阿隆下线(AroonDown),具体的计算公式如下:
- 阿隆上线= [ ( 设置的周期参数 - 最高价后的周期数 ) / 计算的周期数 ] * 100
- 阿隆下线= [ ( 设置的周期参数 - 最低价后的周期数 ) / 计算的周期数 ] * 100
如何使用阿隆指标阿隆上线(AroonUp)和阿隆下线(AroonDown)反映的是当前时间与之前最高价或最低价的远近,如果时间越近值就越大,如果时间越远值就越小 。并且当两条线发生交叉就预示着价格方向可能会发生改变,如果AroonUp在AroonDown之上说明价格处于上涨趋势,未来价格可能会进一步上涨;如果AroonDown在AroonUp之上说明价格处于下跌趋势,未来价格可能会进一步下跌 。
同时我们还可以设置几个固定的值,来精确入场时机 。我们知道阿隆指标是一直在0~100之间上下运行,那么在市场处于上涨趋势,也就是AroonUp在AroonDown之上时,当AroonUp大于50,说明市场上涨的趋势已经形成,未来价格可能会继续上涨;当AroonUp下穿50时,说明价格上涨的动力正在减弱,未来价格可能会震荡和下跌 。
【用Python构建阿隆策略】反之在市场处于下跌趋势,也就是AroonDown在AroonUp之上时,当AroonDown大于50,说明市场下跌趋势已经形成,未来价格可能会继续下跌;当AroonDown下穿50时,说明价格下跌的动力正在减弱,未来价格可能会震荡和上涨 。那么根据上面两段理论,我们可以把买卖条件罗列为:
- 当 AroonUp大于AroonDown,并且AroonUp大于50,多头开仓;
- 当 AroonUp小于AroonDown,或者AroonUp小于50,多头平仓;
- 当 AroonDown大于AroonUp,并且AroonDown大于50,空头开仓;
- 当 AroonDown小于AroonUp,或者AroonDown小于50,空头平仓;
第一步:编写策略框架
我们知道在量化交易中,程序是不断获取数据、处理数据、下单交易这样的循环过程,所以我们继续使用之前讲过的main函数和onTick函数,其中在main函数中无限循环执行onTick函数 。如下:
# 策略主函数def onTick(): pass# 程序入口def main(): while True: # 进入无限循环模式 onTick() # 执行策略主函数 Sleep(1000) # 休眠1秒第二步:导入库
另外,在计算AROON时,需要用到talib库,我们直接用import一行代码导入 。因为在使用talib计算时,必须先把数据处理成numpy.array类型,所以也到导入numpy库 。
import talibimport numpy as np第三步:定义虚拟持仓变量
推荐阅读
- java多线程,静态方法加锁后,调用该方法会影响其它方法吗?
- 3种中药茶 老年人别长期饮用
- APP应用的安全保护指南
- 如何在 Go 中使用 TLS 连接 MongoDB
- PyQt5安装与环境配置方法
- CenterOS 7.5下Mysql Cluster 7.6.12高可用集群搭建
- C/C++连接MySql数据库使用总结
- Python自动化报错:IndentationError-unindent does not match
- 前端开发WebStorm常用快捷键
- 各种茶功效各异 恰当搭配饮用 让健康美丽加分