全部 TBQuant功能 TBL语言 TB开户 问答专区 其他
盘中行情这个lowD(0)为什么取不到值呢
2021-11-24 12:43


Params

Vars

Events
 
    OnInit()
    {

    }
 
 
    OnBar(ArrayRef<Integer> indexs)
    {
        
        Commentary("lowd"+text(LowD(0)));
        if (BarStatus!=2)  //最新一个bar运行
         return;
                
             Numeric yesClose  =CloseD(1);  //昨天的收盘价
            Numeric todayLow  =LowD(0);    //今天的最低价
            Numeric todayHigh =HighD(0); //今天的最高价
            FileAppend("c:\\testlow.txt" ,  text(SystemDateTime)+"--"+symbol+"--"+text(date())+"--"+text(time())+"==Q_High ="+ text(Q_High)+"==Q_low ="+ text(Q_low)    +"==HighD(0) ="+ text(todayHigh)+"==LowD(0) ="+ text(todayLow)      );
            if (time ==0.1459)
            buy(1,open);
            
    }

     请问一下,盘中行情这个lowD(0)为什么取不到值呢,而且highd(0)取出的值和Q_HIGH不一致啊

 

下面的是实盘的14点行情数据,上面的是模拟盘的14点数据,可以看到highd0价格不一样,lowd0价格都是0.

wangkaiming

highD 之类的函数 有内部运行逻辑,通过打开函数查看,放在if条件内导致,代码运行不全

axx = highD; 在主程序第一层下运行并赋值给变量,通过变量去使用。

2021-11-24 19:29
hxx_future

highd(0)的行为和lowd(0)一致吗,另外Q_High 盘中出现NA,是否也和限制最新bar有关。

2021-11-24 14:19
tblaocai
@hxx_future

HighD和LowD都是一样的,这一类都叫序列函数,您可以找官网的学习视频看看。Q_High只要是实时BAR应该都可以取到数据,除非在历史BAR上。

2021-11-24 14:27
tblaocai

不能仅在最新BAR上运行。把下面这句去掉

 if (BarStatus!=2)  //最新一个bar运行
         return;

2021-11-24 14:11
您未登录,请先 登录注册 后发表评论
顶部