QMT策略代码调试教程
本教程面向已完成QMT软件安装的用户,详细介绍如何在QMT中新建策略、编写代码、运行回测与调试策略,帮助您快速掌握策略开发与测试的完整流程。
一、新建Python策略
在完成软件安装与Python库下载后,即可开始创建您的第一个策略。
操作步骤
- 在左侧导航栏点击"模型研究"进入模型研究界面
- 点击"+新建策略"按钮,选择"新建策略文件"
- 在弹出的策略编辑器中填写基本信息:名称、说明、默认周期、默认品种
- 在编辑器中编写策略代码
- 点击"编译"按钮保存策略
策略代码结构
编辑器提供代码模板,核心由两个函数组成:
# encoding:gbk
import pandas as pd
import numpy as np
import talib
def init(ContextInfo):
# 初始化函数,策略启动时执行一次
ContextInfo.accID = '您的资金账号'
pass
def handlebar(ContextInfo):
# 核心函数,每个K线周期调用一次,交易逻辑写在此处
pass
#encoding:gbk:编码声明,指明源文件使用GBK字符集存储init(ContextInfo):初始化函数,仅在启动时执行一次,用于设置全局参数handlebar(ContextInfo):核心函数,每个K线周期调用一次,交易逻辑写在此处
在QMT的Python策略中,"编译"主要起保存作用,不会进行语法错误检查。如需进行语法检查,建议使用本地IDE(如VS Code、PyCharm)编写代码后再粘贴到QMT编辑器中。
二、运行策略与回测
策略编写完成后,即可运行与测试。
策略运行
- 点击左侧导航栏的"模型交易"
- 在左侧策略列表中选中您的策略文件
- 设置运行参数:主图标的、策略周期、资金账号、运行模式
- 点击三角形"运行"按钮启动策略
运行模式说明:
- 模拟模式:策略基于实时行情产生买卖信号,但不会真实下单,适合新手验证策略
- 实盘模式:策略信号发送至券商服务器,触发真实交易,请在充分测试后使用
运行后可在持仓、委托、成交、策略信号、策略日志等面板查看详情,其中策略日志是调试的重要依据。
策略回测
实盘运行前建议先进行历史回测以验证策略效果:
- 补充历史数据:点击顶部菜单"操作"→"数据管理"→"补充数据",下载所需品种和周期的历史数据
- 设置回测参数:在策略编辑器中点击"回测参数"标签,设置回测起止时间、基准指数、手续费率等
- 点击"回测"按钮,系统将基于历史数据模拟策略表现
回测完成后可查看收益率曲线、最大回撤、夏普比率等指标,评估策略的风险收益特征。
三、常见问题
找不到策略编辑功能?
通常是登录时误选了"独立交易"模式,请重新登录并选择"行情+交易"模式。
策略有信号但未下单?
请检查运行模式是否误选为"模拟",实盘交易需切换到"实盘"模式。同时确认资金账号是否正确、可用资金是否充足。
回测结果异常?
请检查是否已通过"数据管理"补充完整的历史数据。数据缺失会导致回测结果失真。
策略运行报错怎么办?
请查看策略日志中的错误信息,常见错误包括:语法错误、未导入必要的库、资金账号格式不正确等。可对照代码模板逐一排查。
如何查看策略运行日志?
在"模型交易"界面下方的日志面板中可实时查看策略运行日志,日志中包含信号触发、委托下单、成交回报等信息,是调试策略的主要依据。
策略回测和实盘结果差异较大?
回测基于历史数据模拟,未考虑滑点、流动性、涨跌停等实际交易因素,因此实盘结果与回测可能存在差异。建议在模拟盘中充分验证后再投入实盘。
四、学习建议
- 先模拟后实盘:使用模拟账号运行系统自带示例策略(如双均线策略),观察信号与回测结果
- 从修改开始:在预置示例代码基础上调整参数,逐步理解策略逻辑
- 掌握核心框架:理解
init()与handlebar()的运作机制 - 小资金试水:模拟盘验证通过后,先用小资金进行实盘测试
- 持续优化:根据实盘表现不断调整策略参数与逻辑
五、风险提示
软件示例仅供测试,禁止用于实盘交易。量化交易存在风险,回测表现不代表未来收益,因使用本站信息造成的损失,本站不承担任何责任。
六、上一步:软件安装
如您尚未完成QMT软件的安装与Python库下载,请先阅读 《QMT软件安装教程》,完成软件部署后再进行策略开发。