画布无法正常显示问题
2022-06-09 16:09

多个数据源调用之后,PLOT显示就不正常了,还是和主图在一起,请老师帮忙看一下,感谢。

 

//------------------------------------------------------------------------
Params
    Numeric M1(4);                            // 短期指数平均线参数
    Numeric M2(6);                            // 长期指数平均线参数
    Numeric M3(24);                            // 长期指数平均线参数
    Numeric boLength(25);                    // 短周期 BreakOut Length
    Numeric N(2);
    Numeric Lots(1);                        //投入保证金

Vars
    plot plt1;
    Series<Numeric> pbxa1;
    Series<Numeric> pbxa2;
    Series<Numeric> pbxa3;
    Series<Numeric> pbxb1;
    Series<Numeric> pbxb2;
    Series<Numeric> pbxb3;
    Series<Numeric> pbxc1;
    Series<Numeric> pbxc2;
    Series<Numeric> pbxc3;
    Series<Numeric> DonchianHi;                // 唐奇安通道上轨,延后1个Bar
    Series<Numeric> DonchianLo;                // 唐奇安通道下轨,延后1个Bar
    Series<Numeric> MACDValue;
    Series<Numeric> AvgMACD;
    Series<Bool> Cross_up;
    Series<Bool> Cross_dn;
    Series<Bool> A_condDa;
    Series<Bool> A_condKa;
    Series<Bool> A_condDb;
    Series<Bool> A_condKb;
    Series<Bool> A_condDc;
    Series<Bool> A_condKc;

 

Events
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        //=========除权换月相关设置==============
        AddDataFlag(Enum_Data_RolloverBackWard());    //设置后复权
        AddDataFlag(Enum_Data_RolloverRealPrice());    //设置映射真实价格
        AddDataFlag(Enum_Data_AutoSwapPosition());    //设置自动换仓
        AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());    //设置忽略换仓信号计算
        plt1.figure(0);
    }
    OnBar(ArrayRef<Integer> indexs)
    {
        //小时级别瀑布线均线排列
        Range[0:0]
        {     
        pbxa1 = (XAverage(C[1], M1)+AverageFC(C[1],M1*2)+AverageFC(C[1],M1*3))/3;//瀑布线计算
        pbxa2 = (XAverage(C[1], M2)+AverageFC(C[1],M2*2)+AverageFC(C[1],M2*3))/3;//瀑布线计算
        pbxa3 = (XAverage(C[1], M3)+AverageFC(C[1],M3*2)+AverageFC(C[1],M3*3))/3;//瀑布线计算        
        A_condDa=pbxa1[1]>pbxa2[1] and pbxa2[1]>pbxa3[1] ;
        A_condKa=pbxa1[1]<pbxa2[1] and pbxa2[1]<pbxa3[1] ;
        }
        //15分钟级别瀑布线均线排列
        Range[1:1]
        {     
        pbxb1 = (XAverage(C[1], M1)+AverageFC(C[1],M1*2)+AverageFC(C[1],M1*3))/3;//瀑布线计算
        pbxb2 = (XAverage(C[1], M2)+AverageFC(C[1],M2*2)+AverageFC(C[1],M2*3))/3;//瀑布线计算
        pbxb3 = (XAverage(C[1], M3)+AverageFC(C[1],M3*2)+AverageFC(C[1],M3*3))/3;//瀑布线计算        
        A_condDb=pbxb1[1]>pbxb2[1] and pbxb2[1]>pbxb3[1] ;
        A_condKb=pbxb1[1]<pbxb2[1] and pbxb2[1]<pbxb3[1] ;
        }
        //5分钟级别瀑布线均线排列
        Range[2:2]
        {
        
        DonchianHi = HighestFC(C[1],boLength);//计算唐奇安通道
        DonchianLo = LowestFC(C[1],boLength);//计算唐奇安通道
        pbxc1 = (XAverage(C[1], M1)+AverageFC(C[1],M1*2)+AverageFC(C[1],M1*3))/3;//瀑布线计算
        pbxc2 = (XAverage(C[1], M2)+AverageFC(C[1],M2*2)+AverageFC(C[1],M2*3))/3;//瀑布线计算
        pbxc3 = (XAverage(C[1], M3)+AverageFC(C[1],M3*2)+AverageFC(C[1],M3*3))/3;//瀑布线计算        
        A_condDc=pbxc1[1]>pbxc2[1] and pbxc2[1]>pbxc3[1];
            A_condKc=pbxc1[1]<pbxc2[1] and pbxc2[1]<pbxc3[1];
        
        //画线
        PlotNumeric("DonchianHi",DonchianHi);
        PlotNumeric("DonchianLo",DonchianLo);
        PlotNumeric("pbxc1",pbxc1);
        PlotNumeric("pbxc2",pbxc2);        
        PlotNumeric("pbxc3",pbxc3);    

//------------------------------------------------------------------------
        MACDValue = XAverage( Close, 4*N ) - XAverage( Close, 9*N ) ;    //快线
            AvgMACD = XAverage(MACDValue,3*N);//慢线
            Cross_up=CrossOver(MACDValue,AvgMACD);//金叉
            Cross_dn=CrossUnder(MACDValue,AvgMACD);//死叉
            longentry2  = MACDValue[1]>0 And AvgMACD[1]>0;
            shortentry2 = MACDValue[1]<0 And AvgMACD[1]>0;
        plt1.line("MACDValue",MACDValue);
        plt1.line("AvgMACD",AvgMACD);
//------------------------------------------------------------------------  
        

    }
//------------------------------------------------------------------------

评论区
crazybabby

老师,  plot 功能是不是只能在DATA0上实现?

2022-06-09 17:19
顶部