3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,默认情况下即使在节假日,系统也会在每天盘前执行 before_trading_start 函数。为了避免在非交易日(节假日)重复执行不必要的盘前初始化逻辑,您可以使用 set_parameters 接口进行配置。
在初始化函数 initialize 中,调用 set_parameters 并将 holiday_not_do_before 参数设置为 "1" 即可:
holiday_not_do_before:
"0":执行(默认缺省值)"1":不执行(即节假日跳过 before_trading_start)以下是一个完整的策略配置示例:
def initialize(context):
# 初始化策略股票池
g.security = '600570.SS'
set_universe(g.security)
# 设置节假日不执行 before_trading_start 盘前函数
set_parameters(holiday_not_do_before="1")
def before_trading_start(context, data):
# 该函数在交易日的 9:10(交易环境)或 8:30(回测环境)执行
# 节假日时,由于设置了 holiday_not_do_before="1",此处的代码将不会被触发
log.info("今天是交易日,开始执行盘前初始化逻辑...")
def handle_data(context, data):
# 盘中交易逻辑
pass
set_parameters 推荐在 initialize(context) 函数中进行初始化设置。set_parameters 传入的参数值必须是字符串格式(例如 "1" 而不是数字 1)。