代码拉取完成,页面将自动刷新
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)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。