根据老师所讲的多品种选股,将信息发送,在另外一个工作区接收后 对多品种进行处理 的代码思想,我进行了试验,出现了这样一个问题,就是通过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是什么东西?
你这个描述的不太清楚