run_interval - 按设定周期处理
run_interval 是 PTrade 中用于按设定周期处理的接口。
提示
live-or-trading-module-only
原型
run_interval(context, func, seconds=10)
释义
run_interval 是 PTrade 中用于按设定周期处理的接口。
研究:不支持;回测:不支持;模拟:官方目录未明确;实盘:支持。
参数
| 参数 | 是否必填 | 官方原始定义 |
|---|---|---|
context |
是 | context |
func |
是 | func |
seconds |
否 | seconds=10 |
返回值
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
获取信息函数
获取基础信息
详细说明
run_interval(context, func, seconds=10)
使用场景
该函数仅在交易模块可用
接口说明
该函数用于以设定时间间隔(单位为秒)周期性运行指定函数,可对运行触发时间间隔进行指定。
注意事项
该函数只能在初始化阶段initialize函数中调用。
在非交易时间段不执行(交易时间段为:09:3011:30与13:0015:00之间)
该函数可以在initialize中多次调用,以实现多个定时任务。 但需要注意的是交易中定时任务线程数限制为5且累计的任务不执行,即run_daily和run_interval累计调用超过5次时, 将会因堵塞导致部分定时任务不触发。
最小运行时间间隔seconds的设置规则:期货策略为1秒(用户设置值若小于1秒,系统仍当做1秒处理),股票等其他类型策略为3秒。
参数详细说明
context: Context对象,存放有当前的账户及持仓信息(Context);
func:自定义函数名称,此函数必须以context作为参数(Callable[[Context], None]);
seconds:设定时间间隔(单位为秒),取值为正整数(int)。
返回值
None