请教下,怎么在记录昨天的macd指标值

Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9);Vars Numeric MACDDiff; Numeric AvgMACD; Numeric MACDValue; Numeric YesterdayMACDValue; // 新增:存储昨日 MACD 值 Numeric YesterdayMACDPercentage; // 新增:存储昨日 MACD/收盘价*100 的值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] { // 计算当前 MACD 值 MACDDiff = XAverage(Close, FastLength) - XAverage(Close, SlowLength); AvgMACD = XAverage(MACDDiff, MACDLength); MACDValue = 2 * (MACDDiff - AvgMACD); // 获取昨日 MACD 值(通过索引 -1 访问前一根 K 线数据) If (BarStatus == 2) // 仅在历史数据计算时有效(实盘需调整逻辑) { YesterdayMACDValue = MACDValue[1]; // 昨日 MACD 值(前一根 K 线) If (Close[1] != 0) // 避免除数为零 { YesterdayMACDPercentage = YesterdayMACDValue / Close[1] * 100; } Else { YesterdayMACDPercentage = 0; // 处理收盘价为零的异常情况 } // 输出昨日数据(可根据需求改为绘图或存储) PlotAuto("昨日 MACD 值:" + Text(YesterdayMACDValue)); } 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); } }

昨天?日线还是非日线?日线那不就是回溯一下就好了吗?非日线,那昨日有很多个macd,你要记录哪个?

回复:!!!定势思维了 脑子默认是日线了..... ...鸿沟般的差距

Numeric MACDValue; 改成序列变量 series<Numeric> MACDValue;之后通过回溯 想取哪天取哪天 MACDValue[N] 表示N天前的MACDValue基础课里啥都有