跳转到主要内容

创建新订单。

POST 

/order

下订单

此端点用于下订单。请参阅下方各字段以获取其用法的更多详情。

订单类型

所有订单都需要 symbol。除非另有说明,其他字段都是可选的。

有效的 ordType 包括:

  • Limit:默认订单类型。需指定 orderQtyprice
  • Market:传统市价单。市价单会一直执行,直到全部成交或达到您的破产价格,此时将被取消。
  • Stop:止损市价单。需指定 orderQtystopPx。当达到 stopPx 时,订单将被挂入盘口。
    • 对于卖单,如果触发价格低于 stopPx,则触发订单;对于买单则相反。
    • 注意:止损单在触发前不会占用保证金。请确保您的账户中有足够保证金,以便订单可以被完全触发。
    • Close 止损单不需要 orderQty。详见下方“执行指令”。
  • StopLimit:类似止损市价单,但触发后挂出的是限价单而不是市价单。需指定 orderQtystopPxprice
  • MarketIfTouched:类似止损单,但触发方向相反。适用于止盈市价单。
  • LimitIfTouched:同上,用于止盈限价单。
  • Pegged:盯盘订单允许用户按相对于当前市场价格的限价提交订单。需指定 pegPriceTypepegOffsetValue
    • 盯盘订单必须execInst 设为 Fixed。这意味着限价在订单被接受时确定,此后不会随参考价格变化而改变。
    • PrimaryPeg:价格相对于近端价格设定。
    • MarketPeg:价格相对于远端价格设定。
    • 仅提交了 pegPriceType 而未指定 ordType 时,将被视为 Pegged 订单。

执行指令

支持以下 execInst。如需使用多个,请用逗号分隔(例如 LastPrice,Close)。

  • ParticipateDoNotInitiate:也称“仅限挂单”(Post-Only)订单。如果该订单在下单时会立即成交,则会被取消。其目的是在订单传输过程中防止远端报价朝着对您不利的方向移动。并非用于投机远端报价在提交后远离——我们认为此类行为具有滥用性质并会进行监控。
  • MarkPrice、LastPrice、IndexPrice:供止损单和触价单确定触发价格使用。只能三者择一。默认使用 MarkPrice。它们也用于盯盘订单以定义 LastPeg 的参考价格。IndexPrice 不适用于现货交易合约符号。
  • ReduceOnlyReduceOnly 订单只能减少您的仓位,不能增加。如果您有一个 ReduceOnly 限价单挂在订单簿上,同时仓位因其他订单被减仓,则该限价单的数量会被下调或取消。如果存在多个 ReduceOnly 订单,将优先修改最不激进的那一个。不适用于现货交易合约符号。
  • CloseClose 意味着 ReduceOnly。当未平仓数量超过当前仓位时,Close 订单会取消同一合约、同一方向的其他挂单。这对于止损非常有用:通过取消这些订单,可确保 Close 止损拥有足够保证金执行,且只能在不超过当前仓位规模的前提下执行。如果未指定 orderQtyClose 订单的 orderQty 等于当前持仓规模。不适用于现货交易合约符号。
    • 请注意,不带 orderQtyClose 订单需要指定 side,以便 BitMEX 判断应在 stopPx 之上还是之下触发。
  • LastWithinMark:与 LastPrice 搭配使用的止损指令,只在下述情况下允许触发:
    • 卖出止损市价 / 止损限价单:
      • 最新成交价 ≤ 止损价
      • 最新成交价 ≥ 标记价格 × (1 - 5%)
    • 买入止损市价 / 止损限价单:
      • 最新成交价 ≥ 止损价
      • 最新成交价 ≤ 标记价格 × (1 + 5%)
    • 不适用于现货交易合约符号。
  • Fixed:盯盘订单必须execInst 设为 Fixed。这意味着限价在订单被接受时设定,此后不会随参考价格变化而改变。

盯盘订单

盯盘订单允许用户按相对于当前市场价格的限价提交订单。限价在订单提交时设定一次,此后不会随参考价格变化而改变。此订单类型并非用于在提交后利用远端报价向外移动进行投机——我们认为此类行为具有滥用性质并会进行监控。

盯盘订单的 ordTypePeggedexecInstFixed

还必须同时提交 pegPriceTypepegOffsetValue

  • PrimaryPeg:价格相对于近端价格设定
  • MarketPeg:价格相对于远端价格设定

追踪止损盯盘订单

使用 pegPriceTypeTrailingStopPeg 可创建追踪止损。

价格在提交时设定,且当标的价格(最新成交价 / 标记价格 / 指数价格)变动超过 0.1% 时,每秒更新一次。随后,stopPx 会在市场远离盯盘价时跟随移动,在市场朝着盯盘价移动时保持不变。

使用 pegOffsetValue 设定订单的 stopPx。盯盘价被设定为 execInst 中指定的触发价格(默认 MarkPrice)。对于止损卖单和买入触价单,请使用负偏移值。

需要的 ordTypeStopStopLimitMarketIfTouchedLimitIfTouched

关联订单

关联订单是一项高级功能,非常强大,但使用时需要仔细编码和测试。请认真阅读本文档,并在开发时使用 Testnet 交易所

BitMEX 提供四种高级关联订单类型:

  • OCOOne Cancels the Other,一撤另一。是标准止损 / 止盈技术的高度灵活版本。可以使用单个 clOrdLinkID 将多个订单关联在一起。在订单上发送 contingencyTypeOneCancelsTheOther。首个全部或部分成交的订单(或对于 Stop 订单被激活的订单)会取消所有具有相同 clOrdLinkID 的其他订单。
  • OTOOne Triggers the Other,一触发另一。在主订单上发送 contingencyTypeOneTriggersTheOther,随后具有相同 clOrdLinkID 的订单在主订单完全成交前都不会被触发。

追踪止损

您可以使用 pegPriceTypeTrailingStopPeg 创建追踪止损。被盯的 stopPx 会在市场远离盯盘价时移动,在市场朝着盯盘价移动时保持不变。

使用 pegOffsetValue 设定订单的 stopPx。盯盘价根据 execInst 中指定的触发价格设定(默认 MarkPrice)。对于止损卖单和买入触价单,请使用负偏移值。

需要的 ordTypeStopStopLimitMarketIfTouchedLimitIfTouched

简单数量

Simple Quantities 自 2018/10/26 起已弃用

速率限制

您可以通过使用 Amend 端点(PUT /order)在保持低于速率限制的同时提高对市场波动的响应速度。这允许您保持挂单在市场中,避免频繁“撤单/重下”的循环。

跟踪您的订单

如果您希望自行跟踪订单 ID,请为每个订单设置一个唯一的 clOrdID。该 clOrdID 会作为订单及任何相关成交(包括 WebSocket 推送)上的属性返回,可用于查询或取消订单。最大长度为 36 个字符。

您也可以通过修改订单来更改 clOrdID:提供 origClOrdID,并在 clOrdID 参数中提交新的 ID,如下所示:

# 修改订单的 leavesQty,并将其 clOrdID 更新为 "def-456"
PUT /api/v1/order {"origClOrdID": "abc-123", "clOrdID": "def-456", "leavesQty": 1000}

请求

响应

请求成功