亲爱的版主、工作人员:
各位早上好,由于自己是看官网的“零基础学习视频”自学的,之前只有wh8的策略编写经验,基础比较差,请见谅。我遇到的问题是:我的策略加载在15分钟周期之上,使用TB提供的999指数合约来计算指标的数据。发现回测的建仓情况和实际行情运行中的建仓情况有出入。
如图1,回测时在4月22日21:00有建仓动作,在22:30这根K线上进行平仓后,重新建仓。
如图2、图3,在"复盘调试"中4月22日的21:00并没有建仓动作,直至22:30这根K线走完才出的建仓信号。
实盘运行中与”复盘调试“的情况一样。
我检查了问题所在,发现日线周期的K线没有出现的情况下,15分钟周期的指标数据不会更新,直到日线周期的K出现后,15分钟周期的指标数值才会有更新。
我的策略大致如下:
data0 //15分钟周期,商品主连
data1 //日线周期,商品999指数
Series<Numeric> A;
Series<Numeric> B;
Bool C;
OnBar(ArrayRef<Integer> indexs)
{
Range[1:1]
{
计算指标A;
计算指标B;
}
}
OnBarClose(ArrayRef<Integer> indexs)
{
bool c = Data1.A[1] < Data1.B[1] and Data1.A> Data1.B;
If(MarketPosition == 0 )
{
If( C )
{
建仓;
}
}
我也试了各种方法,比如把C放到onbar域发现问题依旧。请各位老师给予帮助。
在新增加15分钟999指数合约的图层后问题已解决。TBquant真棒!另外官网的帮助能够更具体的话就更好了。
零基础系列里有跨周期初步的内容