3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
是的,完全可以用同样的交易逻辑在不同的周期去交易。在 QMT 平台中,将原有的日线策略应用到 15 分钟周期是非常方便的。
QMT 平台的模型是**数据驱动(逐 K 线运行)**的,handlebar(ContextInfo) 函数会在每根 K 线上被调用一次。因此,如果主图周期变成了 15 分钟,策略就会每 15 分钟执行一次逻辑。
要将日线策略改为 15 分钟周期,您主要需要做以下几个方面的改动和确认:
在 QMT 的【策略编辑器】右侧的基本信息面板中,找到 默认周期,将其从“日线”修改为“15分钟线”。
注:如果在回测模式下,还需要在“回测参数”或主图行情界面将周期切换为 15 分钟。
检查您的 Python 代码中是否“写死”了周期参数。主要检查以下几个函数:
ContextInfo.get_market_data() 或 ContextInfo.get_history_data()period 参数写死了 '1d',需要将其改为 '15m',或者更推荐的做法是改为动态获取当前主图周期:# 错误示范(写死了日线):
# df = ContextInfo.get_market_data(['close'], stock_code, period='1d')
# 正确示范1(直接改为15分钟):
df = ContextInfo.get_market_data(['close'], stock_code, period='15m')
# 正确示范2(动态跟随主图周期,推荐):
current_period = ContextInfo.period # 如果主图是15分钟,这里会返回 '15m'
df = ContextInfo.get_market_data(['close'], stock_code, period=current_period)
虽然代码逻辑可以无缝迁移,但金融市场的特性在不同周期下差异很大。日线级别的参数在 15 分钟级别通常不再适用,需要重新回测调优:
ContextInfo.set_commission() 和 ContextInfo.set_slippage() 中设置真实的费率,以验证策略在扣除成本后是否依然盈利。if current_time > '14:45:00': 不开新仓)。总结:在 QMT 中跨周期运行策略在技术实现上非常简单,只需改动 UI 设置和数据接口的 period 参数(改为 '15m')即可;但从量化研究的角度,务必重新进行回测和参数优化。