现在开始进行策略的交易买卖分析:
还是之前的步骤,打开qmt,选择独立交易,
之后使用pycharm,编写py文件
导入包:
import time, datetime, traceback, sys
from xtquant import xtdata
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount
from xtquant import xtconstant
进行账户链接:
# miniQMT安装路径
path = r'C:\国金QMT交易端模拟\userdata_mini'
# QMT账号
account = '55003243'
# 取账号信息
session_id = int(time.time())
xt_trader = XtQuantTrader(path, session_id)
acc = StockAccount(account, 'STOCK')
# 启动交易线程
xt_trader.start()
# 建立交易连接,返回0表示连接成功
connect_result = xt_trader.connect()
print('建立交易连接,返回0表示连接成功', connect_result)
# 对交易回调进行订阅,订阅后可以收到交易主推,返回0表示订阅成功
subscribe_result = xt_trader.subscribe(acc)
print('对交易回调进行订阅,订阅后可以收到交易主推,返回0表示订阅成功', subscribe_result)
连接成功显示效果:

确认股票后,下单购买:
核心四点:
代码,价格,数量,方向
我们下单一个数据:
买入浦发银行100股,对手方最优价格委托下单
# 买入 浦发银行 最新价 两万元
stock = '600000.SH'
# 买入数量 取整为100的整数倍
buy_vol = 100
async_seq = xt_trader.order_stock_async(acc, stock, xtconstant.STOCK_BUY, buy_vol, xtconstant.MARKET_PEER_PRICE_FIRST,0,'strategy_name', stock)
卖出浦发银行100股,最新价下单
# 卖出 100股
stock = '600000.SH'
# 目标数量
target_vol = 100
# 可用数量
available_vol = position_available_dict[stock] if stock in position_available_dict else 0
# 卖出量取目标量与可用量中较小的
sell_vol = min(target_vol, available_vol)
print(f"{stock} 目标卖出量 {target_vol} 可用数量 {available_vol} 卖出 {sell_vol}股")
if sell_vol > 0:
async_seq = xt_trader.order_stock_async(acc, stock, xtconstant.STOCK_SELL, sell_vol, xtconstant.LATEST_PRICE,-1,'strategy_name', stock)
线程处理:
# 阻塞主线程退出
xt_trader.run_forever()
总结:
通过本文的学习,相信你已经掌握如何在QMT中进行最为简单的交易了。希望本文可以帮助你!
欢迎大家和我交流沟通,学习使用量化交易方法。