高频交易算法研发心得--MACD指标算法及应用

凤鸾宝账景很是,满是泥金巧样妆。算法

曲曲远山飞翠色;翩翩舞袖映霞裳。微信

梨花带雨争娇艳;芍药笼烟骋媚妆。工具

但得妖娆能举动,取回长乐侍君王。spa

【摘自《封神演义》纣王在女娲宫上香时题的诗】blog

 

一首定场诗完毕,我们书接上回。上回我们说到使用基于MA长短周期均线上下穿越的方式对行情进行跟踪。同时也提出该方法的问题,即:当前K线在短期内出现了相似正弦曲线的波动时,短周期均线和长周期均线会频繁的相互交差。这种状况的问题就是会致使系统进行频繁的交易,若是看官们有过手动交易的经验值,就不难发现,交易的越频繁,可能赔的越多,同是,心脏承担的压力也越大。ip

从本文开始,咱们来聊聊若是使用短线指标来尽可能下降交易次数(注意:只能尽可能下降,不可能彻底屏幕!),首先来看看MACD指标。开发

MACD指标应该是大多数交易软件中的默认技术指标(另笔者比较晕的是,为何这些指标会被叫作“技术指标”,彻底看不出来和技术有半点关系,另外我也很讨厌不少公司里都把软件工程师叫作“技术”),其维基百科的定义以下:get

MACD指数平滑异同移动平均线Moving Average Convergence / Divergence, MACD)是股票交易中一种常见的技术分析工具,用于研判股票价格变化的强度、方向、能量,以及趋势周期,以便把握股票买进和卖出的时机。MACD指标由一组曲线与图形组成,经过收盘时股价或指数的快变及慢变的指数移动平均值EMA)之间的计算出来。指更短时段的EMA,而则指较长时段的EMA,最经常使用的是1226EMA数学

一般状况下,咱们会看到的默认数值为MACD12269),那么,该指标的算法过程是什么,参数的意义又是什么呢?it

其计算过程以下:

//1.首先分别计算当前点的12次EMA均值和26次EMA均值的差,KlineValues能够取Close值或者中间值,其名曰:dif

var dif = EMA(KlineValues, 12) - EMA(KlineValues, 26);

//2.为了数据的平稳性,对前面的均值差,再一次计算EMA,次数为9

var dea = EMA(dif,9);

//3.为了其数据的可视化,求上面两者的差值,并放大两倍

var macd = (dif - dea) * 2;

 

从计算过程的第一步中,看官不难发现,MACD的本质是将EMA曲线进行了坐标系统的变换,即:以长周期为X轴,并查看短周期的变化状况。因为DIF值是由两个不一样周期的均线计算获得的,所以,该值老是围绕着0点上下变换的。

(看官:若是您有过3D系统开发经验(DXOPENGLU3D。。。)或者嵌入式电子系统开发经验的话,那么对这种“先进行坐标系统变换,而后获得可量化处理数据”的应用方式就不会感到陌生。)

若是将上面计算过程当中dea的参数次数由9改成1的话,上面的macd值就退化成咱们前一篇文章中所说的长短均线追逐了,当dif值大于0时,短周期上穿长周期,能够考虑买入,反之亦然。

经过分析,咱们大致上能够了解MACD12269)的数学含义。您能够认为1226是两个较短周期的跟踪方式。在默认参数的状况下,MACD值出现了穿越了0值时,不能100%的作为买入、卖出条件,可是能够成为上一章节所提的MA线追逐算法下降交易次数的重要参考,状况以下图所示:

 

因为MACD值是由均值差值计算所得,所以,即便K线走势持平或者微弱上升,都会致使两个均值的差值愈来愈小,MACD也可能会出现0值跳变。另外,高点或低点峰不能做为断定点,由于你没法预料后面是否还会出现峰值。

若是但愿弥补MACD线的弱点,可使用SAR指标加以共同判读,关于SAR指标,且听下回分解。

 

 

                                                    做者:科学家

                                                    Emailwarensoft@163.com

                                                    微信:43175692

相关文章
相关标签/搜索