xtquant 快速入门指南(0527整理版)

PTD 阅读:42 2025-05-27 17:11:38 评论:0

XTTrader 快速入门指南(完整整理版)

━━━━━━━━━━━━━━━━━━━━
【系统准备】

  1. 安装并运行miniQMT终端,保持登录状态
  2. 确认券商已开通miniQMT交易权限
    ▶ 未开通用户请通过本站推荐券商申请

━━━━━━━━━━━━━━━━━━━━
【交易连接代码模板】
#coding:utf-8
import time, datetime, traceback, sys
from xtquant import xtdata, xtconstant
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount

基础配置

path = r’D:\QMT\userdata_mini’ # 用户数据目录
session_id = int(time.time()) # 唯一会话ID
xt_trader = XtQuantTrader(path, session_id)

账号配置

acc = StockAccount(‘55004299’, ‘STOCK’) # 替换实际资金账号
callback = MyXtQuantTraderCallback() # 需自定义回调类
xt_trader.register_callback(callback)

启动连接流程

xt_trader.start()
connect_result = xt_trader.connect()
print(‘连接状态(0=成功):’, connect_result)

订阅交易推送

subscribe_result = xt_trader.subscribe(acc)
print(‘订阅状态(0=成功):’, subscribe_result)

━━━━━━━━━━━━━━━━━━━━
【核心参数定义】
◆ 委托方向:
买入 = xtconstant.STOCK_BUY
卖出 = xtconstant.STOCK_SELL

◆ 报价类型:
● 基础类型
- 最新价:xtconstant.LATEST_PRICE
- 指定价:xtconstant.FIX_PRICE

● 市价类型(按交易所)
┌──────────────┬────────────────────────────────────────────┐
│ 上交所/北交所 │ MARKET_SH_CONVERT_5_CANCEL(最优五档撤余)│
│ │ MARKET_SH_CONVERT_5_LIMIT (五档转限价) │
│ │ MARKET_PEER_PRICE_FIRST (对手方最优) │
│ │ MARKET_MINE_PRICE_FIRST (本方最优) │
├──────────────┼────────────────────────────────────────────┤
│ 深交所 │ MARKET_SZ_INSTBUSI_RESTCANCEL(即时剩撤) │
│ │ MARKET_SZ_CONVERT_5_CANCEL (五档撤余) │
│ │ MARKET_SZ_FULL_OR_CANCEL (全额成撤) │
└──────────────┴────────────────────────────────────────────┘

━━━━━━━━━━━━━━━━━━━━
【订单操作接口】
◆ 同步报单
order_id = xt_trader.order_stock(
account=acc,
stock_code=’600000.SH’, # 需带交易所后缀
order_type=xtconstant.STOCK_BUY, # 买卖方向
order_volume=1000, # 数量(股票:股/债券:张)
price_type=xtconstant.FIX_PRICE, # 报价类型选择
price=10.5, # ★ 市价委托时必须设置保护价
strategy_name=’strategy1’, # 策略标识(自定义)
order_remark=’备注信息’ # 最多20字符
)
▶ 返回值:成功返回>0订单号,-1表示失败

◆ 异步报单
seq = xt_trader.order_stock_async(…) # 参数与同步接口完全一致
▶ 通过实现on_order_stock_async_response回调接收结果

◆ 撤单操作

  • 同步撤单:cancel_order_stock(acc, order_id) → 返回0(成功)/-1(失败)
  • 异步撤单:cancel_order_stock_async(acc, order_id) → 返回seq(追踪号)/-1

━━━━━━━━━━━━━━━━━━━━
【市价委托强制规则】

  1. 必须设置price参数作为保护价,否则报单无效
  2. 保护价设置规范:
    ● 波动范围:±20%基准价内
    ● 推荐设置方法:
    (1) 基准价±0.10元(如买入基准价10元→设置10.1元)
    (2) 最近K线最低价(买入)/最高价(卖出)
  3. 错误示例:
    order_stock(…, price_type=市价类型, price=0) → 会触发废单

━━━━━━━━━━━━━━━━━━━━
【关键注意事项】

  1. 回调类必须实现:
    class MyXtQuantTraderCallback(XtQuantTraderCallback):
    def on_order_stock_async_response(self, response):
    print(“异步订单反馈:”, response)

  2. Session_ID规则:
    ● 使用时间戳生成:int(time.time())
    ● 同一ID同时运行会导致策略冲突

  3. 单位规范:
    ● A股交易按”股”计算(1手=100股需转换为10000股)
    ● 债券交易按”张”计算(1手=10张需转换为100张)

本文由 海星量化研究所 作者提供,转载请保留链接和署名!网址:https://qmt.hxquant.com/?id=37

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫码开通QMT/ptrade