3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,run_interval 是一个非常重要的定时周期性函数,主要用于实现高频的定时任务。它可以让策略以设定的时间间隔(精确到秒)周期性地执行指定的自定义函数。
run_interval(context, func, seconds=10)run_interval 设定的任务主要在盘中交易时间运行(通常为 9:30~11:30 和 13:00~15:00,具体以券商实际配置为准)。
Context 对象,存放有当前的账户及持仓信息。context 作为唯一参数(例如 def my_func(context):)。int)。initialize 函数中调用。seconds 设置的最小时间间隔为 3秒。如果传入的值小于 3 秒,系统会默认将其设定为 3 秒。以下是一个完整的策略示例,展示了如何使用 run_interval 每隔 10 秒获取一次指定股票的行情快照:
# 定义一个周期处理函数,每10秒执行一次
def initialize(context):
# 设定每 10 秒运行一次 interval_handle 函数
run_interval(context, interval_handle, seconds=10)
# 设置全局变量和股票池
g.security = '600570.SS'
set_universe(g.security)
# 自定义周期运行函数,必须包含 context 参数
def interval_handle(context):
# 获取股票的实时行情快照
snapshot = get_snapshot(g.security)
# 打印快照信息到日志
log.info("每10秒获取的行情快照: %s" % snapshot)
# 盘中处理函数(必选结构,即使为空也需要保留)
def handle_data(context, data):
pass
通过合理使用 run_interval,您可以轻松实现如高频监控、动态撤单、盘口数据抓取等复杂的交易逻辑。