現在開始進行策略的交易買賣分析:
還是之前的步驟,打開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中進行最為簡單的交易了。希望本文可以幫助你!
歡迎大家和我交流溝通,學習使用量化交易方法。