SuperAPI AI 工具集

orderly-trading-orders

编程与开发

查看项目

更新于 10-16 10:02

技能介绍

Orderly Network 交易订单技能(orderly-trading-orders)覆盖 Orderly Network 上订单管理的完整流程,包括通过 REST API 与 React SDK 进行下单、改单和撤单。

【用途】 适用于构建交易界面、实现下单逻辑、管理订单生命周期,以及创建自动交易机器人。

【前置条件】 需已注册 Orderly 账户;拥有具备交易权限(trading scope)的 Ed25519 API 密钥;账户内有足够保证金。

【订单类型】

  • LIMIT:指定价格下单,用于精确入场/出场。
  • MARKET:以最优可用价格执行,用于立即成交。
  • IOC(Immediate-or-Cancel):允许部分成交。
  • FOK(Fill-or-Kill):全部成交或全部取消。
  • POST_ONLY:仅做 maker,可获得 maker 返佣。
  • ASK:保证以最优卖价成交,用于快速卖出。
  • BID:保证以最优买价成交,用于快速买入。

【REST API 下单】 端点:POST /v1/order。请求体字段包括 symbol(如 "PERP_ETH_USDC")、side('BUY' | 'SELL')、order_type、order_price(LIMIT 单必填)、order_quantity(基础资产数量)、visible_quantity(隐藏单,0 表示隐藏)、client_order_id(自定义 ID)、trigger_price(用于止损单)。示例代码使用 @noble/ed25519 的 signAsync 生成签名,将签名编码为 base64url,并携带 orderly-timestamp、orderly-account-id、orderly-key、orderly-signature 等请求头调用 https://api.orderly.org/v1/order。

【React SDK:useOrderEntry】 SDK 提供 useOrderEntry 钩子,返回 submit、setValue、getValue、helper、reset、isSubmitting。可设置初始订单(side、order_type、price、order_quantity)。提交前调用 helper.validate() 校验,通过后 await submit() 并 reset()。示例展示了包含买卖方向、订单类型、价格与数量输入的订单表单实现。

【订单校验】 可通过 GET /v1/public/info/{symbol} 获取订单规则,包括 base_min、base_max、base_tick、quote_min、quote_max、quote_tick、min_notional。校验逻辑涵盖价格范围、价格步长(quote_tick)、数量范围、数量步长(base_tick)以及最小名义价值(min_notional)。

【撤单】

  • 单个撤单:REST API 为 DELETE /v1/order?order_id={order_id}&symbol={symbol};React SDK 使用 useOrderStream 返回的 cancelOrder(order_id)。
  • 全部撤单:REST API 为 DELETE /v1/orders?symbol={symbol}(symbol 可选);React SDK 使用 cancelAllOrders(),可传入 { symbol } 按交易对撤单。
  • 按客户端订单 ID 撤单:DELETE /v1/client/order?client_order_id={client_order_id}&symbol={symbol}。

【批量订单】

  • 批量创建:POST /v1/batch-order,请求体为 orders 数组,最多 10 笔。
  • 批量撤单:DELETE /v1/batch-order?order_ids={id1},{id2},...,最多 10 笔。

【改单】 PUT /v1/order,请求体包含 order_id、order_price(新价格)、order_quantity(新数量)。

【订单流(实时)】 使用 useOrderStream 与 OrderStatus 监控订单,示例以表格展示 symbol、side、price、order_qty、filled_qty、status 并提供撤单按钮。

【算法订单(止损、止盈/止损)】 止盈与止损订单参见 orderly-positions-tpsl 技能。基础算法订单结构为 POST /v1/algo/order,字段包括 symbol、type(如 'CLOSE_POSITION')、algoType(如 'TAKE_PROFIT')、trigger_price、quantity。

【速率限制】 POST /v1/order:10 req/sec;DELETE /v1/order:10 req/sec;PUT /v1/order:10 req/sec;POST /v1/batch-order:1 req/sec;DELETE /v1/batch-order:10 req/sec。

【订单状态流转】 NEW → PARTIAL_FILLED → FILLED;也可流向 CANCELLED、REJECTED(无效订单)、EXPIRED(GTD 订单)。

【常见问题】

  • "Insufficient margin":通过 GET /v1/client/holding 检查可用保证金,减小订单规模或增加保证金。
  • "Price out of range":订单价须在标记价格的 price_range 范围内;买入价 ≤ mark_price × (1 + price_range),卖出价 ≥ mark_price × (1 - price_range)。
  • "Invalid tick size":价格须为 quote_tick 的整数倍,数量须为 base_tick 的整数倍。
  • 订单被立即拒绝:通过 GET /v1/public/info/{symbol} 检查订单规则,核对 min_notional、价格范围和数量限制。

【相关技能】 orderly-api-authentication(请求签名)、orderly-positions-tpsl(仓位与止盈止损管理)、orderly-websocket-streaming(实时订单更新)、orderly-sdk-react-hooks(完整 SDK 参考)。

【限制】 关于收费、价格、平台支持范围等内容,资料暂未提供。