QMT平台专用技能。触发词:QMT、实盘、QMT策略、QMT回测、QMT开发。提供API规范、核心函数、止损监控、实盘注意事项。用于量化策略开发。
QMT平台开发技能
功能概述
QMT平台开发技能是一项面向实际任务的技能,主要用于版本:1.0.0;适用平台:迅投QMT量化交易平台;
核心要点
- 🎯 核心函数机制;
- QMT标准函数;
- init();
使用与执行
策略启动时;加载信号、设置参数、设置股票池;handlebar();主要逻辑,买入/卖出/止损;2. ⚠️ 重要:is_last_bar() 机制;is_last_bar() 返回值;每根K线都返回True;✅ 每天检查;
结果检查与注意事项
只在特定时刻返回True。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
QMT平台开发技能
版本:1.0.0 适用平台:迅投QMT量化交易平台
🎯 核心函数机制
1. QMT标准函数
| 函数 | 用途 | 触发时机 | 说明 |
|---|---|---|---|
init() |
初始化 | 策略启动时 | 加载信号、设置参数、设置股票池 |
handlebar() |
K线处理 | 每根K线 | 主要逻辑,买入/卖出/止损 |
2. ⚠️ 重要:is_last_bar() 机制
| 场景 | is_last_bar() 返回值 | 止损检查 |
|---|---|---|
| 回测 | 每根K线都返回True | ✅ 每天检查 |
| 实盘 | 只在特定时刻返回True | ❌ 盘中可能不检查 |
关键理解:
- 回测时,每根K线都是"最后一根",所以
is_last_bar()都返回True - 实盘时,
is_last_bar()只在特定时刻返回True(可能是收盘时)
结论:
- ❌ 不要用
is_last_bar()控制止损/止盈检查 - ✅ 用时间判断控制检查频率
📋 止损监控方式
方式1:时间判断(推荐)
def handlebar(ContextInfo):
"""每根K线都会触发"""
# 止损监控(每5分钟检查一次)
now = datetime.now()
if G.last_check_time:
elapsed = (now - G.last_check_time).total_seconds() / 60
if elapsed >= 5: # 每5分钟检查
check_stop_loss(ContextInfo)
G.last_check_time = now
# 买入逻辑(可以保留is_last_bar()限制)
if not ContextInfo.is_last_bar():
return
# 买入逻辑...
方式2:bar_count判断
def handlebar(ContextInfo):
"""每根K线都会触发"""
# 每5根K线检查一次止损
if ContextInfo.bar_count % 5 == 0:
check_stop_loss(ContextInfo)
🚀 代码模板
完整策略模板
# 全局状态对象
class GlobalState:
pass
G = GlobalState()
def init(ContextInfo):
"""初始化"""
# 全局状态
G.waiting_list = []
G.sent_orders = set()
G.buy_prices = {} # 记录买入价格
G.last_check_time = None
# 加载信号
with open('trading_signals/alphagbm_signals_qmt.json') as f:
data = json.load(f)
G.signals = [s['code'] for s in data['signals']]
# 设置股票池
ContextInfo.set_universe(G.signals)
def handlebar(ContextInfo):
"""每根K线触发"""
# 1. 止损监控(每5分钟)
now = datetime.now()
if G.last_check_time:
elapsed = (now - G.last_check_time).total_seconds() / 60
if elapsed >= 5:
check_stop_loss(ContextInfo)
G.last_check_time = now
# 2. 检查waiting_list
if check_waiting_orders(ContextInfo):
return
# 3. 买入逻辑(只在最后一根K线)
if not ContextInfo.is_last_bar():
return
# 买入...
⚠️ 实盘注意事项
1. passorder的prType参数
# ❌ 错误 passorder(23, 1101, accID, code, -1, ...) # prType=-1(价格不可控) # ✅ 正确 passorder(23, 1101, accID, code, 14, ...) # prType=14(对手价)
2. waiting_list防重机制
# 初始化
G.waiting_list = []
G.sent_orders = set()
# 买入时记录
if code not in G.sent_orders:
passorder(...)
G.sent_orders.add(code)
G.waiting_list.append(msg)
# 检查waiting_list
def check_waiting_orders(ContextInfo):
for msg in G.waiting_list[:]:
order_result = get_trade_detail_data(...)
if order_result:
G.waiting_list.remove(msg)
3. 风控设置
QMT层面:
- 金额合规(限制资金上限)
- 反向单交易(禁止买入后立即卖出)
- 对敲单交易(禁止高买低卖)
代码层面:
- 硬编码资金限制
- 止损止盈逻辑
- 异常处理
🚫 禁止事项
- ❌ 使用
is_last_bar()控制止损检查 - ❌ 使用prType=-1
- ❌ 没有waiting_list防重机制
- ❌ 没有止损止盈逻辑
📚 参考文档
- QMT官方示例(双均线实盘、竞价选股、行业轮动、多因子选股)
- QMT API文档
- QMT_STRATEGY_DEVELOPMENT_STANDARDS.md
技能版本:1.0.0
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章