MACD进阶版指标公式,提前一天判断MACD金叉

news2024/11/28 18:42:54

MACD是一种常用的技术分析指标,用于判断价格的趋势和动能,其原理是基于两条指数移动平均线的比较和对价格的平滑处理,MACD金叉是指MACD指标中的快线DIF从下方向上穿过慢线DEA。快线、慢线都是根据收盘价计算出来的,如果想提前一天判断MACD金叉,就要知道明天的收盘价是多少。我们无法预知未来,但是可以根据MACD金叉时的值倒推出明天的收盘价。如果明天的实际收盘价超过我们推算的收盘价,MACD就金叉了。

一、MACD指标的原理

以MACD指标默认参数为例,MACD指标由三个部分构成(如下图):

快线(白线):计算短期(12天)EMA均线与长期(26天)EMA均线之间的差值;

慢线(黄线):计算快线的9天EMA均线;

MACD柱线(红绿柱):计算快线和慢线之间的差值,算出来之后绘制柱状图显示出来。

MACD金叉,快线DIF从下方向上穿过慢线DEA,实际上就是从前一天的DIF<DEA变成当天的DIF>DEA,MACD=(DIF-DEA)*2,MACD从小于0变成大于0,也就是MACD柱线从绿柱变成红柱。

SHORT:=12;

LONG:=26;

MID:=9;

DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA:EMA(DIF,MID);

MACD:(DIF-DEA)*2,COLORSTICK;

 

了解了MACD的原理还不够,无法倒推到收盘价,还需要了解EMA的原理。

二、EMA指标的原理

EMA(指数移动平均)是一种技术分析指标,用于平滑价格数据并识别趋势。它与MA(简单移动平均)相比,更加重视最近的价格数据。

以收盘价为例,周期数为N,EMA的计算公式如下:

今日EMA=今日收盘价*2/(N+1) + 昨日EMA*(N-1)/(N+1)

EMA的原理是通过加权平均的方式,给予最近的价格数据较高的权重,从而能更加敏感地反应价格的变动,这使得EMA能够更快捕捉到趋势的变化,而不会过于受到过去价格的影响。

三、验证EMA计算公式

了解了EMA指标的原理,我们可以用未来函数REFX获取明天的收盘价,来验证计算结果是否正确。

明日EMA(C,12)=明日收盘价*2/(12+1)+今日EMA(C,12)*11/(12+1)

EMA(C,12)*11/13+REFX(C,1)*2/13

明日EMA(C,26)=明日收盘价*2/(26+1)+今日EMA(C,26)*25/(26+1)

EMA(C,26)*25/27-REFX(C,1)*2/27

明日MACD指标公式如下:

DIF:=EMA(C,12)-EMA(C,26);

DEA:=EMA(DIF,9);

MACD:=(DIF-DEA)*2;

DIFX:EMA(C,12)*11/13+REFX(C,1)*2/13-EMA(C,26)*25/27-REFX(C,1)*2/27;

DEAX:EMA(DIF,9)*8/10+DIFX*2/10;

MACDX:(DIFX-DEAX)*2,COLORSTICK;

 通过上图可以看出,明日MACD指标公式相当于提前了一天(上图黄色箭头),计算的结果是一致的,因此计算方法没有问题。此外最后一天的值都是空的(上图中横线处),因为明天的收盘价今天肯定不知道,所以接下来计算金叉时的收盘价。

四、提前一天判断MACD金叉指标公式

把REFX(C,1)换成价格P,我们就是要计算这个P是多少。

金叉MACDX>0,即(DIFX-DEAX)*2>0,换算一下,得到价格P的计算公式:

P:=-(EMA(C,12)*11/13-EMA(C,26)*25/27-EMA(DIF,9))*351/28;

提前一天判断MACD金叉指标公式:

DIF:EMA(CLOSE,12)-EMA(CLOSE,26);

DEA:EMA(DIF,9);

MACD:(DIF-DEA)*2,COLORSTICK;

P:=-(EMA(C,12)*11/13-EMA(C,26)*25/27-EMA(DIF,9))*351/28;

ZF:=(ROUND2(P,2)-C)/C*100;

CZT:=P>ZTPRICE(C,IF(RANGE(FINANCE(3),2,5),0.2,0.1));{涨幅大于涨停价}

CDT:=P<DTPRICE(C,IF(RANGE(FINANCE(3),2,5),0.2,0.1));{跌幅小于跌停价}

SZ1:=STRCAT(STRCAT('明天收盘价大于',CON2STR(P,2)),',');

SZ2:=STRCAT(STRCAT('涨幅大于',CON2STR(ZF,2)),'%');

SZ:=STRCAT(STRCAT(SZ1,SZ2),',MACD金叉');

DRAWTEXT_FIX(ISLASTBAR AND ZF>0,0.78,0,0,SZ),COLORMAGENTA;

XD1:=STRCAT(STRCAT('明天收盘价小于',CON2STR(P,2)),',');

XD2:=STRCAT(STRCAT('跌幅小于',CON2STR(ZF,2)),'%');

XD:=STRCAT(STRCAT(XD1,XD2),',MACD死叉');

DRAWTEXT_FIX(ISLASTBAR AND ZF<0,0.78,0,0,XD),COLORGREEN;

DRAWTEXT_FIX(ISLASTBAR AND ZF>0 AND CZT,0.78,0.12,0,'明天不会金叉'),COLORYELLOW;

DRAWTEXT_FIX(ISLASTBAR AND ZF<0 AND CDT,0.78,0.12,0,'明天不会死叉'),COLORYELLOW;

用沙盘推演来验证一下计算结果(如下面两张图),可以看到结果是正确的,当收盘价大于P时,MACD可以实现金叉。

 

 另外对于计算出的价格P超过了涨跌幅,明显不能实现金叉死叉,上面的公式也能给出提示。

 关注技术Pie,学习更多通达信指标公式编写知识。版权所有,转载请注明出处。

友情提醒:本文仅供学习交流技术指标公式,不构成任何投资建议。投资有风险,入市需谨慎。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/741778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32基础知识点总结

一、基础知识点 1、课程体系介绍 单片机概述arm体系结构STM32开发环境搭建 STM32-GPIO编程-点亮世界的那盏灯 STM32-USART串口应用SPI液晶屏 STM32-中断系统 STM32-时钟系统 STM32-ADC DMA 温湿度传感器-DHT11 2.如何学习单片机课程 多听理论、多理解、有问题及时提问 自己多…

论文阅读:基于深度学习的大尺度遥感图像建筑物分割研究

一、该网络中采用了上下文信息捕获模块。通过扩大感受野&#xff0c;在保留细节信息的同时&#xff0c;在中心部分进行多尺度特征的融合&#xff0c;缓解了传统算法中细节信息丢失的问题&#xff1b;通过自适应地融合局部语义特征&#xff0c;该网络在空间特征和通道特征之间建…

时间序列预测 | Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测| Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测 评价指标包括:MAE、MBE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warni…

2023年开放式蓝牙耳机选购指南!多款热门开放式蓝牙耳机品牌盘点

前言 大家好&#xff0c;作为专注耳机研究多年的发烧级爱好者&#xff0c;毫不夸张地说我为耳机花的钱比买衣服还多&#xff0c;很多人都在问我开放式耳机到底有没有必要买&#xff1f;答案毫无疑问是有必要&#xff01;开放式耳机佩戴舒适又安全的特质让它在耳机届风靡&#…

zabbix server is not running错误解决方法

1.错误&#xff1a;zabbix server is not running 打开zabbix server的时候&#xff0c;底部飘着一行黄色的警告字 2.解决方法 (1)关闭selinux (2)查看日志文件 #tail -f /var/log/zabbix/zabbix_server.log 发现内存溢出了 __zbx_mem_realloc(): out of memory 那…

vitepress使用

vitepress使用 初始化项目 pnpm init pnpm add vitepress vue 创建一个docs文件夹 在docs下新建index.js文件 # Hello VitePress在package.json中增加打包以及运行的指令 "scripts": {"docs:dev": "vitepress dev docs", // 本地运行调试&qu…

springboot高校党务系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9

实力认可丨通付盾上榜《嘶吼2023网络安全产业图谱》31项细分领域

7月10日&#xff0c;嘶吼安全产业研究院联合国家网络安全产业园区&#xff08;通州园&#xff09;正式发布《嘶吼2023网络安全产业图谱》。通付盾入围本次图谱的基础技术与通用能力、网络与通信安全、安全服务、应用与产业安全、数据安全、开发与应用安全六大类别&#xff0c;3…

day32-Oracle+servlet

0目录 Oraclejdbcjspservlet 1.准备物料 1.1 创建Maven工程&#xff0c;导入依赖 方法1&#xff1a;在maven本地仓库repo中放入下载好的jar包 方法2&#xff1a;换版本&#xff0c;引入依赖 <dependency> <groupId>com.oracle.database.jdbc</groupId>…

x3550M5服务器,2008r2系统,关机后再开机,提示需要系统修复

问题现象&#xff1a; x3550M5服务器&#xff0c;2008r2系统&#xff0c;关机后再开机&#xff0c;提示需要修复&#xff0c;选择语言&#xff0c;点击下一步&#xff0c;选择操作系统一栏是空白的 &#xff08;加载前的图忘记拍&#xff09; 问题分析&#xff1a; 根据网上…

关于c/c++中的isdigit()函数(判断一个字符是不是数字字符)

1&#xff1a;做用&#xff1a;判断一个字符是不是数字字符&#xff08;即&#xff1a;相当于&#xff1a;s[i]>0&&s[i]<9&#xff09; 2&#xff1a;使用方式 char cA; string s"123fgv"; if(isdigit(c)); if(isdigit(s[i]))//返回bool类型 3&…

服务端⾼并发分布式结构演进之路

1.前置概念 应⽤&#xff08;Application&#xff09;/系统&#xff08;System&#xff09; 为了完成一整套服务的一个程序或相互配合的程序群 模块&#xff08;Module&#xff09;/组件&#xff08;Component&#xff09; 当应⽤较复杂时&#xff0c;为了分离职责&#xf…

我爱学QT-制作一个最简单的QT界面

1.qt基础 qt的移植性非常强&#xff0c;一套代码不用我们改太多&#xff0c;直接通用所有平台。不久的将来&#xff0c;qt会被用到MCU上&#xff0c;学习QT还是非常有意义的。 2.做一个简单的QT界面 首先新建工程 注意这个不一样 工程文件分析&#xff1a; #--------------…

day32-存储过程、存储函数、触发器

0目录 Oracle 存储过程、存储函数、触发器 1. 1.1 序列 &#xff08;1&#xff09;语法 创建序列&#xff1a;create sequence 序列名; 启动序列&#xff1a;select 序列名.nextval from dual;&#xff08;每次执行会1&#xff09; 使用序列插入数据&#xff1a;insert…

echarts饼图设置颜色的两种方式

1. 直接写在color数组中 option {color:[#fac858,#e0504b,#e6e9ee],series: {type: pie,radius: [40%, 70%],data: [{ value: 1048, name: Search Engine, },{ value: 735, name: Direct},{ value: 580, name: Email },]} };2. 在series.data.itemStyle.color中 option {se…

Android 14 的 8 个重要新特性深度解析

Android 14 的 8 个重要新特性深度解析 每年一次的Android升级从不缺席。今年的版本名为倒置蛋糕&#xff08;Upside Down Cake&#xff09;&#xff0c;简称U&#xff0c;对外的版本号是Android 14。 通常来说&#xff0c;升级任务可以从两个角度来考虑&#xff1a;ROM角度和…

【thinkPHP】数据库查询

最近在做一个小程序项目&#xff0c;后端使用php&#xff0c;php的优点是快速开发&#xff0c;简单&#xff0c;对服务器资源使用少&#xff08;没什么钱买服务器&#xff09;&#xff0c;相对于java那种动不动就2g起步的内存。 说明&#xff1a;在使用Db时需要引入Db的facade…

ORB-SLAM2学习笔记1之Ubuntu20.04+ROS-noetic安装ORB-SLAM2

文章目录 0 引言1 安装依赖1.1 opencv安装1.2 Eigen3安装1.3 Pangolin安装1.4 其他 2 编译安装ORB-SLAM22.1 build.sh2.2 build_ros.sh 0 引言 ORB-SLAM2是一种用于单目、双目和RGB-D相机的视觉SLAM&#xff08;同时定位与地图构建&#xff09;系统。它由萨拉戈萨大学和伦敦帝…

软件测试之常用测试用例设计方法

本文讲解了软件测试的四种常用测试用例设计的方法 目录 大纲 等价类划分 边界值分析方法 边界值分析方法 判定表法 场景法 错误推荐法&#xff08;剩下几个小时需要上线&#xff09; 前言 软件测试描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句…

嘉立创EDA练习

https://lceda.cn/page/download https://prodocs.lceda.cn/cn/faq/client/index.html 基础电子电路知识&#xff1a; 基础操作 Shiftf&#xff1a;调出元件库 嘉立创打样只能10cmX10cm之内 过孔的放置 检查DRC(是否有连线错误) 导出Gerber 导出坐标文件 坐标文件一般…