暂停策略
停止已部署策略的新入场。默认情况下,已有持仓保持开仓状态,并继续按策略的出场规则进行管理。传入 close_positions: true 可在转入 paused 之前按市价平掉所有未平仓的持仓。
端点
POST /v1/strategies/{id}/pause
权重: 5 鉴权: 必填(需签名)—— 参见 鉴权。
请求
路径参数:id —— 策略标识符(例如 strat_8f2a1b)。
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
close_positions | boolean | 否 | 为 true 时,引擎会在暂停前为每个未平仓持仓发送市价平仓订单。为 false(默认)时,已有持仓保持原状,即使不再开新仓,引擎仍会继续监控出场条件。 |
响应
返回策略对象,其中 status 为 "paused"。
{
"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": "paused",
"deployed_at": "2026-04-29T08:00:00Z",
"created_at": "2026-04-28T15:30:00Z",
"updated_at": "2026-04-29T12:00:00Z",
"stats": {
"open_positions": 0,
"total_pnl": "184.32",
"total_trades": 47,
"win_rate": "0.638"
}
}
响应字段
与 获取策略 的结构一致。暂停成功后:
status为paused。updated_at为暂停时间戳。- 若传入
close_positions: true,stats.open_positions为0;否则保持不变。
当使用 close_positions: true 时,平仓事件会通过 策略状态 WebSocket 推送,然后才返回此响应。
错误
404 NOT_FOUND—— 策略不存在或不属于调用者。409 INVALID_STATE—— 策略状态不是deployed。对已经暂停的策略,会返回此错误而不是空操作。
完整列表参见 错误。
示例
curl -X POST "https://api.pipai.example/v1/strategies/strat_8f2a1b/pause" \
-H "X-PipAI-API-Key: $API_KEY" \
-H "X-PipAI-Timestamp: $TS" \
-H "X-PipAI-Signature: $SIG" \
-H "Content-Type: application/json" \
-d '{ "close_positions": true }'