3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,可以通过调用系统内置的 is_trade() 函数来判断当前策略代码的运行环境是回测还是实盘交易。
is_trade() 函数说明is_trade()True:当前策略在实盘/模拟交易环境中运行。False:当前策略在回测环境中运行。get_snapshot()、逐笔成交 get_individual_transaction() 等)仅在实盘/交易模块可用,通过 is_trade() 可以在回测时规避调用导致报错。send_email、send_qywx),而在回测阶段关闭通知。def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 判断运行环境
if is_trade():
log.info("【当前运行场景:实盘/模拟交易】")
# 在实盘环境中可以调用实盘专属逻辑或快照数据
snapshot = get_snapshot(g.security)
log.info(snapshot)
else:
log.info("【当前运行场景:历史回测】")
# 在回测环境中执行回测专属逻辑
price = data[g.security]['close']
log.info("当前回测收盘价: %s" % price)
# 下单操作在回测与实盘中均可兼容运行
order(g.security, 100)
is_trade() 可以在 initialize、before_trading_start、handle_data 等多个事件函数中随时调用。is_trade() 条件判断,可以编写一套无缝无感切换于回测与实盘之间的通用策略代码。