返回列表 发布新帖

怎么指定价格交易?(期货)

148 3
发表于 2026-7-6 14:11:41 | 显示全部楼层 阅读模式

在passorder函数里面,passorder(0, 1101, ContextInfo.accID, ContextInfo.trade_code_list, 11, priceD, ContextInfo.order, 'TriBreaker', ContextInfo.quick, '100', ContextInfo)

这里的priceD,是我按照我的策略逻辑算出来的出现做多信号的点往上偏移一定程度的价格,因为实时下单产生滑点,所以我选择提前算出会触发交易的点,然后提前埋单进去。

但是,虽然我这里参数写了11,和指定价格。但结果不是埋单进去,而是直接在K线开盘价做多。但是我打印出来的priceD是我预先想要埋单的价格。

评论3

*******0075_L8T45楼主
发表于 2026-7-6 14:16:46 | 显示全部楼层
比如说,我现在开盘价是15122,那么我的埋多价格priceD就是 15122 + 15 = 15137;埋空价格就是 15122 - 15 = 15107;然后我的想法是在新K线形成之出,在这两个价位各埋一手多 一手空;然后实盘结果是,新K线刚形成,我在15122的位置锁仓了
*******0075_L8T45楼主
发表于 2026-7-6 14:38:46 | 显示全部楼层
我问了AI,他给的解释是这个

根本原因:价格“不可达”导致的自动转换 (Price Unreachability)
这是最核心的原因。当你发送一个 priceD(开盘价 + 15点)的限价单时,如果当前市场最优买一价(Bid Price)已经高于或等于 priceD,交易所的撮合引擎会执行**“向上撮合”**逻辑。

场景模拟:
假设开盘价为 $100$。你设置 `priceD = 115$ (即 $+15$ 点)。
然而,在这一秒,由于市场波动,买一价(Bid)已经变成了 $120$。
逻辑冲突: 你告诉系统“我愿意出 $115$ 买入”,但市场上有人正在以 $120$ 卖出。对于交易所来说,既然你愿意出 $115$,而现在市场上到处都是比 $115$ 更便宜(或更接近)的单子,它会为了让你成交,直接匹配当前最接近你指令的价格。
后果: 在很多柜台的逻辑里,如果你的限价单价格“优于”当前盘口价格(即比大家买得都高),系统会自动将其视为**市价单(Market Order)**处理,从而导致你在开盘瞬间以当时的市场价成交。
*******3230_GxmPa
发表于 2026-7-7 14:08:37 | 显示全部楼层
你的策略出了问题,对  passorder  的  prType=11  理解有误。

问题原因:
passorder  里  prType=11  是限价 / 指定价。限价单的语义是:
“我愿意以 不高于 这个价格买入。”
所以当你把  priceD  设成“信号点往上偏移一点的价格”(也就是比当前市场价更高)时,这张买单对交易所来说是立即可以成交的,它会以当前最优卖价/开盘价直接吃掉,而不是挂在那里等价格涨到  priceD  再成交。
因此你看到的结果是:下单直接以 K 线开盘价/当前对手价成交,而不是你填的  priceD  。

简单说:你想做的是“突破触发埋单”,但  prType=11  做的是“限价买入”,两者不是一回事。

解决方案:想做突破埋单,请改用  algo_passorder  +  UseTrigger  +  TriggerType=1  的触价条件单。 想要咨询更多可以添加微信:hmh119073

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2026 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表