MACD系统原理

MACD称为指数平滑移动平均线,是从双指数移动平均线发展而来的,由快的指数移动平均线(EMA12)减去慢的指数移动平均线(EMA26)得到快线DIF,再用2×(快线DIF-DIF的9日加权移动均线DEA)得到MACD柱。

MACD的意义和双移动平均线基本相同,即由快、慢均线的离散、聚合表征当前的多空状态和股价可能的发展变化趋势,但阅读起来更方便。当MACD从负数转向正数,是买的信号。当MACD从正数转向负数,是卖的信号。当MACD以大角度变化,表示快的移动平均线和慢的移动平均线的差距非常迅速的拉开,代表了一个市场大趋势的转变。

MACD在应用上应先行计算出快速(一般选12日)移动平均值与慢速(一般选26日)移动平均值。以这两个数值作为测量两者(快速与慢速线)间的“差离值”依据。所谓“差离值”(DIF),即12日EMA数值减去26日EMA数值。因此,在持续的涨势中,12日EMA在26日EMA之上。其间的正差离值(+DIF)会愈来愈大。反之在跌势中,差离值可能变负(-DIF),也愈来愈大。至于行情开始回转,正或负差离值要缩小到一定的程度,才真正是行情反转的信号。MACD的反转信号界定为“差离值”的9日移动平均值(9日EMA)。 在MACD的指数平滑移动平均线计算公式中,都分别加T+1交易日的份量权值,以现在流行的参数12和26为例,其公式如下:

12日EMA的计算:EMA(12) = 过去12日收盘价之和/12

26日EMA的计算:EMA(26) = 过去26日收盘价之和/26

差离值(DIF)的计算:DIF = EMA(12) - EMA(26)

根据差离值计算其9日的DIF平均值,即离差平均值,是所求的MACD值。为了不与指标原名相混淆,此值又名DEA或DEM。

今日DEA = (前一日DEA X 8/10 + 今日DIF X 2/10)

DIF-DEA)*2即为MACD柱状图。

故MACD指标是由两线一柱组合起来形成,快速线为DIF,慢速线为DEA,柱状图为MACD。在各类投资中,有以下方法供投资者参考:

1.当DIF和MACD均大于0(即在图形上表示为它们处于零线以上)并向上移动时,一般表示为行情处于多头行情中,可以买入开仓或多头持仓;

2.当DIF和MACD均小于0(即在图形上表示为它们处于零线以下)并向下移动时,一般表示为行情处于空头行情中,可以卖出开仓或观望。

3.当DIF和MACD均大于0(即在图形上表示为它们处于零线以上)但都向下移动时,一般表示为行情处于下跌阶段,可以卖出开仓和观望;

4.当DIF和MACD均小于0时(即在图形上表示为它们处于零线以下)但向上移动时,一般表示为行情即将上涨,股票将上涨,可以买入开仓或多头持仓。

MACD系统源代码:

DIFF= EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);

DEA = EMA(DIFF,m);

IF(Long>short)

IF (CROSS(diff,dea)) BUY;

IF (CROSS(dea,diff)) SELL;

MACD系统图形详解如下图:

图1.MACD系统

图2.MACD系统

图3.MACD系统

MACD系统用法说明:

分析MACD柱状线,由绿变红(负变正),买入信号。DIFF与DEA形成金叉时为买入信号。

分析MACD柱状线,由红变绿(正变负),卖出信号。DEA与DIFF形成死叉时为卖出信号。

参数:LONG、SHORT、M  天数,计算MACD时用,一般26、12、9。

macd java 源代码_MACD交易系统原理、用法及源代码相关推荐

  1. Java 中的 XML:Java 文档模型的用法

    Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...

  2. java中include标签的用法_原 ng-include用法分析以及多标签页面的简单实现方式

    在平时的项目开发中,应该会经常遇到上图所示的需求,就是在一个页面中有多个标签,被选中的标签颜色会高亮显示,切换不同标签显示相应的不同内容.如果内容代码过多则写在同一个html文件就会显得特别乱,所以这 ...

  3. 用影片《记忆碎片》解释Java注解的工作原理

    注解于我们而言并不陌生,遗憾的是,大多数人对于注解的认识,都只停留在使用的层面上,对其背后的原理则知之甚少. 在享受注解所带来的便利的同时,你是否也曾发出过这样的疑问,即: 小小的一个注解,是怎么帮我 ...

  4. java高级----Java动态代理的原理

    Java动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程 ...

  5. Java 线程池的原理与实现

    最近在学习线程池.内存控制等关于提高程序运行性能方面的编程技术,在网上看到有一哥们写得不错,故和大家一起分享. [分享]Java 线程池的原理与实现 这几天主要是狂看源程序,在弥补了一些以前知识空白的 ...

  6. 【转】Java 枚举7常见种用法

    原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu  原创地址:http://blog.li ...

  7. java 字节码增强原理_深入浅出Java探针技术1--基于java agent的字节码增强案例

    Java agent又叫做Java 探针,本文将从以下四个问题出发来深入浅出了解下Java agent 一.什么是java agent? Java agent是在JDK1.5引入的,是一种可以动态修改 ...

  8. Java HashMap的工作原理 及各种Map区别

    2019独角兽企业重金招聘Python工程师标准>>> 一.Java HashMap的工作原理 jdk1.7下HashMap数据结构:数组加链表,链表长度没有8的限制: jdk1.8 ...

  9. java原理教程,java基础之运行原理(一),java基础运行原理

    java基础之运行原理(一),java基础运行原理 java的核心配置:JDK JDK主要包括三个部分 1.Jre:java的运行环境 2.Java的工具:java的编译器(java.c.exe). ...

最新文章

  1. 你真的会玩SQL吗?Case的用法(转)
  2. Leetcode 58.最后一个单词的长度 (每日一题 20210705)
  3. [转载]数据结构笔试题基础
  4. 程序猿 自己所擅长的还是码代码 请远离 业务。
  5. 2019-11-07 检查gcc交叉编译器预定义宏(ARM32/ARM64/X86-64)以及对浮点数的支持情况
  6. 计算机网络管理员高级操作技能考核试卷,高级计算机维修工操作技能考核试卷...
  7. fastdfs 集群 java,第四套:FastDFS 分布式文件系统集群与应用(视频)
  8. java定时任务插件_jfinal定时调度任务插件QuartzPlugin
  9. 谷歌浏览器Chrome离线安装包下载地址
  10. zte中兴客户端掉线的一种解决办法
  11. abp Cannot access a disposed object. A common cause of this error is disposing
  12. matlab显示tiff为全白_Matlab读写TIFF图像
  13. 靠写代码登上胡润富豪榜花半年写得Python基础 入门必看
  14. html5锚点平滑,使用锚点定位不改变url同时平滑的滑动到锚点位置,不会生硬的直接到锚点位置...
  15. 是时候来一发炸裂的开场了!
  16. 清华计算机系科学博士毕业论文要求,博士可以不发SCI毕业?清华取消博士论文发表强制要求...
  17. 蓝牙认证测试调试记录
  18. 网站字体颜色大小php代码,html字体颜色的设置方法
  19. SpringBoot2.x 监听器详解
  20. mmyolo训练yolov5~ppyoloe

热门文章

  1. 9-Qt6 QString和QChar
  2. python显示1000以内的斐波拉契数列_python实现斐波那契数列
  3. linux面向连接的协议,linuxTCP协议.ppt
  4. ie对java的设置字体_关于IE6幽灵字体 - JavaSwing的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. python入门题目及答案_Python基础自测题答案和基础知识梳理
  6. 三维列表转换成数组时,维度却只有二维
  7. mysql show schema_快速入门 · xiaoboluo768/mysql-system-schema Wiki · GitHub
  8. 停车场计费算法 php,停车场收费算法,思路卡住了求补完!该如何处理
  9. python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
  10. ant指定servlet版本_Spring工具 - AntPathMatcherUrlPathHelper(针对URL进行处理)