3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT 平台的 deal_callback(账号成交状态变化主推函数)中,针对股票交易,应该使用 m_nOffsetFlag 来获取买卖方向。
根据 QMT API 官方文档的底层对象属性说明:
m_nDirection (EEntrustBS 类型):
m_nDirection 永远是 48(代表买入/多)。m_nOffsetFlag (EOffset_Flag_Type 类型):
对于股票交易,请通过判断 dealInfo.m_nOffsetFlag 的值来确定买卖方向:
dealInfo.m_nOffsetFlag == 48:股票买入dealInfo.m_nOffsetFlag == 49:股票卖出def init(ContextInfo):
# 设置对应的资金账号
ContextInfo.set_account('6000000058')
def handlebar(ContextInfo):
pass
def deal_callback(ContextInfo, dealInfo):
# 获取股票代码
stock_code = dealInfo.m_strInstrumentID
# 获取成交数量
volume = dealInfo.m_nVolume
# 获取成交价格
price = dealInfo.m_dPrice
# 判断买卖方向
if dealInfo.m_nOffsetFlag == 48:
direction = "买入"
elif dealInfo.m_nOffsetFlag == 49:
direction = "卖出"
else:
direction = "其他"
print(f"收到成交回报: {direction} {stock_code}, 数量: {volume}, 价格: {price}")
通过上述代码,您就可以在实盘或模拟交易中准确地捕获股票的买卖成交动作了。