↗
TENSORPARADIGMNEURAL MARKET INTELLIGENCE
TENSORPARADIGM 研究 / 订单执行 / 成本与错失交易

交易机器人用市价单还是限价单?更低手续费真的能提高收益吗?

让相同的五个交易决策分别采用市价和被动限价入场,核对手续费、排队假设、部分成交、错失的盈利与避开的亏损。

直接回答

更低的挂单手续费可以降低某一笔成交的成本,却不能证明被动下单政策改善了整个策略。它可能成交更少、错过盈利信号,或恰好在市场转向不利之前成交。对五个刻意设计的BTC/USDT情形进行实际计算后,被动入场亏损16.48590 USDT,即时市价入场亏损22.98900。6.50310的差额由匹配入场量的手续费节省2.00060、匹配价格改善1.00000,以及未建立持仓的贡献3.50250组成。两种政策都亏钱。这是基于明确披露的假设事件流计算的模型结果,不是历史交易所成交,也不是实盘盈利证据。

这项比较说明什么

  • 限价单也可能以吃单方式成交;只挂单指令增加的是另一种订单接受条件。
  • 比较同一组符合条件的决策与资本,并纳入未成交订单,而不是只比较已完成交易。
  • 价格触及限价,不代表排在已有队列后面的订单一定成交。
  • 区分匹配数量上的手续费节省,与敞口变化和未参与机会的影响。
  • 实际结果确认前,撤单只是请求;延迟确认的成交仍然构成真实持仓。

限价并不保证挂单成交

可立即成交的买入限价单,可以马上吃掉现有卖单;留在订单簿上的限价单,则可能之后提供流动性。同一订单也可能包含这两类成交,因此费率应对应每笔执行,而不只是提交时的订单名称。Coinbase明确说明了这种拆分。Binance的LIMIT_MAKER指令则会拒绝立即以吃单方式交易的订单。拒单避免了那次执行,却不会免费提供想要的成交价。[1] [2]

限价约束允许的执行价格,不约束入场后的收益,也不保证成交概率。市价单同样无法在所有交易所状态下保证特定价格或全部成交。我们的问题是,哪种完整执行政策适合交易规则,而不是哪个订单名称听起来更便宜。Cont和Kukanov的订单投放研究把费率、队列、订单流与执行风险放在一起分析,其结果不为本BTC例子提供通用规则。[7]

比较入场前,先固定信号和退出政策

我们在计算结果之前规定了两种政策与五个互不重叠的合成BTC/USDT现货情形。案例是为展示机制而设计,不是用于估计发生频率的随机样本。两种政策收到相同的五次买入决策,间隔60,000毫秒,各以10,000 USDT开始,每个情形目标为0.02 BTC。订单到达时买价49,990、卖价50,010。市价政策按卖价买入完整目标量;被动政策停留在买价,不补足也不追价。

构造比较固定的是完整政策,不只是费率
项目固定假设
时钟0 ms决策;10 ms到达;60,000 ms后开始下一情形
入场目标0.02 BTC;市价购买在手续费前花费1,000.20 USDT;留足现金
被动入场49,990只挂单;基准队列前方0.03 BTC;不改价、不用市价补足
撤单500 ms请求;650 ms生效;700 ms前全部成交与最终状态已知
退出在共同10,000-ms买价卖出已确认库存;不存在剩余入场挂单
手续费假设maker 0.02%、taker 0.10%,均以USDT收费;所有退出为taker
选择边界五个设计案例与四个队列假设;无市场数据评估,也未选出盈利参数

两者都在情形的10,000毫秒时,以预定买价卖出自己实际持有的数量。未成交的入场保留现金。账户承接此前所有结果;没有入金、借贷、资金费,也不让固定目标量随收益复利变化。假设数量与价格符合虚构过滤规则,每次模拟市价执行都有足够的可见流动性。事件流是外生的:两种政策都不影响后续价格、订单流和他人的行为。因此不能用它主张真实市场冲击或容量。

计算队列,而不是看到K线最低价就赋予成交

模型在一个价位采用简单的先到先得队列。符合条件的主动卖出量先消耗前方数量,再到达我们的订单。不因前方其他订单撤单而给予队列改善,并假设不存在隐藏量。这些是模型选择,不是从真实交易所推断的事实。Coinbase公布的撮合规则说明时间与可见性优先级为何重要,同时也包含本简化模型省略的冰山单优先级等细节。[3]

合成事件流:撤单生效前可在被动买价执行的卖出量
情形卖出流与时点被动成交数量共同退出买价USDT
A:错失盈利200 ms时0.015 BTC0.000 BTC50,500
B:成交后亏损100 ms时0.060 BTC0.020 BTC49,500
C:部分盈利200 ms时0.040 BTC0.010 BTC50,200
D:撤单竞态550 ms时0.050 BTC0.020 BTC49,700
E:避开亏损650 ms前没有符合条件流量0.000 BTC49,500

在情形C中,200 ms时有0.040 BTC可执行卖出流。消耗前方0.030 BTC后,0.020目标量中只有0.010 BTC成交,剩余0.010被撤销。K线最低价49,990无法揭示这个数量。聚合成交数据本身,也不能精确说明哪些撤单位于我们之前。可信的历史重建需要事件顺序与有依据的排队假设。

情形E在撤单前没有符合条件的卖出流,价格只在撤单生效后才下降。情形D中,卖出流在550 ms到达,晚于撤单请求,却早于撤单生效。完整的0.020 BTC成交,并在共同退出之前得到确认。因此,发出撤单请求的时间不能等同于订单不再存在的时间。

手续费低,被动政策仍然可能亏损

实际执行的十进制计算对每笔成交只收费一次,并在各情形间承接现金与库存。市价入场在五次决策中共买入0.100 BTC,被动入场买入0.050 BTC。被动订单参与率为3/5,即60%,因为两笔全部成交、一笔部分成交;数量成交率则为0.050/0.100,即50%。只报告三笔成交订单,就会把错失的机会移出比较。

各情形净结果,USDT;相同决策与实际模型数量
情形市价净值被动净值被动减市价
A+7.789800.00000−7.78980
B−12.19020−10.98996+1.20024
C+1.79580+1.49802−0.29778
D−8.19420−6.99396+1.20024
E−12.190200.00000+12.19020
合计−22.98900−16.48590+6.50310

市价的毛价格盈亏为−13.00000 USDT,手续费9.98900,净结果−22.98900。被动毛盈亏为−13.50000,手续费2.98590,净结果−16.48590。期末权益分别为9,977.01100和9,983.51410,对共同初始资本的收益率为−0.229890%与−0.164859%。被动只交易一半数量,手续费更低,但毛结果略差。这些设计案例不能建立预期收益、回撤分布或统计优势。不交易的现金基准在本无利息练习中收益为零,因此高于两者;这是会计比较,不是对底层市场策略的发现。

差额中只有一部分来自手续费节省

先把被动实际买入的0.050 BTC,与同一情形中市价政策的相同数量匹配,并采用相同退出。按49,990而不是50,010买入,使匹配数量的毛价格结果改善1.00000 USDT。入场手续费节省为0.050 × (50,010 × 0.001 − 49,990 × 0.0002) = 2.00060。数量、退出价和吃单费率相同,因此匹配比较中的退出手续费相抵。

剩余差额来自没有建立的敞口。市价政策中对应缺失数量,在A本会赚+7.78980,在C未成交的一半本会赚+0.89790,在E则会亏12.19020。合计净结果为−3.50250,因此不建立这些持仓给被动相对结果贡献+3.50250。我们没有事先识别该跳过哪些信号;这是计算后的会计拆分,不是建议的盈利过滤器。

被动减市价净结果的精确核对,USDT
组成贡献
匹配数量的入场手续费节省+2.00060
匹配数量的入场价格改善+1.00000
错失的盈利A−7.78980
错失C盈利的一半−0.89790
避开的亏损E+12.19020
合计+6.50310

总手续费减少7.00310,比匹配入场节省更大,是因为被动交易更少、退出手续费也更少。将全部下降称为更优执行,会把较少交易与更低成本执行同样敞口混为一谈。实际成交价已包含买卖价差,不要再扣一次价差估计。真实手续费资产、折扣与额外收费必须与账户核对。Binance的佣金文档解释了为什么有效收费并不总是一个公布的maker/taker费率。[4]

更好的入场价可能伴随不利信息

B和D显示被动买方先获得库存,随后以更低价格退出。较低入场价和费用相对即时市价入场有帮助,却没有让持仓盈利。这说明逆向选择风险:能够触及被动买单的事件,可能与之后较差的价格有关。五个刻意选择的情形不估计这种关系或其因果强度。在真实数据上,应将成交后的价格变化与成交概率一起研究,并保留未成交信号。

在D中,若系统将500-ms撤单请求视为成功,就会记为没有入场,实际0.020 BTC却在550 ms成交。正确账户必须包含−6.99396 USDT结果。Binance说明撤单传输期间仍可成交,用户数据报告也提供执行数量和订单状态。[5] [6] 应使用持久化决策记录,核对订单与持仓,并在状态未知时阻止盲目重试。客户端订单标识有助于识别订单,但它本身不是完整的应用级防重复设计。

队列假设的影响,比取消maker费更大

我们保持价格、流量、政策和费率不变,把前方数量分别设为0、0.01、0.03和0.05 BTC,重算同样五个情形。被动结果不随队列长度单调变化。短队列抓住更多设计中的盈利机会,但部分成交也属于亏损情形。最长队列只有0.010 BTC成交,因此较小亏损部分来自不交易;这不证明排在更差位置反而有优势。

相同构造流上的已执行队列敏感性;不是校准过的成交概率
前方BTC被动入场BTC被动净盈亏USDT
0.000.075−8.24535
0.010.065−12.74037
0.030.050−16.48590
0.050.010−5.49498

在基准0.03-BTC队列下,将maker费降至零,被动净盈亏也仅从−16.48590改善至−15.98600。取消该费用节省0.49990,结果仍亏损。这项敏感性固定成交;真实费率或订单大小变化,可能改变行为与流动性。我们报告全部预定队列情形,而不是把表现最好的一个选作优化政策。

尚未结束的持仓仍属于账户权益

在E的9,000 ms,距计划的10,000-ms退出还有时间,假设可用买价已为49,500。市价账户持有0.020 BTC与8,988.00100 USDT现金。库存市值990.00000,因此权益9,978.00100。此时被动账户空仓,现金9,983.51410。删除市价账户的未平仓持仓会低估权益;只展示已平仓利润,则会漏掉当前价格亏损。

计划中的市价卖出再收取0.99000费用,将此前市值权益衔接至最终9,977.01100。退出前的估值不是已执行清算结果。我们提供离散成交与终点记录,没有完整的情形内估值序列,因此不报告最大回撤或时间加权敞口。总成交周转名义金额,市价为9,989.00000 USDT,被动为4,985.50000。前瞻测试指南详细说明现金与库存审计。

真实比较需要记录什么

评估前固定符合条件的信号集、到达时刻约定、价格、订单存续时间、部分成交处理、后备动作及退出规则。先等待再跨价差成交,是第三种候选政策,不是这里测试的被动政策;应另外规定规则和成本记录。入场执行也应与紧急降低风险分开:未成交退出的机会成本,可能与可选入场大不相同。

历史研究需要足够深度、带时间戳的订单簿与成交事件,检查序列缺口,并论证队列、延迟、撤单效应与冲击假设。采样报价或K线本身无法确定反事实成交。前瞻试运行应保留每个符合条件的意图、提交、拒单、部分成交、撤单与最终持仓。声明费率及收费资产,再以适合依赖结构的不确定性方法比较全账户净结果。优势还是运气研究解释为什么许多相关成交不等于许多独立检验。

ChatGPT或Claude可以辅助明确这些问题;Codex或Claude Code可以辅助审计事件逻辑与算术。本研究使用AI协助和对构造事件流实际执行的十进制计算,没有比较不同模型产品,也没有连接真实资金账户。应要求协作者保留未解决事件,而不是编造有利成交。

四项边界明确的审计指令
明确:固定信号资格、到达时刻、价格、存续时间、部分成交处理、撤单、后备动作及退出规则。指出缺少的决策。
实现:保留获批政策与完整事件顺序;不要仅因K线触及限价就赋予成交。
核对:跟踪现金、库存、手续费和未解决订单。区分撤单请求与已确认的生效。
报告:保留全部符合条件信号,将匹配成交的价格/费用效应与错失或避开的持仓分开。区分观测成交和模拟的反事实结果。

选择执行政策,而不是费率表里最低的一行

在这条构造事件流上,被动政策亏得更少,但6.50310 USDT相对改善中,只有2.00060是匹配入场手续费节省。错过盈利有代价,避开亏损有帮助;队列和撤单假设决定最终持有什么库存。低手续费解决不了这些问题。

对真实机器人,合理的下一步,是在自己的符合条件决策上进行带版本记录的执行比较,以有依据的成交与账户核对支撑。有效政策必须同时满足执行紧迫性、资本、风险约束和成本后经济性。本结果说明如何核算差异,而不是哪种订单类型会让未来系统盈利。

10 / DUE DILIGENCE

声称被动订单改善机器人之前

  1. 使用相同的符合条件决策、初始资本和退出政策。
  2. 明确只挂单行为、到达时刻、存续时间、后备动作与部分成交处理。
  3. 披露队列假设,保留未成交和拒绝订单。
  4. 采用真实收费资产,区分maker/taker成交与订单名称。
  5. 计算业绩前核对现金、库存及撤单竞态。
  6. 将匹配数量的价格和费用效应与未建立敞口分开。
  7. 报告全部预定敏感性,不挑选最优队列假设。
  8. 区分构造模型输出、历史重建和真实前瞻执行。
FAQ / DIRECT ANSWERS

关于市价单与限价单的直接回答

限价单一定收maker手续费吗?

不一定。可立即成交的限价单可以吃单,同一订单也可能包含不同执行类型。只挂单改变的是接受条件:会吃掉流动性的订单可能被拒绝。应核实交易所与账户规则,而不是按订单名称指定收费。

K线碰到我的限价,回测就应该成交吗?

不能自动成交。前方队列可能在订单获得任何数量前消耗掉符合条件的流量。K线不提供推断成交所需的事件顺序、排队位置或撤单历史。

为什么不只比较已成交订单的平均利润?

这会删除政策错失的机会。本例中,被动入场错失一个盈利信号,避开一个亏损信号,又只成交另一个盈利的一部分。采用全部符合条件决策的全账户结果,才能保留这些差异。

发出撤单请求后,订单仍可能成交吗?

会,在撤单实际生效前仍可能成交。构造竞态中,500-ms请求之后、650-ms撤单生效之前,550 ms发生了成交。发出替代订单或退出前,应核实最终订单状态和真实库存。

maker费为零,会让被动政策盈利吗?

基准构造流上不会。保持成交不变,取消maker费用让净结果从−16.48590改善为−15.98600 USDT。这是条件敏感性,不是真实费率变化的预测。

本文证明限价单优于市价单了吗?

它显示一个明确建模的被动政策在五个设计情形上亏得更少,不估计这些情形的频率、真实交易所成交、统计优势或未来盈利。被展示的是会计拆分及其对执行假设的敏感性。

方法与一手参考资料

这项AI辅助确定性研究采用五个设计的BTC/USDT现货情形,于2026年10月26日执行十进制计算。上文披露两种入场政策、共同退出、合成队列流量和费用假设,并报告全部四种预定队列情形。内部记录核对现金、库存、费用、机会效应和撤单竞态。没有使用历史订单簿、观测到的交易所成交、校准成交概率或实盘收益。官方文档和原创研究支持所引机制,不支持本例价格、费率或盈利主张。

  1. Binance现货REST API:市价、限价及LIMIT_MAKER订单
  2. Coinbase:订单类型与限价成交的maker/taker处理
  3. Coinbase Markets交易规则:撮合与价格、可见性、时间优先
  4. Binance现货API:佣金费率与收费资产
  5. Binance现货API:用户数据成交报告
  6. Binance:订单状态与撤单期间成交
  7. Cont与Kukanov:Optimal order placement in limit order markets

基于构造事件流的教育性比较。模型成交依赖声明的队列、时序、流动性和冲击假设。低费率与限价不能证明执行盈利,也不能确定账户最大损失。