画变色线问题
Params Integer Length(10); Vars Series<Numeric> MA_Value; // 简单移动平均; Series<Numeric> MA_Slope; // 简单移动平均斜率; Plot plt_MA; Events OnInit() { Range[0:DataSourceSize-1] { AddDataFlag(Enum_Data_RolloverForWard()); // 前复权 plt_MA.figure(0); plt_MA.setOption("x-format", "time"); plt_MA.setOption("y-format", "numeric"); } } OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize-1] { MA_Value = Average(Close, Length); // 计算均线; MA_Slope = MA_Value - MA_Value[1]; // 计算均线斜率; Commentary("均线斜率= " + Text(MA_Slope)); PlotNumeric("MA主",MA_Value,MA_Value,White()); // 画副图 If(MA_Slope>0) // 斜率为正数时,均线显示为红色圆点; { plt_MA.setOption("MA副", "color", Red()); plt_MA.setOption("MA副", "line-type",Enum_Dot); // 用下面三行代码取代上面两行代码 /*plt_MA.setOption("MA副+", "color", Red()); plt_MA.setOption("MA副+", "line-type",Enum_Dot); plt_MA.line("MA副+",MA_Value);*/ } Else // 斜率为负数时,均线显示为绿色十字点; { plt_MA.setOption("MA副", "color", Green()); plt_MA.setOption("MA副", "line-type",Enum_Cross); // 用下面三行代码取代上面两行代码 /*plt_MA.setOption("MA副-", "color", Green()); plt_MA.setOption("MA副-", "line-type",Enum_Cross); plt_MA.line("MA副-",MA_Value);*/ } plt_MA.line("MA副",MA_Value); } }上述代码是要在副图中用Enum_Dot和Enum_Cross来取代线画均线,其中当前均线值小于前一均线值时(均线斜率为正数)画红圆点,反之(均线斜率为负数)画绿十字点。问题是,当plot输出均线值的名称相同时,均线斜率由正值变负值时,均线最后一个正值画成了红十字点。反之均线斜率由负变正,均线最后一个负值画成了绿色圆点。只有在使用不同的名称才能达到我要求的目的(用代码中的注释块部分取代)。请问者是否是个Bug,如何处理才能使用同一画线名称达到目的?