用plot.setLayout 写监控界面,出现了延迟现象

用plot.setLayout 写监控界面,出现了延迟现象.每次刷新一次,可以把时间刷新到最新,但是放一会就会延迟了,预估会延迟20分钟上下。新建一个空白工作区,加载下面的代码看看。 Params //此处添加参数 Numeric pIC_Index1(1); Numeric pIC_Index2(4); Array<String> strMySymbol([\"000905.SSE\",\"IC2304.CFFEX\",\"IC2305.CFFEX\",\"IC2306.CFFEX\",\"IC2309.CFFEX\"]); Vars Plot plt1; Plot plt2; Plot plt3; Plot plt4; Plot plt5; Plot plt6; String tableName(\"品种列表\"); Numeric i; Numeric vDayDiff;// 到期天数 Series<String> strLineNameSymbol1; Events OnInit() { strLineNameSymbol1 = data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol+\" 最新价差\"; for i = 0 to GetArraySize(strMySymbol)-1 { SubscribeBar(strMySymbol[i],\"1m\",20230217); } plt1.figure(); plt2.figure(); plt3.figure(); plt4.figure(); plt5.figure(); plt1.setLayout(0,0);//布局在(0,2) plt2.setLayout(0,2);//布局在(1,0) plt3.setLayout(2,0);//布局在(1,0) plt4.setLayout(2,1);//布局在(1,0) plt5.setLayout(2,2);//布局在(1,0) plt6.setLayout(2,3);//布局在(1,0) plt1.setOption(tableName,\"data-pagination\",False); plt1.setOption(tableName,\"column-index\",tableName+\"=0\"); plt1.setOption(tableName,\"column-index\",\"value=1\"); plt2.setOption(\"跨期套利监控面板\",\"data-pagination\",False); plt2.setOption(\"跨期套利监控面板\",\"column-index\",tableName+\"=0\"); plt2.setOption(\"跨期套利监控面板\",\"column-index\",\"value=1\"); plt3.setOption(data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol+\" 最新价差\",\"x-format\",\"time\");//设置X为时间轴 } OnBar(ArrayRef<Integer> indexs) { For i = 0 to DataSourceSize-1 { data[i].vDayDiff = DateDiff(data[i].Date,IntPart(Data[i].ExpiredDateTime()))+1; // 各合约到期天数 } for i = 0 To DataSourceSize-1 { //当前公式应用商品的最新买盘价格 plt1.table(tableName,\"最新价\",data[i].Close,data[i].symbol); //当前公式应用商品的最新买盘价格 plt1.table(tableName,\"BidPrice\",data[i].Q_BidPrice,data[i].symbol); //当前公式应用商品的最新卖盘价格 plt1.table(tableName,\"AskPrice\",data[i].Q_AskPrice,data[i].symbol); plt1.table(tableName,\"盘口中间价\",(data[i].Q_BidPrice+data[i].Q_AskPrice)/2,data[i].symbol); //当前公式应用商品的盘口价差 plt1.table(tableName,\"盘口价差\",data[i].Q_AskPrice - data[i].Q_BidPrice,data[i].symbol); If(i>=0 And i <5) { If(i>=0 And i<4) { plt1.table(tableName,\"基差\",Data[0].Close - (data[i].Q_BidPrice+data[i].Q_AskPrice)/2,data[i].symbol); } If(i==4) { plt1.table(tableName,\"基差\",Data[0].Close - (data[i].Q_BidPrice+data[i].Q_AskPrice)/2-0,data[i].symbol); } } plt1.table(tableName,\"到期天数\",data[i].vDayDiff,data[i].symbol); plt1.table(tableName,\"索引\",i,data[i].symbol); } plt2.table(\"跨期套利监控面板\",\"正套价差(卖价)\",Data[pIC_Index1].Q_AskPrice - Data[pIC_Index2].Q_BidPrice,data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol); plt2.table(\"跨期套利监控面板\",\"反套价差(买价)\",Data[pIC_Index1].Q_BidPrice - Data[pIC_Index2].Q_AskPrice,data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol); strLineNameSymbol1 = data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol+\" 最新价差\"; plt3.line(data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol+\" 最新价差\",date+time,Data[pIC_Index1].Close - Data[pIC_Index2].Close); plt3.line(data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol+\" 90%分位\",date+time,NthHigher(Data[pIC_Index1].Close-Data[pIC_Index2].Close,60,6)); plt3.line(data[pIC_Index1].symbol+\"-\"+data[pIC_Index2].symbol+\" 10%分位\",date+time,NthLower(Data[pIC_Index1].Close-Data[pIC_Index2].Close,60,6)); }