MACD跨周期显示

老师,我想在5分钟图表上显示周K线MACD指标,以下代码不能正常显示,不知道问题在哪里,请您帮我修改一下。谢谢! Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9); Vars Series<Numeric> MACDDiff; Series<Numeric> AvgMACD; Series<Numeric> MACDValue; Events OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { Data[1].MACDDiff = Data[1].XAverage( Data[1].Close, FastLength ) - Data[1].XAverage( Data[1].Close, SlowLength );//计算日线指标 Data[1].AvgMACD = Data[1].XAverage(Data[1].MACDDiff,MACDLength);//计算日线指标 Data[1].MACDValue = Data[1].MACDDiff - Data[1].AvgMACD; Data[0].PlotNumeric("Data[1].MACDDiff", Data[1].MACDDiff[1]); //在5分钟周期中引用日线指标 Data[0].PlotNumeric("Data[1].AvgMACD", Data[1].AvgMACD[1]); //在5分钟周期中引用日线指标 Data[0].MACDValue = Data[1].MACDDiff[1] - Data[1].AvgMACD[1]; Data[1].PlotNumeric("Data[1].MACDDiff", Data[1].MACDDiff[1]); //在5分钟周期中引用日线指标 Data[1].PlotNumeric("Data[1].AvgMACD", Data[1].AvgMACD[1]); //在5分钟周期中引用日线指标 Data[1].MACDValue = Data[1].MACDDiff[1] - Data[1].AvgMACD[1]; //MACDValue = Data[1].MACDDiff - Data[1].AvgMACD; //Data[1].PlotNumeric("MACDDiffday", Data[1].MACDDiff[1]); //在日线上同时显示指标 //Data[1].PlotNumeric("AvgMACDday", Data[1].AvgMACD[1]); //在日线上同时显示指标 If (Data[0].MACDValue[1] >= 0) Data[0].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Red,Enum_Bar); Else Data[0].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Green,Enum_Bar); Data[0].PlotNumeric("零线",0); //在5分钟周期中引用日线指标 If (Data[1].MACDValue[1] >= 0) Data[1].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Red,Enum_Bar); Else Data[1].PlotAuto("Data[1].MACDValue",Data[1].MACDValue[1],0,Green,Enum_Bar); Data[1].PlotNumeric("零线",0); //在5分钟周期中引用日线指标 } }

需要代写策略或者体验策略的,可以加V13129075960,备注来意

老师,我的公式里有多个指标,所以无法一一指定。

老师,我的程序中有多个指标,比如均线和MACD,现在呢,我想让均线在主图显示,让MACD在子图显示,应该如何处理?

回复:学习一下plot库,可以指定多个子图

试试把显示方式改成子图显示