基础数据回溯方式

1. Enum_DicFlag-基础数据回溯方式类型: 按Bar, 按时间有举例吗?是说按照k线的bar的时间去寻找对应基础数据的发布时间吗? 那介于两个发布时间之间, 取更旧的时间还是更新的时间? 按照时间回溯就是一行一行发布时间回溯吗?为什么他们两个的结果一模一样啊?根本没有任何区别。那区别是什么?以上图为例为什么他两个的结果一模一样啊?根本没有任何区别。那区别是什么?Vars Dic<Array<String>> dicByTime("TB_ROLLOVER_v2", True, "rb888.SHFE"); Dic<Array<String>> dicByBar("TB_ROLLOVER_v2", True, "rb888.SHFE"); Integer limitCount(999); Global Integer id(0); Events OnInit() { id = SubscribeBar("rb888.SHFE", "1d", 20200101, 20250101); Range[id:id] { SetDicFlag(dicByTime, Enum_DicFlag_BackTime); SetDicFlag(dicByBar, Enum_DicFlag_BackBar); } } OnBar(ArrayRef<Integer> indexs) { Range[id:id] { if(CurrentBar == limitCount - 1) { Integer i; For i = 0 To limitCount { Print("dicByTime,time:" + Text(GetDicTime(dicByTime, i)) + ",value:" + TextArray(dicByTime[i])); Print("dicByBar,time:" + Text(GetDicTime(dicByBar, i)) + ",value:" + TextArray(dicByBar[i])); } } } } 函数类型结果说明Enum_DicFlag_BackBarInteger1(20)返回基础数据按Bar回溯类型枚举值,默认为按Bar回溯Enum_DicFlag_BackTimeInteger2(21)返回基础数据按时间回溯类型枚举值2. 发布时间和数据时间有什么区别?怎么都是一样的。什么时候不一样?函数类型说明Enum_DicFlag_VisitPubTimeInteger返回基础数据按发布时间访问类型枚举值,默认为按发布时间访问Enum_DicFlag_VisitDataTimeInteger返回基础数据按数据时间访问类型枚举值3.SetDicXXX,在策略研究、策略优化时不支持, 那优化怎么用发布时间回溯?

复权数据应该是没区别的这个股票上,比如年报举例年报发布可能是明年的3月,这个是发布时间但是年报数据是去年的,这个是数据时间

回复:老师看看我的其他问题,怎么样才能够既能方便地用[1]回溯,又可以加载主力的数据??Commentary("合约:"+TextArray(myPostionL)); //GetDicValue后的普通数组 不支持回溯, 只能通过改date+time获取之前的值,这样回溯很麻烦啊 Commentary("合约:"+TextArray(member_long[0])); //回溯仅DIC类型才行,但是需要预定义标的

//此处添加变量 Dic<Array<Array<String>>> member_long("TB_MEMBER_positions_long"); Array<Array<String>> myPostionL; Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { SetDicFlag(member_long, Enum_DicFlag_BackTime); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { GetDicValue("TB_MEMBER_positions_long",RelativeSymbol(),date+time,myPostionL); Commentary("合约:"+TextArray(myPostionL)); //GetDicValue后的普通数组 不支持回溯, 只能通过改date+time获取之前的值 Commentary("合约:"+TextArray(member_long[0])); //回溯仅DIC类型才行,但是需要预定义标的 那到底该怎么样才能够既能方便地用[1]回溯,又可以加载主力的数据?? Commentary("合约:"+TextArray(myPostionL)); //GetDicValue后的普通数组 不支持回溯, 只能通过改date+time获取之前的值,这样回溯很麻烦啊 Commentary("合约:"+TextArray(member_long[0])); //回溯仅DIC类型才行,但是需要预定义标的