主图副图同步显示请教怎么让macd的值做到零线上为红,零线下为空
各位大佬好,我萌新一枚, 有个问题想请教下,我在学习线上答疑20220127视频时,尝试跟着视频操作,将macd代码一齐写入副图和主图指标同步显示,大问题基本没有,就是有个小问题。正常MACD的值会在零线上变红,零线下变绿。我尝试按照系统写的macd指标,按照这思路加入if macdvalue >0 和 if macdvalue < 0 ,来赋值macdvalue不同颜色。但最终都只有一种颜色。 如图所示,我按照教学视频做出的其他指标都没有问题,就是macd值无论零线上下都是只有一种颜色 这是我按照视频写的代码,中间macd值加入if判断的部分删除了,无论加与否颜色都是只有一种,就是这里想请教,怎么才能做到和系统一样的效果,macdvalue值零线上为红,零线下为绿 系统提供的macd指标: 这是我写的原代码,请大佬们指教,谢谢 Vars Series<Numeric> MACDDiff; series<Numeric> AvgMACD; series<Numeric> MACDValue; Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9); ////////////画板设置 Plot plot_mydata; Numeric xData;//x轴数据集 Events OnInit() { SubscribeBar("OI888.CZCE","5m",20220104); //SubscribeBar("OI888.CZCE","15m",20200104); plot_mydata.figure(0); plot_mydata.setOption("result","x-format","time"); plot_mydata.setOption("MACDDiff","color",red); plot_mydata.setOption("MACDValue","color",Yellow); plot_mydata.setOption("AvgMACD","color",Green); plot_mydata.setOption("零线","color",White); } OnBar(ArrayRef<Integer> indexs) { MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDDiff,MACDLength); MACDValue = MACDDiff - AvgMACD; //Commentary("macdvalue"+ text(MACDVALUE)); ma = AverageFC(close,n); PlotNumeric ("ma",ma); golden = CrossOver(MACDDiff,AvgMACD); ending = CrossUnder(MACDDiff,AvgMACD); xData = date + time; plot_mydata.line("MACDDiff",xData,MACDDiff); plot_mydata.line("AvgMACD",xData,AvgMACD); plot_mydata.line("零线",xData,0); plot_mydata.line("MACDValue",xData,MACDValue); }