现在已经不太建议使用run_daily(func,time = 'open')
这种形式了,建议time直接填写具体的时间,比如 run_daily(func,time='21:00')
,但是由于期货因节假日的原因,无法确认是否有夜盘,所以在这里分享一下如何判断标的在某个时间点是否在交易时间(是否有夜盘),以及设置期货开盘运行函数的方法:
以下为判断某个时间点是否是该标的的交易时间的函数,如果处于交易时间,则返回True,否则返回False.
def var_is_trading(time,var='AG9999.XSGE'):
'''获取当前时间是否是该标的的交易时间,收盘不算交易时间
传入: date: datetime.datetime ,策略中逻辑时间为context.current_dt
var: 标的代码,默认为AG的交易时间'''
next_m = time datetime.timedelta(minutes=1)
temp = get_price(var,end_date=next_m,frequency='1m',count=1)
if temp.index[-1] != next_m:
return False
else:
return True
设置期货开盘运行,可以直接判断当天晚上21:00是否处于交易时间,如果是,则直接21:00运行,否则在下一交易日09:00运行开盘函数。
完整的示例代码如下: