为什么只能显示一个图层

根据老师所讲的多品种选股,将信息发送,在另外一个工作区接收后 对多品种进行处理 的代码思想,我进行了试验,出现了这样一个问题,就是通过FOR循环定约的数据 只能显示出单图层,然而 直接定约的数据 如 SubscribeBar("rb888.SHFE","5s",20230116) ; SubscribeBar("zn888.SHFE","5s",20230116) ; 就可以显示多层数据 , 请问一下老师 如何解决, OnInit() { UnsubscribeBar(0); SubscribeEvent("我的选合约空"); if (a != "") { StringSplit (a,",",x2); for i=1 to GetArraySize(x2)-1 { SubscribeBar(x2[i],"10s",DateTimeAdd( SystemDateTime,-1000*60)) ; A_BindTradeAccount("liyupinglijiang"); } } }

日志已发 主要看4工作区的。

OnInit() { UnsubscribeBar(0); SubscribeEvent("我的选合约多"); //Commentary("a="+Text(a)); a = ",zn888.SHFE,zn888.SHFE,cu888.SHFE,j9888.DCE,SM888.CZCE"; if (a != "") { StringSplit (a,",",x2); for i=1 to GetArraySize(x2)-1 { SubscribeBar(x2[i],"10s",DateTimeAdd(SystemDateTime,-5000*60)) ; A_BindTradeAccount("liyupinglj001"); } } /* SubscribeBar("rb888.SHFE","5s",DateTimeAdd(SystemDateTime,-1000*60)) ; SubscribeBar("zn888.SHFE","5s",DateTimeAdd(SystemDateTime,-1000*60)) ; SubscribeBar("cu888.SHFE","5s",DateTimeAdd(SystemDateTime,-1000*60)) ; SubscribeBar("al888.SHFE","5s",DateTimeAdd(SystemDateTime,-1000*60)) ; */ //A_BindTradeAccount("liyupinglj001"); } 如果 a = ",zn888.SHFE,zn888.SHFE,cu888.SHFE,j9888.DCE,SM888.CZCE"; 发现能显示多图层, 我估计是可能传过来的信息 有反复传值的可能性 这该 怎么办。

照着课程应该不会有问题的,建议写输出日志看看哪一步骤出错了

这个是接收从另外的一个工作区传过来的信息。

OnEvent(StringRef evtName,MapRef<String,String> evtValue) { if (evtName=="我的选合约空") Print("代码="+evtValue["期货代码"]); a = evtValue["期货代码"] ; ReStart(False); }

a是什么东西? 你这个描述的不太清楚