我策略是多周期策略,分别是30分钟,1日,1周。我发现个问题就是我把SetBasePeriod("30m");中的30M修改后15或者10的话回测数据相差很大,我一直搞不懂为什么修改这个数差距这么大的原因。请解析,谢谢。部分代码如下:
Events
//-----------设置后复权,映射真实价格----------
OnInit()
{
// 设置基准周期为30分钟
SetBasePeriod("30m");
Range[0:DataCount-1]
{
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
AddDataFlag(Enum_Data_RolloverRealPrice()); //是否映射真实价格
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
Bool ret = SetSwapPosVolType(2); //设置自动换仓量类型
AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//设置忽略换仓信号计算
}
}
//-----------主逻辑----------
OnBar(ArrayRef<Integer> indexs)
你这个代码能分析个啥
SetBasePeriod是设置每个切片多少时间
比如 用的1h的K
如果用30M的 ,就是一个K线运行两次
如果用15M,就是一个K线运行四次
假设代码中用的高开低收作为交易价格
那不同的设置 成交的价格就是不一样的 回测数据就不一样咯