基础数据
  • TB_SettlePrice - 期货结算价:仅有主力合约的结算价,没有具体单个合约的结算价。是这样设计的吗?


  • 期货结算价是盘后更新的(15点15分),意味着当天(盘中)获取的结算价是前一天的结算价。这就导致了在主力换月的时候,换月第一天的888合约(盘中)结算价是这个具体合约昨天的结算价,而这个具体合约昨天并不是主力合约,这就导致了在基础数据中TB_SettlePrice的取值在换月第一天不正确。请看加载下面的代码验证,TBQ版本1.3.8.6。


Vars
	Dic<Array<String>> MyRollover(TB_ROLLOVER_v2);		// 0. 期货换月合约; 1. 期货换月前价格; 2. 期货换月后价格
	Dic<Array<Numeric>> MyRolloverCoef(TB_ROLLOVER_COEF);	// 0. 前复权系数; 1. 后复权系数
	Dic<Array<Numeric>> MySettlePrice(TB_SettlePrice);	// 0. 结算价

Events
	OnBar(ArrayRef<Integer> indexs)
	{
		Commentary(合约名称= +MyRollover[0][0]);
		Commentary(换月前价格= +MyRollover[0][1]);
		Commentary(换月后价格= +MyRollover[0][2]);
		Commentary(后复权系数= +Text(MyRolloverCoef[0][1]));
		
		If(MyRollover[0][0]<>MyRollover[1][0])	// 如果今天和昨天的合约名称不同,则表示换月了;
		{
			PlotString(换月前合约名称,Left(MyRollover[1][0],5),High[1]+15,Green,1);
			PlotString(换月后合约名称,Left(MyRollover[0][0],5),High+15,Green);
		}
		
		// 后移一位显示昨日对应价位昨日结算价
		PlotAuto(结算价画线,MySettlePrice[0][0],0,Yellow,Enum_Dot,Enum_Solid,Enum_5Pix,1);
		PlotString(结算价数值,Text(MySettlePrice[0][0]),MySettlePrice[0][0],White,1);
	}

data-href=



基础数据
基础数据问题
基础数据读写
基础数据问题
基础数据读取
基础数据错误太多
关于基础数据持续写入
基础数据的查询
quant3基础数据
基础数据如何实时同步

收到