MACD(Moving Average Convergence/Divergence)是一种趋势跟踪类指标,主要用于股市趋势判断。它由三部分组成:DIF、DEA和MACD柱。

DIF的计算公式如下:

DIF = EMA(12) - EMA(26)

其中,EMA(12)是12日指数移动平均值,EMA(26)是26日指数移动平均值。

DEA的计算公式如下:

DEA = (DIF1 + DIF2 + DIF3 + … + DIFn) / M

其中,DIF1、DIF2、DIF3、…、DIFn是过去M天的DIF值,M是计算DEA值所需的数据天数。

MACD柱的计算公式如下:

MACD柱 = DIF - DEA

要计算MACD指标,需要先获取股票的收盘价,然后根据公式计算DIF、DEA和MACD柱。

下面是使用Qt和C++计算MACD指标的示例代码:

#include <QVector>double getEMA(int N)
{// 获取最近N天的收盘价QVector<double> closes = getCloses(N);// 计算EMAdouble sum = 0;for (int i = 0; i < N; i++){sum += closes[i];}double EMA = sum / N;for (int i = N; i < closes.size(); i++){EMA = (closes[i] * 2 + (N - 1) * EMA) / (N + 1);}return EMA;
}double getDIF()
{// 计算DIFdouble EMA12 = getEMA(12);double EMA26 = getEMA(26);return EMA12 - EMA26;
}double getDEA(int M)
{// 获取过去M天的DIF值QVector<double> DIFs = getDIFs(M);// 计算DEAdouble sum = 0;for (int i = 0; i < M; i++){sum += DIFs[i];}double DEA = sum / M;for (int i = M; i < DIFs.size(); i++){DEA = (DIFs[i] * 2 + (M - 1) * DEA) / (M + 1);}return DEA;
}
double getMACD()
{// 获取当日的DIF值和DEA值
double DIF = getDIF();
double DEA = getDEA();
// 计算MACD柱
return DIF - DEA;
}

在上面的代码中,getCloses(N)函数用于获取最近N天的收盘价,getDIFs(M)函数用于获取过去M天的DIF值。 注意:上面的代码仅供参考,实际应用中可能需要根据需要进行修改。 希望上面的示例代码能够帮助你实现计算MACD指标的功能。

利用QT加C++语言如何计算MACD指标,并请给出示例代码相关推荐

  1. 抓娃娃机c语言程序设计,vue制作抓娃娃机的示例代码

    去年为联通制作双十一活动,做四个小游戏:'配对消消乐'.移动拼图.抓娃娃.倒计时. 现在先做来分享一下制作抓娃娃游戏时的经验 先上效果图 游戏规则:在指定时间内抓到上图四张卡片为挑战成功. 现在直接说 ...

  2. 字母图形:利用字母可以组成一些美丽的图形,请找出这个图形的规律,并输出一个n行m列的图形。

    问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个 ...

  3. 2018刑侦科推理试题c语言,2018年刑侦科推理试题(C++)(示例代码)

    上学期看到2018年刑侦科推理试题,直觉告诉我可以嵌套N层for循环来解答,但后面还是用组合算法穷举出所有组合算到答案,嵌套太深不好搞啊. 从 0b00000000000000000000 自增到 0 ...

  4. c语言生成随机坐标,C语言 文件的随机读写详解及示例代码

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  5. qt 进程打开excel_Qt QAxObject操作excel文件过程总结(转):(示例代码)

    正好同事问道Qt下操作excel. 转自:http://blog.csdn.net/a156392343/article/details/48092515 配制方面: 1.确保Excel软件在本地服务 ...

  6. 复合梯形公式C语言程序,复合梯形公式、复合辛普森公式 matlab(示例代码)

    1. 用1阶至4阶Newton-Cotes公式计算积分 程序: function I = NewtonCotes(f,a,b,type) % syms t; t=findsym(sym(f)); I= ...

  7. 找出递增数组中所有相加为m的组合c语言,组合(1-m中选n个数)(示例代码)

    #include int a[100],b[100]={0},m,n; bool p(int k)//定义一个bool类型函数 ,用来判断 { if(b[k]==1) { return false; ...

  8. linux中利用脚本编写数组,Linux基础之bash脚本进阶篇-数组(示例代码)

    数组 什么是数组? 计算机中的数组指的是具有相同类型的若干变量按照一定的顺序组织起来的一种数据类型. 通俗点来说数组就是变量的一种,按现在的术语来说就是变量圈子中的一个,只不过这个变量圈子都是相同类型 ...

  9. random函数 c语言,C/C++ 中rand()和random()函数(示例代码)

    nt rand(void); 返回一个随机数0 ~ pow(2, sizeof(int))-1 long int random(void); 返回一个随机数0 ~ pow(2, sizeof(long ...

最新文章

  1. DTD(文档类型定义)概述
  2. python动态柱状图_python – 在Jupyter中使用plotly以离线模式创建动画图表
  3. 批处理bat命令--获取当前盘符和当前目录和上级目录
  4. 腾讯技术研究类和数据分析第一次笔试(2021.8.22)——Python
  5. java虚拟机规范 51cto_java虚拟机
  6. 深入浅出推荐系统之简单推荐模型
  7. html页面div高度相减,关于html:两个div底部div到高度调整与浏览器窗口
  8. 拼多多快捷回复怎么设置
  9. 计算机三级考点3:构建宽带城域网的基本技术与方案。
  10. python医学科研中能做什么-科研画图都用什么软件?
  11. SMC在线气动制图软件PneuDraw
  12. 如何应用计算机键盘截图,键盘怎么截图快捷键_键盘上截屏是哪个键-win7之家
  13. python图片保存pdf_python将JPG图片转换为PDF
  14. 计算机硬件的五大逻辑部分,计算机的硬件系统由五大部分组成(计算机由几部分组成)...
  15. 化繁为简,远光天擎助你一键云部署
  16. 电脑怎么批量修改图片大小kb?
  17. 深度学习中 经常提到的 end to end 的理解
  18. 外置USB供电与内置锂电池供电自动切换电路,便携电子设备常用,经典电路必须掌握...
  19. 计算机视觉OpenCv学习系列:第十部分、实时人脸检测
  20. 转载:徐家骏:我在华为工作十年的感悟

热门文章

  1. win7 svchost.exe占用内存和CPU很高,电脑很卡的解决方法
  2. 弱电人要学习的网络安全基础知识
  3. js实现金额的大写转小写
  4. 记录Access deined: authorize failure的坑
  5. 廖雪峰Python基础笔记
  6. 关键词生成原创文章及句子的软件!开发原理分析
  7. 数据流图DFD --详细介绍
  8. 【.NET框架实战】IdentityServer4身份验证、授权
  9. windows10企业版开启RDP多用户同时登录
  10. [Warning] World-writable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored.