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