https://www.tbquant.net/forumDetail?cur=tbquan&id=12819&cid=undefined#edit
前贴讨论了tbquant历史数据的逻辑错误问题,经过贴友回复帮助,得知tbquant3有所改进,去验证后发现可以通过 SetBasePeriod(\"\")函数设置大周期历史数据读取的小周期颗粒度,减轻未来函数的情况,但仍然无法消除,因为小周期颗粒度的未来数据情况仍然存在,仍然会读取小周期的未来数据,但仍不尽完善。
如果历史数据能模拟实盘的运行情况,按照最新价(最小颗粒度周期的开盘价或前收盘价)作为大周期收盘价,按照最小颗粒度周期当根k线之前的数据记录最值,那才符合逻辑,那就更好了。
你按tick颗粒度不就没有未来数据了么?
按tick去setbaseperiod,那不就等于把历史所有tick都重新跑一遍,这还哪里来未来数据???
用tick确实可以避免未来数据的问题,但又会带来数据读取效率的问题。在设定一定的小周期颗粒度的情况下,处理好大周期历史数据的读取逻辑,可以不调用tick也解决未来数据问题啊,不用牺牲数据读取和回测研究的效率吧。
历史数据的读取逻辑,只需要处理好close() ,high(), low(),这三个系统函数级别就解决了吧