3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT 平台中进行港股通(沪港通/深港通)交易时,passorder 函数的参数设置与 A 股有所不同,特别是 prType(价格类型)参数。港交所对订单类型有严格的规定。
prType(价格类型)根据 QMT API 文档的底层枚举定义,港股通有专属的价格类型代码:
92:港股通竞价限价(At-auction Limit Order)93:港股通增强限价(Enhanced Limit Order)94:港股通零股限价(Special Limit Order for Odd Lots)prType 选择你提到盘中使用了 11(指定价/模型价)能够成交,这可能是因为券商柜台或 QMT 底层做了一定的兼容转换。但为了确保交易的稳定性和合规性,强烈建议按照港交所的规则使用专属的 prType:
93(增强限价)92(竞价限价)11 或 93,极大概率会被交易所拒单(废单)。94(零股限价)为了让你的策略在全时段都能稳定运行,建议在代码中加入时间判断,动态传入 prType:
import datetime
def handlebar(ContextInfo):
# 获取当前时间
now_time = datetime.datetime.now().strftime('%H%M')
# 判断交易时段以确定 prType
if ('0900' <= now_time <= '0920') or ('1600' <= now_time <= '1610'):
# 集合竞价阶段:使用竞价限价
pr_type = 92
else:
# 盘中持续交易阶段:使用增强限价
pr_type = 93
# 港股通卖出 opType 为 24 (买入为 23)
passorder(
24, # opType: 24=港股通卖出
1101, # orderType: 单股单账号普通
ContextInfo.account_id,
'00700.HK', # 注意:港股通后缀通常为 .HK,具体请参考 QMT 市场代码表
pr_type, # 动态传入的价格类型
order_price, # 委托价格
amount, # 委托数量
'HGT_Sell_Strategy',# strategyName
2, # quickTrade
req_id, # userOrderId
ContextInfo
)
总结:盘中请改用 93,开盘和收盘集合竞价阶段必须使用 92。