跨周期引用macd值不真实的问题

我目前使用的策略的15分钟的K线及macd值进行开仓的策略,期间需要引用1小时macd的值来辅助操作。1、我用的交易策略中加载了1小时数据作为data1. 2、公式编写时候,专门为1小时Macd定义了变量(和15分钟macd变量不一样):公式如下: 3、在K线中显示的数字却出入很大 综上所述,请求解决一下跨周期引用macd值不真实的问题。

粗看上去左边被赋值的 和 函数调用都不是data1的使用range是最方便的看下系统MACD,用的时候直接 data1.MACDValue Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9); Vars Numeric MACDDiff; Numeric AvgMACD; Numeric MACDValue; Events OnReady() { Range[0:DataSourceSize() - 1] { setPlotOption("MACDDiff", "begin-bar", SlowLength); setPlotOption("MACDDEA", "begin-bar", SlowLength + MACDLength); setPlotOption("MACD", "begin-bar", SlowLength + MACDLength); } } OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDDiff,MACDLength); MACDValue = 2 * (MACDDiff - AvgMACD); PlotNumeric("MACDDiff",MACDDiff); PlotNumeric("MACDDEA",AvgMACD); If (MACDValue >= 0) PlotAuto("MACD",MACDValue,0,Color9(),Enum_Bar); Else PlotAuto("MACD",MACDValue,0,Color10(),Enum_Bar); PlotNumeric("零线",0); } }

资源里面有一个四周代码你可以对照这个课程看看 ,为什么要这么写,而不是你的写法 https://video.tbquant.net/video?id=video431 代码获取方式: https://bbs.tbquant.net/thread/20250520145838257913

回复:👍

回复:谢谢哈,已经解决了。@左手TBQ右手智大领峰@QL苟日新的用户