干货!JAVA计算股票MACD,代码分享
和软件的MACD的值进行对比过,数值是一样的,不过我这个版本小数点后面更精确,软件的是四舍五入的。这个版本支持增量更新,更加方便。
使用需要单例模式,如果多并发请自行修改代码。默认是12,26,9
特别注意,网站上的和软件的MACD有时候并不一致,本文的计算结果以软件为准!!!
废话不多说,直接开干!import java.math.BigDecimal; import java.math.RoundingMode; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Component; @Component("macdUtils") public class MacdUtils { static int fastSet = 12; static int slowSet = 26; static int deaSet = 9; static int emaFastFast = fastSet - 1; static int emaFastSlow = 2; static int emaFastBase = fastSet + 1; static int emaSlowFast = slowSet - 1; static int emaSlowSlow = 2; static int emaSlowBase = slowSet + 1; static int deaFast = deaSet - 1; static int deaSlow = 2; static int deaBase = deaSet + 1; public void init(int fastSetNum, int slowSetNum, int deaSetNum) { fastSet = fastSetNum; slowSet = slowSetNum; deaSet = deaSetNum; emaFastFast = fastSet - 1; emaFastSlow = 2; emaFastBase = fastSet + 1; emaSlowFast = slowSet - 1; emaSlowSlow = 2; emaSlowBase = slowSet + 1; deaFast = deaSet - 1; deaSlow = 2; deaBase = deaSet + 1; } public Map firstMACD(BigDecimal yestodayClose, BigDecimal nowClose) { Map macdInfoMap = new HashMap<>(); BigDecimal EMA12Fast = yestodayClose.multiply(BigDecimal.valueOf(emaFastFast)).pide(BigDecimal.valueOf(emaFastBase), 6, RoundingMode.DOWN); BigDecimal EMA12Slow = nowClose.multiply(BigDecimal.valueOf(emaFastSlow)).pide(BigDecimal.valueOf(emaFastBase), 6, RoundingMode.DOWN); BigDecimal EMA12 = EMA12Fast.add(EMA12Slow); BigDecimal EMA26Fast = yestodayClose.multiply(BigDecimal.valueOf(emaSlowFast)).pide(BigDecimal.valueOf(emaSlowBase), 6, RoundingMode.DOWN); BigDecimal EMA26Slow = nowClose.multiply(BigDecimal.valueOf(emaSlowSlow)).pide(BigDecimal.valueOf(emaSlowBase), 6, RoundingMode.DOWN); BigDecimal EMA26 = EMA26Fast.add(EMA26Slow); BigDecimal DIF = EMA12.subtract(EMA26); BigDecimal DEA = BigDecimal.ZERO.multiply(BigDecimal.valueOf(deaFast)).pide(BigDecimal.valueOf(deaBase), 6, RoundingMode.DOWN) .add(DIF.multiply(BigDecimal.valueOf(2)).pide(BigDecimal.valueOf(deaBase), 6, RoundingMode.DOWN)); BigDecimal MACD = DIF.subtract(DEA); macdInfoMap.put("EMA12", EMA12); macdInfoMap.put("EMA26", EMA26); macdInfoMap.put("DIF", DIF); macdInfoMap.put("DEA", DEA); macdInfoMap.put("MACD", MACD); return macdInfoMap; } public Map makeMACD(BigDecimal yesterdayEMA12, BigDecimal yesterdayEMA26, BigDecimal yesterdayDEA, BigDecimal nowClose) { Map macdInfoMap = new HashMap<>(); BigDecimal EMA12Fast = yesterdayEMA12.multiply(BigDecimal.valueOf(emaFastFast)).pide(BigDecimal.valueOf(emaFastBase), 6, RoundingMode.DOWN); BigDecimal EMA12Slow = nowClose.multiply(BigDecimal.valueOf(emaFastSlow)).pide(BigDecimal.valueOf(emaFastBase), 6, RoundingMode.DOWN); BigDecimal EMA12 = EMA12Fast.add(EMA12Slow); BigDecimal EMA26Fast = yesterdayEMA26.multiply(BigDecimal.valueOf(emaSlowFast)).pide(BigDecimal.valueOf(emaSlowBase), 6, RoundingMode.DOWN); BigDecimal EMA26Slow = nowClose.multiply(BigDecimal.valueOf(emaSlowSlow)).pide(BigDecimal.valueOf(emaSlowBase), 6, RoundingMode.DOWN); BigDecimal EMA26 = EMA26Fast.add(EMA26Slow); BigDecimal DIF = EMA12.subtract(EMA26); BigDecimal DEA = yesterdayDEA.multiply(BigDecimal.valueOf(deaFast)).pide(BigDecimal.valueOf(deaBase), 6, RoundingMode.DOWN) .add(DIF.multiply(BigDecimal.valueOf(2)).pide(BigDecimal.valueOf(deaBase), 6, RoundingMode.DOWN)); BigDecimal MACD = DIF.subtract(DEA); macdInfoMap.put("EMA12", EMA12); macdInfoMap.put("EMA26", EMA26); macdInfoMap.put("DIF", DIF); macdInfoMap.put("DEA", DEA); macdInfoMap.put("MACD", MACD); return macdInfoMap; } }
卤素氙气LED各有什么优劣势?汽车大灯哪种好?卤素大灯特点便宜色温低穿透力强光线暗寿命短氙气大灯特点制造成本高色温高亮度高使用寿命长LED大灯特点制造成本更高色温高亮度高使用寿命超长三种灯源的特点如上所述,我们
手机一晚上都在充电,没拔充电器,还放在枕头边,有没有啥问题?随心所欲,想拔才拔出啥问题,就寻卖家。卖家不认,就换品牌如此操作,随便买啥。倒逼厂家,必需上佳如有怠慢,休怨买家!没有问题的,我多少年都是这样充电的木有问题。自从有手机充电每天如此
机械键盘到底有什么好?为什么那么多人喜欢机械键盘?个人感觉机械键盘按键感觉舒服,并且打游戏时间长了的话相比普通键盘不容易累我有台式机也有笔记本,我丝毫不觉得笔记本键盘有什么好,我也不觉得机械键盘有什么好,都一样,没区别。我不觉得机
华为和联想两家企业,对比来看如何评价?我找个,不同的比较方向一个是民族企业代表,一个是国有资产变外国企业的代表捂脸标题就是对华为最大的侮辱!一个是民族企业,一个是买办公司。一个科技公司,一个组装厂,怎么比!一个是高科技
企业文件防泄密,有什么好的方案分享吗?使用云桌面,然后外网权限进行管理,这样就无法获取。有详细需求可继续沟通。以上的问题通过安装iMonitorEAM软件可以解决。iMonitorEAM的文件防护分为三种方式1禁用US
互联网大佬谁编程排第一?周鸿祎我应该可以排到前三名10月24日是程序员节。在这一天,360集团创始人周鸿祎在社交平台发布动态为程序员点赞。周鸿祎表示,未来,世界是架构在软件之上,是数字化的世界,每一个程序员都承担着重要的使命,用技
2021。10。24区块链晚讯1。数据CME比特币期货未平仓量突破50亿美元。2。XRPL开发人员现可参与第二轮XRPL赠款。3。Solana链上追踪工具SonarWatch完成融资,SolanaCapital
有什么软件可以把照片变成手绘?当然,在开始之前我们需要一款美图秀秀图1这样一张具有艺术感的素描画只要三步就可以搞定了哦,跟着小编一起来吧1在美图秀秀软件下打开待处理的照片,进入美化菜单下,选择基础分类,点击锐化
比较好用的写作软件有哪些好的推荐?电脑比较好的写作软件其实很多,我觉得你问的应该是写作的应用吧,可以自动保存的那种。一般情况下,很多朋友喜欢在word上编辑好,然后一键复制到其他软件上面,节省时间,因为word上的
geekbech5性能测试欢迎评论补充geekbech5性能测试历代型号单核多核M1Max单核1745分,多核12422分(10核心,64GB内存)M1Pro单核1707分,多核11030分(10核心,32GB内存)M
查询苹果电脑保修提示购买日期未验证一直以来苹果的电脑,手机,单反,平板耳机等各种数码产品,一直因为其外观设计质量口碑等众多因素,深得人们的喜爱,这其中尤其体现在年轻人当中。人们愿意花更多的金钱来购买苹果的产品,甚至