Plot画图叠加另外的订阅公式——出错

将系统原始ATR公式改成plot画图形式demo1

新建一个只有订阅代码的demo2

同时加载demo1和demo2画图就会出现订阅周期的副图被画在主图上了

//demo1
Params
    Numeric Length(14);    //周期
 Vars   
    plot plotATR;

Events
    OnInit()
    {
        //        SubscribeBar(Symbol,"15m",BeginDateTime); //在 本公式内订阅,画图不出错
        
        Range[0:DataSourceSize-1]
        {
            plotATR.figure(0);
        }
    }
    
    OnBar(ArrayRef<Integer> indexs)
    {
        Range[0:DataSourceSize() - 1]
        {
            plotATR.line("ATR",AvgTrueRange(Length));
        }
    }



//demo2
Events

    
    OnInit()
    {
                SubscribeBar(Symbol,"15m",BeginDateTime);
//        SetBasePeriod("15m");
        
    }


PLOT画图变色问题
使用SetPremiseFormulas加载依赖公式后,plot画图中的ployline函数失效
关于plot画图请教老师
TBQUANT3的plot画图问题
使用SetPremiseFormulas加载含有plotline函数的策略画图失效测试代码
如何在OnBarOpen中计算两种周期的ma指标值,并在订阅的两组行情图上画图。
在同一个策略里面,怎样叠加另外一个周期
PLOT画线
自定义公式可以编译成功,却显示策略运行出错
出错公式不支持同名指标

首先,多个模型加载到同一个单元里,执行顺序肯定有先后的。

其次,单个模型内有多个事件域驱动的,执行顺序也有先后。

所以这个问题就是,现在有多个模型,每个模型里有多个事件域。

那么到底是先把单个模型里的所有事件域都执行完再执行下个模型,还是每个模型同样部分的事件域拿出来排队单独执行呢?

事实上肯定是后者更合理一些。

所以这个现象背后的原因就是

第一个模型执行oninit的时候,只有单图层,只对data0设置了副图

接下来执行的是demo2的oninit,这里订阅了data1

接下来逐个bar执行onbar驱动,计算指标,作图。既然只对data0设置了副图,那自然就data1画主图了。

之前听课听过关于加载多个策略的执行顺序问题

可能一直没遇到意外,就没太在意这个情况

“每个模型同样部分的事件域拿出来排队单独执行”——以后得把这个考虑进去

学习了

我就说我怎么大白天做梦

怎么会突然就不行了

加载顺序!!!!!!!!!!!!!!!

sub的代码放在画图的前面就可以,放后面就不行!!!

这算bug吧.............

或者把所有plot的设置都放到Onready

也就是说一定要plot的代码在sub后面运行


这算bug吗 如果不算的话 就得把以前写的类似的代码都改一下

感觉在梦游 白天的时候还是好的...