Date和CurrentDate的问题
在学习TBQuant3编程的时候,我遇到了一个问题:以下是一段案例教学中的内容,是一个日内交易策略的平仓逻辑,策略要求当日收盘前必须平仓:If( ( Date[-1] != InvalidInteger && Date != Date[-1] ) || ( Date[-1] == InvalidInteger && Date < CurrentDate ) ){ Sell( 1 , Close ) ; Buy( 1 , Close ) ;}我的疑问是:1、If条件的第二部分是什么意思?2、Date[-1]在什么情况下会等于无效值?3、Date在什么情况下会小于CurrentDate ?
1 如果后一根bar的时间是无效值,并且,当根bar的日期小于本地日期。2 一般是图表里最后一根bar的时候,没有下一根bar3 这种情况很多啊,今天是2025年7月10号,那代码执行到今天以前的任何一天,date都会小于currentdate啊
回复:忘了说了![-1]这种写法是上古时代的语法了,早就已经取消了
回复:👍
回复:原来是上古写法,哈哈哈。谢谢老师的解答,感谢
If( ( Date[-1] != InvalidInteger && Date != Date[-1] ) || ( Date[-1] == InvalidInteger && Date < CurrentDate ) )只有这一段代码不知道你看的范例的上下文具体啥场景第一个条件不是数据源第一个bar 且 当前bar和前一个bar是不同交易日要么没考虑夜盘要么夜盘也清仓第二个条件数据源只有一个bar:要么是数据源第一根bar,要么只订阅了一个bar 且 历史bar两个条件满足一个先平多单再开多单根据你表达的收盘前一定平仓没看明白这个操作
回复:应该不是官方的范例吧
回复:我学习的案例如下方链接,是一个微信的公众号分享的教学策略,仅供教学使用: https://mp.weixin.qq.com/s?__biz=MzkwNDY4MTQwMQ==&mid=2247483796&idx=1&sn=44499a7659b647b94ff603f86fd82fc9&chksm=c0820342f7f58a54586e3bc5806d167bf0e799c71b8c1d2be330fb7e2e55b780e8ab4eb2f98f&scene=178&cur_album_id=3405380616391589892&search_click_id=#rd
回复:Date[-1]是后一个Bar的交易日期,而不是前一个Bar的交易日期。前一个Bar的交易日期是:Date[1]
回复:非常抱歉date[1]、date[-1]是我搞错了第一个条件就是中间bar 且 夜盘清仓或第二个条件最后一个bar 且周末或放假期间?这段代码有夜盘的bug也不适合回放模式等老师回复吧
回复:他是在当前时点回溯历史数据用于测试策略逻辑和收益情况并用了向后取值的未来函数回放模拟的是实时状态还是按照正常的方式编码即可回溯也可交易还能回放测试
回复:date[-1]这种写法实际上已经取消了
回复:👌
回复:昨晚直接被搞懵了。。。
1 夜盘2 只订阅了一个bar3 今天视角下的昨天夜盘
回复:我这边在历史行情回访的模拟实时数据测试的时候发现,不论日盘还是夜盘,最新一根bar上的Date[-1]的取值都是一个很大的Integer,但不是无效值,并且Date一直都等于CurrentDate。另外,策略肯定是要求加载到超过一根bar的行情上
回复:无效值就是很大的值你说的情况不可能
回复:CurrentDate 是当前时间Date[-1]是前一个Bar的交易日期无效值就是很大的值最新一个Bar的Date在当前视角如果是当天就相等比如凌晨0点后 到 夜里24点前 是相等的明天白天bar的Date和CurrentDate就是20250710今天夜盘bar的Date就是20250709黄金白银原油会跨日
回复:Date[0]/Date[-X]根据bar动态的CurrentDate永远是电脑最新的日期
回复:Date[-1]是后一个Bar的交易日期,Date[1]是前一个Bar的交易日期。无效值InvalidInteger 我print出来、或者commentary出来,结果是N/A。最新一根bar上的Date[-1]的取值是个能够正常print出来、或者commentary出来的很大的Integer,不会显示N/A。CurrentDate在历史行情回访的模拟实时数据测试的时候,print出来就会是历史上的电脑日期,而不是真实的电脑日期
回复:回放当然是当时的电脑时期这都是相对的概念
回复:回放相当于实时行情最后一个bar的date 当然等于 currentdate时点不同视角也不同是相对的的关系
回复:回放相当于实时行情最后一个bar的date 当然等于 currentdate时点不同视角也不同是相对的的关系