确认一个事情,官方文档中SubscribeTick的这句话可能有歧义

RT


官方文档

https://tbq.tbquant.net/helper?product_id=999&keyword=1122&content_id=1074&type=article#subscribetick-%E8%AE%A2%E9%98%85tick%E8%A1%8C%E6%83%85

中有这么一句"订阅tick行情,……,可以通过GetTick获取行情快照。该函数可用来获取非当前数据源的最新行情快照,若不订阅,获取的是过期行情。"

正是因为这一句话,让我不敢单独使用GetTick了,因为怕获取的是过期行情。但为了性能,又确实不想多余订阅。

所以想找官方确认一下:在没有SubScribeTick的前提下,单独用GetTick,能够确保获取到的是最新行情么?

官方文档上的代码有BUG
官方文档中【添加和删除自定义基础数据】的demo有几个问题请教一下
请教,SubscribeBar与SubscribeTick各有一个问题。
关于SubscribeTick!
【文档中错误】 Uplot样例代码中少了一个参数
Events中FillRef结构体的文档在哪找
模拟交易中,今天出现奇怪的事情,有两个成交记录竟然来自一个没有打开的工作区和策略,不知什么原因?难道TBquant会有缓存?
我想在TB中编一个在15分钟周期的k线中在结束前30秒内平仓,这怎样编呢
HighestFC:在同一个策略代码的函数调用中,length参数不能改变。这句话怎么理解?
收盘信号确认的策略

你对你当前的品种获取就是最新的。。除非你获取别的品种


Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        SubscribeTick("rb2505.SHFE");
        SubscribeTick("rb2504.SHFE");
        SubscribeTick("rb2506.SHFE");
    }

    OnTick(TickRef evtTick)
    {
        print("evtt="+(evtTick.symbol));
        print("ttt="+text(evtTick.dateTime));
        print("---------------------------");
    }


//------------------------------------------------------------------------
// 编译版本    2025/3/6 151627
// 版权所有    wangkaiming
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------

简单一试就知道了哦

我想强调一下,不管你用没用subcribetick函数,你都是可以用gettick来获取 当前图层合约的最新数据的。用subscribetick解决的需求是想获取非图层合约的tick数据,

我解释一下,不知道能不能看明白

首先,在没有任何订阅的情况下,盘中onbar是tick驱动的,你gettick写在onbar里

,是可以获取当前图层合约的最新tick的。

但是有些用户说,那我如果我想获取其他合约的数据怎么办呢?

那就只能用subcribebar来添加图层数据,然后获取。

用户又说了,我需要的合约数据很多啊,全都加载太多了,而且我不需要历史数据,我只要最新的tick数据,加载历史数据很浪费啊。

过去,碰到这个问题就没办法解决了,因为不订阅合约就获取不到合约数据。

为了解决这个问题,工程师就推出了subscribetick这个函数。这个函数也是订阅数据,但是不订阅历史数据。有了这个函数,使用gettick函数,里面就可以填写已订阅的合约数据来获取最新的tick数据了。

原来如此!谢谢!

懂了50%。

还有50%的疑问——如果我不新增图层,可以在0图层的情况下,先在OnInit中subscribetick、再在哪里调用getTick么?

举例:

无图表交易、0图层。假设要在6个品种上作交易,于是OnInit中subscribetick了这6个品种,嗯,现在还剩下一个关键问题,因为是0图层(除了creatTimer并Ontimer之外),有什么办法(或者事件域)可以用来触发GetTick么?Onbar与onbaropen我试了好像没反应?ontick可以么?(顺便官方文档中貌似没有ontick的介绍网页)

没有图层就没办法驱动事件域,就没有接下来的gettick操作了