跳转到主要内容

创建新订单

POST 

/api/v2/order

下单

此端点用于下单。有关各字段的详细用法,请参见下文。

订单类型

所有订单都需要一个 symbol。除非另有说明,其余字段均为可选。

以下是有效的 ordType

  • Limit:默认订单类型。指定 orderQtyprice
  • Market:传统的市价单。市价单将持续成交,直到完全成交或达到您的破产价格,此时将被取消。
  • Stop:止损市价单。指定 orderQtystopPx。当达到 stopPx 时,订单将进入订单簿。
    • 在卖单中,当触发价格低于 stopPx 时触发;在买单中,当高于时触发。
    • 注意:止损单在触发前不会占用保证金。请确保您的账户中有足够的保证金,以便其能够完全触发。
    • Close 止损不需要 orderQty。参见下方执行指令。
  • StopLimit:类似止损市价单,但会提交限价单而非市价单。指定 orderQtystopPxprice
  • MarketIfTouched:类似止损单,但触发方向相反。适用于止盈订单。
  • LimitIfTouched:同上;用于止盈限价单。
  • Pegged:锚定订单允许用户提交相对于当前市场价格的限价。指定 pegPriceTypepegOffsetValue
    • 锚定订单必须具有 execInstFixed。这意味着限价在订单被接受时确定,并不会随着参考价格变化而改变。
    • PrimaryPeg:价格相对于近端最优价设置。
    • MarketPeg:价格相对于远端最优价设置。
    • 提交了 pegPriceType 但未指定 ordType 时,将视为 Pegged 订单。

执行指令

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

  • ParticipateDoNotInitiate:也称为仅限挂单。如果该订单在提交时会立即成交,则会被取消。 该功能旨在防止订单在传输过程中因远端最优价向您移动而成交。 并非用于在提交后投机远端最优价远离的情况——我们将此类行为视为滥用并进行监控。
  • MarkPrice, LastPrice, IndexPrice:由止损和 if-touched 订单用于确定触发价格。 仅使用一个。默认使用 MarkPrice。也用于锚定订单以定义 LastPeg 的值。IndexPrice 不适用于现货交易品种。
  • ReduceOnlyReduceOnly 订单只能减少您的仓位,而不能增加。如果您有一个在订单簿中挂单的 ReduceOnly 限价单,而仓位被其他订单减少,则其订单数量将被下调或取消。如果存在多个 ReduceOnly 订单,则最不激进的将优先被调整。不适用于现货交易品种。
  • CloseClose 隐含 ReduceOnly。如果未平仓数量超过当前仓位,Close 订单将取消相同方向和交易品种的其他活动限价单。这对于止损非常有用:通过取消这些订单,可以确保 Close 止损具有执行所需的保证金,并且最多只能按您的全部仓位规模执行。如果未指定 orderQty,则 Close 订单的 orderQty 等于您当前仓位的规模。不适用于现货交易品种。
    • 请注意,没有 orderQtyClose 订单需要提供 side,以便 BitMEX 判断应在 stopPx 之上还是之下触发。
  • LastWithinMark:用于带有 LastPrice 的止损订单,仅在以下条件满足时允许触发:
    • 对于卖出止损市价 / 止损限价订单
      • 最新价 &lt= 止损价
      • 最新价 &gt= 标记价格 × (1 - 5%)
    • 对于买入止损市价 / 止损限价订单:
      • 最新价 &gt= 止损价
      • 最新价 &lt= 标记价格 × (1 + 5%)
    • 不适用于现货交易品种。
  • Fixed:锚定订单必须具有 execInstFixed。这意味着限价在订单被接受时确定,并不会随着参考价格变化而改变。

锚定订单

锚定订单允许用户提交相对于当前市场价格的限价。 限价在订单提交时确定一次,并不会随参考价格变化。 该订单类型并非用于在提交后投机远端最优价远离的情况——我们将此类行为视为滥用并进行监控。

锚定订单的 ordTypePegged,且 execInstFixed

还必须提交 pegPriceTypepegOffsetValue

  • PrimaryPeg - 价格相对于近端最优价设置
  • MarketPeg - 价格相对于远端最优价设置

追踪止损锚定订单

使用 pegPriceTypeTrailingStopPeg 来创建追踪止损。

价格在提交时设置,并且如果标的价格(最新价/标记价格/指数价格)变动超过 0.1%,则每秒更新一次。随后,stopPx 会随着市场远离锚定价而移动,并在市场向其靠近时冻结。

使用 pegOffsetValue 来设置订单的 stopPx。锚定价设置为 execInst 中指定的触发价格(默认 MarkPrice)。对于止损卖单和买入 if-touched 订单,请使用负偏移。

需要 ordTypeStopStopLimitMarketIfTouchedLimitIfTouched

关联订单

关联订单是一种高级功能。功能强大,但使用时需要谨慎编码和测试。 请仔细遵循本文档,并在开发时使用 Testnet Exchange

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

  • OCOOne Cancels the Other(一单取消另一单)。标准止损 / 止盈策略的一个非常灵活版本。 多个订单可通过单个 clOrdLinkID 关联。订单中发送 contingencyTypeOneCancelsTheOther。第一个完全或部分成交(或对 Stop 订单为触发)的订单,将取消所有具有相同 clOrdLinkID 的其他订单。
  • OTOOne Triggers the Other(一单触发另一单)。在主订单中发送 contingencyType'OneTriggersTheOther',随后具有相同 clOrdLinkID 的订单将在主订单完全成交之前不会被触发。

追踪止损

您可以使用 pegPriceType'TrailingStopPeg' 来创建追踪止损。锚定的 stopPx 会随着市场远离锚定价而移动,并在市场向其靠近时冻结。

使用时,将其与 pegOffsetValue 结合以设置订单的 stopPx。锚定价设置为 execInst 中指定的触发价格(默认 'MarkPrice')。对于止损卖单和买入 if-touched 订单,请使用负偏移。

需要 ordType'Stop', 'StopLimit', 'MarketIfTouched', 'LimitIfTouched'

速率限制

您可以通过使用 Amend 端点(PUT /order)来提高对市场变动的响应能力,同时保持在速率限制之内。这使您能够留在市场中,并避免取消/替换循环。

跟踪您的订单

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

您还可以通过修改订单来更改 clOrdID,提供一个 origClOrdID,并将新的 ID 作为 clOrdID 参数传入,如下所示:

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

Request

Responses