订阅数据和发单不符

OnInit() { SubscribeBar("rb2205.SHFE", "60m", 20211101, 0, Enum_Data_RolloverBackWard); SubscribeBar("rb2210.SHFE", "60m", 20211101, 0, Enum_Data_RolloverBackWard); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { //买多部分 If(k1==0 ) {data0.buy(lots1,data0.open); data1.SellShort(lots1,data1.open);Return; } 为什么这个代码触发交易后,只发送RB2205的交易单,一直都没见RB2210的交易单呢?监控器也没显示RB2210的持仓异常?

全部代码是这样,麻烦老师帮看看到底问题出在哪里? Params Numeric bz(100); //设立标准差,即标准差中线位置,围绕该值上下做多空 Numeric db1(100); //下网格宽度,加仓宽度 Numeric db2(100); //上网格宽度,加仓宽度 Numeric lots1(1); Vars Series<Numeric> k1(0);Series<Numeric> d1(0); Series<Numeric> lowestjc;Series<Numeric> Highestjc; Series<Numeric> jiacha;Series<Numeric> lotsj(0); Global Array<Integer> layers; Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作 OnInit() { layers[0]=SubscribeBar("RB2205.SHFE", "60M", 20211218, 0, Enum_Data_RolloverBackWard); layers[1]=SubscribeBar("RB2210.SHFE", "60M", 20211218, 0, Enum_Data_RolloverBackWard); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { //------------------------------------------------------------------------ //买多部分 //------------------------------------------------------------------------ //开仓1 If(k1==0 ) {data0.buy(lots1,data0.open); data1.SellShort(lots1,data1.open);Return; } //减仓 If(k1>0 ) { data0.Sell(lotsj,data0.open); data1.BuyToCover(lotsj,data1.open);Return; } //------------------------------------------------------------------------ //卖空部分 //------------------------------------------------------------------------ //开仓1 If(d1==0) {data0.SellShort(lots1,data0.open); data1.buy(lots1,data1.open);Return; } //减仓 If(d1>0 ) { data0.BuyToCover(lotsj,data0.open); data1.Sell(lotsj,data1.open);Return; } } 全部代码是这样,麻烦老师帮看看到底问题出在哪里?

老是显示这个,怎么回事呢? 我没加载有合约,只加载了公式,然后就运行了,可是就出现这个提示

估计是不是订阅数据的时候,没弄对。如果你本来加载了一个合约,再运行这个公式,可能会把RB2205加载到data1,RB2210加载到data2。您可以打开K线看下,另外看下RB2205做单方向是否反了?