2 Star 14 Fork 16

王布衣/engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
macd.go 1.15 KB
一键复制 编辑 原始数据 按行查看 历史
王布衣 提交于 2025-09-14 22:04 +08:00 . 更新依赖库版本
package indicators
import (
"gitee.com/quant1x/pandas"
. "gitee.com/quant1x/pandas/formula"
)
// MACD 指标
//
// DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
// 输出DIF:收盘价的SHORT日指数移动平均-收盘价的LONG日指数移动平均
// DEA:EMA(DIF,MID);
// 输出DEA:DIF的MID日指数移动平均
// MACD:(DIF-DEA)*2,COLORSTICK;
// 输出平滑异同平均线:(DIF-DEA)*2,COLORSTICK
// 系统默认12, 26, 9
// 这里采用5,13,3
func MACD(df pandas.DataFrame, SHORT, LONG, MID int) pandas.DataFrame {
var (
CLOSE = df.ColAsNDArray("close")
//HIGH = df.ColAsNDArray("high")
//LOW = df.ColAsNDArray("low")
)
//DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DIF := EMA(CLOSE, SHORT).Sub(EMA(CLOSE, LONG))
//DEA:EMA(DIF,MID)
DEA := EMA(DIF, MID)
//MACD:(DIF-DEA)*2,COLORSTICK;
MACD := DIF.Sub(DEA).Mul(2)
return pandas.NewDataFrame(DIF, DEA, MACD)
}
func macd(data pandas.Series, SHORT, LONG, MID int) pandas.DataFrame {
//DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DIF := EMA(data, SHORT).Sub(EMA(data, LONG))
//DEA:EMA(DIF,MID)
DEA := EMA(DIF, MID)
//MACD:(DIF-DEA)*2,COLORSTICK;
MACD := DIF.Sub(DEA).Mul(2)
return pandas.NewDataFrame(DIF, DEA, MACD)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/quant1x/engine.git
git@gitee.com:quant1x/engine.git
quant1x
engine
engine
v1.12.13

搜索帮助