全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
currenttime和time差异巨大,不知道问题出在哪
hongqida 分享到
2023-05-27 10:23

做了一个多图层的交易策略,图层0为指数的日K线,图层1为指数的30分钟K线,图层2以上均为当月期权买购合约,周期与1号图层相同,均为30分钟,如下图

data-href=

核心代码如下:

OnInit()

{

//与数据源有关

Range[0:DataCount-1]

{

//=========数据源相关设置==============

AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权

AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格

AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓

AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算

}

}

      OnBar(ArrayRef<Integer> indexs)

{

Range[0:0]

{

//计算出Buyline 和 Sellline,Buyline 和SellLine为全局变量

                     //根据Buyline计算出需要的option_c_code

              }

       Range[1:1]

       {

PlotNumeric(上轨,BuyLine,0,Red);

PlotNumeric(下轨,SellLine,0,Blue);

Commentary(虚一档看涨期权是: + option_c_code);

       }

        //如果在10:00分没有向上突破,且昨日有持仓,则平仓

      If (data1.time == 0.1  and Data1.High[1] <= BuyLine)

       {

        Range[2:datacount-1]//轮询各个期权合约

        {

If(currentcontracts > 0) //如果任一合约持有仓位,则平仓

{

FileAppend(c:\\\\DT_Option_Debug,data1.time= + Text(data1.Time) +    CurrentDate= + DateToString(CurrentDate) +  CurrentTime= + TimeToString(CurrentTime)

+ Data1.High[1]= + Text(Data1.High[1]) +  Buyline= + Text(BuyLine) +  SellLine= + Text(SellLine) +   此时价格为

+ Text(data1.close) + ,未向上突破buyline,平仓所有看涨期权 );

SellForIndexOption(CurrentContracts,open);//自编函数

                   data1.PlotString(Cover,平仓,low,red);

}

           }

     }


实盘跑出的结果非常奇怪,出现了不少问题,先提第一个问题,CurrentTime和time相距甚远

data-href=

       如第一个红框,currentTime是14:26分,data1图层是中证1000指数的30分钟K线,time应该是0.140000才对,但却为0.1,即上午10:00的K 线,不合常理。下面第二个框也是如此,time变成了0.13,是我没有正确理解多图层的机制吗?

 

wangkaiming

currenttime是系统时间,你晚上去加载就是晚上的时间

time是K线时间,不会改变

你在下午2:30去加载,curtime就是2:30的,K线时间该是几点就是几点

2023-05-29 15:28
hongqida
@wangkaiming

我早上就开始启动策略,程序在14:26分触发了阀值,即指数的最新价>buyline。由于指数用的是30分钟K线,此时data1.time应该是0.1400才对,为什么会是0.1?而且从最后一张截图可以看到,每个tick到来后,data1.time都是不统一的,有0.1,0.13,0.133,0.11,这是为何?

2023-05-29 15:48
hongqida
@wangkaiming

老师能再帮忙分析一下吗

2023-05-30 11:14
hongqida

异常数据出现的原因,应该是因为在实盘加载策略时,加载了一部分历史K线的原因,导致currenttime和time时间不同。打扰老师了@wangkaiming

2023-06-21 09:18
您未登录,请先 登录注册 后发表评论
顶部