Bitmex | 如何下单
Bitmex REST API 提供公有和私有端点。私有端点要求对消息进行签名以提高交易安全性。
首先您必须登录 Bitmex 账户并创建新的 API,您将获得以下值:
这些字段必须在 Bitmex API 客户端组件的 Bitmex 属性中配置。配置完成后,您可以开始向 Bitmex REST API 发起私有请求。
订单类型
所有订单都需要交易对。除非另有说明,其他所有字段均为可选。
以下是有效的 ordTypes:
- Limit:默认订单类型。指定 orderQty 和 price。
- Market:传统市价单。市价单将持续执行直至成交完毕,或达到强平价格时自动取消。
- Stop:止损市价单。指定 orderQty 和 stopPx。当触及 stopPx 时,订单将进入挂单簿。
- 卖单触发条件:触发价格低于 stopPx 时触发。买单则相反,高于时触发。
- 注意:止损单在触发前不占用保证金。请确保账户中有足够的保证金,以便订单可以完全触发。
- 平仓止损单不需要填写 orderQty。请参阅下方执行说明。
- StopLimit:类似于止损市价单,但下的是限价单而非市价单。指定 orderQty、stopPx 和 price。
- MarketIfTouched:类似于 Stop,但触发方向相反。适用于止盈订单。
- LimitIfTouched:如上;用于止盈限价订单。
- 挂钩单:挂钩单允许用户提交相对于当前市场价格的限价。请指定 pegPriceType 和 pegOffsetValue。
- 挂钩单的 execInst 必须为 Fixed,这意味着限价在订单被接受时确定,不会随参考价格变化。
- PrimaryPeg:价格相对于近端价格设定。
- MarketPeg:价格相对于远端价格设定。
- 提交带有 pegPriceType 但不带 ordType 的订单将被视为挂钩单。
执行指令
支持以下 execInst。如果使用多个,请用逗号分隔(例如 LastPrice,Close)。
- ParticipateDoNotInitiate:也称为只挂单订单。如果此订单在下单时就会立即成交,则将取消该订单。这旨在防止在订单传输过程中远端价格向您移动。它不适用于在提交后投机远端价格移动——我们认为此类行为是滥用行为并对其进行监控。
- MarkPrice,LastPrice,IndexPrice:用于止损单和 if-touched 订单以确定触发价格。仅使用其中一个。默认情况下使用 MarkPrice。
- ReduceOnly:仅减仓订单只能减少您的仓位,不能增加。如果您的仅减仓限价单在订单簿中挂单期间仓位被其他订单减少,则其订单数量将被调减或取消。若存在多个仅减仓订单,则最不激进的将先被调整。
- Close:Close 意味着 ReduceOnly。Close 订单将取消具有相同方向和交易对且未结数量超过当前持仓的其他活跃限价单。这对止损很有用:通过取消这些订单,Close 止损可确保有执行所需的保证金,并且只能执行到您持仓的完整大小。如果未指定 orderQty,Close 订单的 orderQty 等于您的当前持仓大小。
- 请注意,没有 orderQty 的 Close 订单需要 side,以便 BitMEX 知道是否应在 stopPx 上方或下方触发。
- LastWithinMark:由使用 LastPrice 的止损订单使用,仅允许在以下情况下触发止损:
- 对于卖出止损市价/止损限价订单
- 最新价 <= 止损价
- 最新价 >= 标记价格 × (1 - 5%)
- 对于买入止损市价/止损限价订单:
- 最新价 >= 止损价
- 最新价 <= 标记价格 × (1 + 5%)
- Fixed: 钉住订单的 execInst 必须为 Fixed。这意味着限价在订单被接受时确定,并且不会随参考价格的变化而变化。
挂价订单
挂单允许用户相对于当前市场价格提交限价。限价在提交时设定一次,不随参考价格变化。此订单类型不适用于在提交后投机远端价格的移动——我们认为此类行为属于滥用并对其进行监控。
挂钩订单的 ordType 为 Pegged,execInst 为 Fixed。
还必须提交 pegPriceType 和 pegOffsetValue:
- PrimaryPeg - 价格相对于近端触价设置
- MarketPeg - 价格相对于远端买卖价差设定
追踪止损挂单
使用 TrailingStopPeg 的 pegPriceType 创建追踪止损。
价格在提交时确定,若底层价格(最新价/标记价/指数价)变动超过 0.1%,则每秒更新一次。当市场远离挂钩方向移动时,stopPx 随之移动;当市场向挂钩方向移动时,stopPx 冻结。
使用 pegOffsetValue 设置订单的 stopPx。挂单设置为 execInst 中指定的触发价格(默认 MarkPrice)。对于止损卖出和触价买入订单,请使用负偏移量。
需要 ordType:Stop、StopLimit、MarketIfTouched、LimitIfTouched。
追踪止损
您可以使用 'TrailingStopPeg' 的 pegPriceType 创建追踪止损单。当市场远离锚定价时,锚定的 stopPx 会随之移动;当市场向锚定价靠近时,则会冻结。
使用时,结合 pegOffsetValue 设置订单的 stopPx。挂钩设置为 execInst 中指定的触发价格(默认为"MarkPrice")。对于止损卖出和触价买入订单,请使用负偏移量。
需要 ordType:'Stop'、'StopLimit'、'MarketIfTouched'、'LimitIfTouched'。
追踪您的订单
如果您想自行跟踪订单 ID,请为每个订单设置唯一的 clOrdID。此 clOrdID 将作为订单及任何相关执行(包括 WebSocket 上)的属性返回,可用于获取或取消订单。最大长度为 36 个字符。
示例:
// buy market order
BITMEX.REST_API.PlaceMarketOrder(bmosBuy, 'XBTUSD', 100);
// sell limit order at 45000
BITMEX.REST_API.PlaceLimitOrder(bmosSell, 'XBTUSD', 100, 45000.00);
// stop order at 48000
BITMEX.REST_API.PlaceStopOrder(bmosSell, 'XBTUSD', 100, 48000.00);