老师好,我按21年1月7日答疑课《用Plot类画线》中的讲解,编写了如下公式,但其中红色的那段代码画线有误,如后图所示。故想请教一下原因,谢谢!
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
Numeric MACDDiff;
Numeric AvgMACD;
Numeric MACDValue;
Series<Numeric> ma1;
Series<Numeric> ma2;
plot my_plot;
Events
OnInit()
{
my_plot.figure(0);
my_plot.setOption("ma1","x-format","time");
my_plot.setOption("ma1","x-format","Numeric");
my_plot.setOption("MACD1","color",red);
my_plot.setOption("MACD2","color",Green);
}
OnBar(ArrayRef<Integer> indexs)
{
ma1 = XAverage( Close, FastLength);
ma2 = XAverage( Close, SlowLength);
MACDDiff = ma1 - ma2;
AvgMACD = XAverage(MACDDiff,MACDLength);
MACDValue = MACDDiff - AvgMACD;
//主图显示
PlotAuto("ma1",ma1);
PlotAuto("ma2",ma2);
//子图显示
my_plot.line("MACDDiff",Date+time,MACDDiff);
my_plot.line("MACDDEA",Date+Time,AvgMACD);
If (MACDValue >= 0)
{
my_plot.barv("MACD1",Date+Time,MACDValue,0); //此段代码显示有误
}
Else
{
my_plot.barv("MACD2",Date+Time,MACDValue,0);
}
my_plot.line("零线",Date+Time,0);
}
my_plot.barv("MACD1",Date+Time,0,MACDValue); 试试
我来测试下