ORDER_EXECUTION.md 1.8 KB

下单执行规范(统一参数/校验/精度对齐)

— 统一请求参数 —

symbol: string            // 统一符号(Pacifica 用基础,如 BTC;Aster 用 BTCUSDT)
side: 'BUY' | 'SELL'
type: 'MARKET' | 'LIMIT' | 'POST_ONLY'
quantity: string          // 数量(字符串)
price?: string            // 限价必填
tif?: 'GTC' | 'IOC' | 'FOK'  // 市价默认 IOC;POST_ONLY 对应 ALO/GTX(按接入映射)
reduceOnly?: boolean
clientOrderId?: string    // UUID

— 精度/步进对齐 —

  • Pacifica:lot_size 与最小数量从 info 获取;数量、价格以字符串传递,内部不四舍五入,仅向下截取步进。
  • Aster:对齐 exchangeInfo.filters.LOT_SIZE(minQty/maxQty/stepSize),数量超限自动降档重试;市价不传 timeInForce

— 市价单 —

  • Pacifica:需 slippage_percent(默认 0.5),tif 使用 IOC
  • Aster:type=MARKET,不带 timeInForce,按签名规则提交;

— 限价单/POST_ONLY —

  • Pacifica:LIMIT/POST_ONLYtif=GTC/ALO,签名字段包含 tif/price/reduce_only/client_order_id
  • Aster:LIMITtimeInForce=GTC,签名与市价相同但包含 price

— 批量 —

  • Pacifica:对批量内每个动作单独签名(Create/Cancel),Create 数据必须带 reduce_only

— TP/SL —

  • Pacifica:/positions/tpslsymbol 需基础符号,签名 type=set_position_tpsl

— 错误与重试 —

  • -1111/-4005(精度/超限):对齐步进后重试;必要时自动降量(对 Aster 已实现)。
  • -2019(余额不足):策略侧进行双向减仓或降量重试;
  • 429/5xx:指数退避(基 250ms,最多 4 次)。

— 统一映射(返回值) —

Order: {
  id, symbol, status, side, type, price?, origQty, executedQty, updateTime
}