这个基础数据的程序在1379版本上能正常运行了吗?
之前在老版本上一直在正常使用的可转债信息读取程序,到了tbq的1376版本,忽然就不能运行了。怀疑是新版本默默修改了OnInit阶段读取基础数据的方式。现在又在催大家在5月底之前赶快升级到最新的版本。想问一下,下面这个例程,在最新的1379版本上能正常运行了吗?我怕升级之后程序不能跑,一直都没敢升级到最新,也没法试1379,哪位老师帮忙测试一下告诉我一下结果可以吗?多谢了下面例程的使用方法:在工作区里建立一个新图表,将图表合约设置为任意一个可转债,例如110043,之后插入下面的测试程序,观察是否运行正常:VarsDic<Array<String>> FeData(\"TB_BOND_CVBASE\"); //读取财务指标EventsOnInit(){Print(\"Data:\"+FeData[0][0]);SubscribeBar(FeData[0][0],Frequency,BeginDateTime);}OnBar(ArrayRef<Integer> indexs){Integer i;//读取财务指标 Range[ i=0:DataCount-1]{Commentary(\"FeData=\"+FeData[0][0]);}}
做了一些调整,这种读取基础数据的方式只能用在onready之后(包含onready),您修改成GetDicValue()的读取方式吧,GetDicValue()可以在oninit里面进行使用
回复:谢谢蔡总的反馈。基础数据这块儿我学艺不精,就只会用静态数组的方式获取数据,如果在onInit阶段现在只能GetDicValue了,能帮看一下现有这个程序该怎么改写嘛?多谢啦。强制升级时间快到了,再探索试错怕来不及,请教一下专业指引,麻烦您啦。VarsDic<Array<String>> FeData(\"TB_BOND_CVBASE\"); //读取财务指标EventsOnInit(){Print(\"Data:\"+FeData[0][0]);SubscribeBar(FeData[0][0],Frequency,BeginDateTime);}OnBar(ArrayRef<Integer> indexs){Integer i;//读取财务指标 Range[ i=0:DataCount-1]{Commentary(\"FeData=\"+FeData[0][0]);}}
判断程序运行结果方法如下:程序能正常运行时的结果如下图,能够订阅图表第二个合约:程序不能正常运行时的结果如下,订阅图表第二个合约失败: