策略 API 概览
策略 API 让你可以在 PipAI 平台上创建、配置、部署和管理自动化交易策略。
策略是参数化的模板(入场规则、出场规则、风险上限)加上执行上下文(交易对、时间周期、资金分配)的组合。该 API 支持完整的生命周期:创建 → 回测 → 部署 → 监控 → 暂停。
本模块涵盖:
- 用于策略增删改查、部署和暂停的 REST 端点。
- 用于实时订阅策略状态变更的 WebSocket。
端到端示例参见 快速开始。
什么是策略?
在 PipAI 上,一个策略由三部分组成:
- 模板 —— 通过
template_id引用(例如tpl_grid、tpl_dca、tpl_momentum、tpl_meanrev)。模板是平台托管的、经过审核且带版本的算法;它们封装了入场/出场逻辑、信号生成和风险管理。 - 参数(params) —— 一个自由格式的 JSON 对象,直接透传给模板。每个模板定义自己的参数 schema(例如
grid_levels、upper_price、rebalance_threshold)。 - 执行上下文 —— 即
symbols、timeframe、capital、leverage和dry_run字段,决定模板在何处、以何种方式运行。
平台本身不解释 params,部署时它们会按照模板 schema 进行校验,然后转发给模板运行时。
策略生命周期
策略在一个小型状态机中流转:
draft → deployed → paused → stopped
↘ error ↗
| 状态 | 含义 |
|---|---|
draft | 已创建但未运行。可编辑,可安全删除。 |
deployed | 已上线;引擎正在评估信号,并可能下达真实订单(若 dry_run 为真则下达模拟订单)。 |
paused | 引擎已停止开新仓。除非暂停时设置了 close_positions,已有持仓将保持开仓状态。可编辑。 |
stopped | 用户主动终止,不可恢复。 |
error | 引擎因不可恢复的错误而停止(例如参数无效、交易所鉴权失败)。可通过 WebSocket error 事件或 Get Strategy 端点查看详情。 |
状态转换由 Deploy、Pause 和 Stop(在后续模块介绍)等端点以及引擎内部事件驱动。
核心概念
| 概念 | 说明 |
|---|---|
template_id | 标识算法的 slug,格式为 tpl_<name>。 |
params | 模板特定的 JSON,对平台不透明。 |
symbols | 交易所风格的大写代码(例如 BTCUSDT),一个或多个。 |
timeframe | 模板运行的 K 线周期(例如 1m、5m、1h、1d)。 |
capital | 分配给策略的计价币种名义资金,使用十进制字符串表示。 |
leverage | 部署时应用的整数倍杠杆。默认 1,最大 20。 |
dry_run | 为 true 时,引擎消费实时行情并发出与真实运行相同的 WebSocket 事件,但不会向交易所下单。适合做模拟交易。 |
常见工作流
- 先回测再部署:创建一个
draft策略,针对它运行一次回测任务(参见 Backtesting 模块),检查报告后再以相同参数进行部署。 - 多交易对网格:在一个策略中传入多个交易对;引擎会按照模板的分配规则在它们之间分配资金。
- 通过 dry-run 进行模拟交易:先以
dry_run: true部署,在不承担交易所风险的情况下用实时行情验证行为;确认无误后再以dry_run: false重新部署。