定时周期性函数
更加详细的调用方法,后续会慢慢整理。
也可找寻博主历史文章,搜索关键词使用方案,比如本文涉及函数run_interval !
感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系!
run_interval - 按设定周期处理
run_interval(context, func, seconds=10)
使用场景
该函数仅在交易模块可用
接口说明
该函数用于以设定时间间隔(单位为秒)周期性运行指定函数,可对运行触发时间间隔进行指定。
注意事项:
1、该函数只能在初始化阶段initialize函数中调用。
2、该函数可以多次设定,会以多个线程并行运行,但要小心不同线程之间的逻辑关联处理
3、seconds设置最小时间间隔为3秒,小于3秒默认设定为3秒。
参数
context:Context对象,存放有当前的账户及持仓信息(Context);
func:自定义函数名称,此函数必须以context作为参数(Callable[[Context], None]);
seconds:设定时间间隔(单位为秒),取值为正整数(int)。
返回
None
示例
# 定义一个周期处理函数,每10秒执行一次
def initialize(context):
run_interval(context, interval_handle, seconds = 10)
g.security = '600570.SS'
set_universe(g.security)
def interval_handle(context):
snapshot = get_snapshot(g.security)
log.info(snapshot)
def handle_data(context, data):
pass