🚀 AI 一键生成 qmt 策略代码

QMT 提示 get_history_trade_detail_data 未定义怎么办?

qmt | 发布时间: 2026/5/21
以下内容由 EasyQuant 生成。

问题描述

get_history_trade_detail_data api能用吗?提示没有定义

使用 get_history_trade_detail_data 时,MameError: 提示错误 name'get_history_trade_detail_data’is not defined

解决方案

在 QMT 平台中遇到 NameError: name 'get_history_trade_detail_data' is not defined 错误,是因为 QMT 官方 Python API 中并没有提供名为 get_history_trade_detail_data 的函数

如果您想获取交易明细数据(包括持仓、委托、成交、账号资金等信息),您应该使用 QMT 提供的正确 API:get_trade_detail_data

正确的 API:get_trade_detail_data

get_trade_detail_data 函数用于获取实盘或模拟交易中的各项明细数据。

用法

get_trade_detail_data(accountID, strAccountType, strDatatype, strategyName)
# 或不区分策略
get_trade_detail_data(accountID, strAccountType, strDatatype)

参数说明

  • accountID: string,资金账号。
  • strAccountType: string,账号类型。可选值:
    • 'FUTURE':期货
    • 'STOCK':股票
    • 'CREDIT':信用
    • 'HUGANGTONG':沪港通
    • 'SHENGANGTONG':深港通
    • 'STOCK_OPTION':期权
  • strDatatype: string,数据类型。可选值:
    • 'POSITION':持仓
    • 'ORDER':委托
    • 'DEAL' :成交
    • 'ACCOUNT':账号资金
    • 'TASK':任务
  • strategyName: string,(可选)策略名,对应 passorder 下单函数中的参数 strategyName 的值,只对委托 'ORDER'、成交 'DEAL' 起作用。

返回值

返回一个 list,列表中包含的是 Python 对象。可以通过 dir(obj) 查看对象的属性列表。

示例代码

以下是如何使用 get_trade_detail_data 获取可用资金、当前持仓和历史成交明细的示例:

def init(ContextInfo):
    # 设置资金账号
    ContextInfo.accid = '您的资金账号'

def handlebar(ContextInfo):
    # 1. 查询可用资金
    acct_info = get_trade_detail_data(ContextInfo.accid, 'stock', 'account')
    for i in acct_info:
        print(f"可用资金: {i.m_dAvailable}")

    # 2. 查询当前持仓
    position_info = get_trade_detail_data(ContextInfo.accid, 'stock', 'position')
    for i in position_info:
        print(f"持仓代码: {i.m_strInstrumentID}, 持仓数量: {i.m_nVolume}")
        
    # 3. 查询成交明细
    deal_info = get_trade_detail_data(ContextInfo.accid, 'stock', 'deal')
    for i in deal_info:
        print(f"成交代码: {i.m_strInstrumentID}, 成交均价: {i.m_dPrice}, 成交数量: {i.m_nVolume}, 成交时间: {i.m_strTradeTime}")

总结

请将您代码中的 get_history_trade_detail_data 替换为 get_trade_detail_data,并根据需要传入 'ORDER''DEAL' 参数来获取委托或成交的历史明细记录。