### 下单执行规范(统一参数/校验/精度对齐) — 统一请求参数 — ``` 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_ONLY` → `tif=GTC/ALO`,签名字段包含 `tif/price/reduce_only/client_order_id`; - Aster:`LIMIT` 带 `timeInForce=GTC`,签名与市价相同但包含 `price`; — 批量 — - Pacifica:对批量内每个动作单独签名(Create/Cancel),`Create` 数据必须带 `reduce_only`; — TP/SL — - Pacifica:`/positions/tpsl`,`symbol` 需基础符号,签名 type=`set_position_tpsl`; — 错误与重试 — - -1111/-4005(精度/超限):对齐步进后重试;必要时自动降量(对 Aster 已实现)。 - -2019(余额不足):策略侧进行双向减仓或降量重试; - 429/5xx:指数退避(基 250ms,最多 4 次)。 — 统一映射(返回值) — ``` Order: { id, symbol, status, side, type, price?, origQty, executedQty, updateTime } ```