部署策略
部署一个策略。引擎会立即开始评估入场条件,并可能在配置的交易所下单。draft 或 paused 状态的策略均可部署;从 paused 部署会带着自上次运行以来的参数变更恢复执行。
端点
POST /v1/strategies/{id}/deploy
权重: 10 鉴权: 必填(需签名)—— 参见 鉴权。
请求
路径参数:id —— 策略标识符(例如 strat_8f2a1b)。
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
capital | decimal | 否 | 为本次运行覆盖策略保存的 capital,使用十进制字符串。省略时使用策略保存的值。 |
leverage | integer | 否 | 为本次运行覆盖策略保存的 leverage,范围 1–20。省略时使 用策略保存的值。 |
dry_run | boolean | 否 | 为 true 时,引擎消费实时行情并发出相同的 WebSocket 事件,但不会下达真实订单。默认 false。 |
覆盖值仅作用于当前运行会话,不会修改已保存的策略定义。如需持久化变更,请使用 更新策略。
响应
返回策略对象,其中 status 为 "deployed",deployed_at 更新为当前服务器时间。
{
"id": "strat_8f2a1b",
"name": "BTC grid 1h",
"template_id": "tpl_grid",
"params": {
"grid_levels": 8,
"upper_price": "72000",
"lower_price": "60000",
"rebalance_threshold": "0.02"
},
"symbols": ["BTCUSDT"],
"timeframe": "1h",
"capital": "10000.00",
"leverage": 3,
"status": "deployed",
"deployed_at": "2026-04-29T12:00:00Z",
"created_at": "2026-04-28T15:30:00Z",
"updated_at": "2026-04-29T12:00:00Z",
"stats": {
"open_positions": 0,
"total_pnl": "0.00",
"total_trades": 0,
"win_rate": "0.000"
}
}
响应字段
与 获取策略 的结构一致。部署成功后:
status为deployed。deployed_at为部署时间戳。stats反映跨所有运行的累计状态(不会在每次部署时重置)。
错误
400 INVALID_PARAMETER——capital低于模板最小值,或leverage超出范围。402 INSUFFICIENT_FUNDS—— 账户的计价币种余额低于请求的capital。404 NOT_FOUND—— 策略不存在或不属于调用者。409 INVALID_STATE—— 策略状态不是draft或paused(例如已经是deployed、stopped或处于error)。
完整列表参见 错误。
示例
curl -X POST "https://api.pipai.example/v1/strategies/strat_8f2a1b/deploy" \
-H "X-PipAI-API-Key: $API_KEY" \
-H "X-PipAI-Timestamp: $TS" \
-H "X-PipAI-Signature: $SIG" \
-H "Content-Type: application/json" \
-d '{
"capital": "10000.00",
"leverage": 3,
"dry_run": false
}'