# 加密价差策略配置指南

## 一、什么是加密价差策略？

加密价差策略是一种自动化交易策略，专门用于 Polymarket 加密市场的 **5分钟** 或 **15分钟** "Up or Down" 市场。

**核心逻辑**：在指定时间窗口内，当市场价格进入您设定的价格区间时，系统会自动以固定价格（0.99）买入，无需手动操作。

**适用场景**：
- 您希望捕捉市场在周期末段的价格波动
- 您想自动化执行交易，避免手动盯盘
- 您对市场走势有一定判断，希望设置条件自动触发

---

## 二、策略工作原理

### 2.1 基本流程

```
周期开始 → 时间窗口内 → 价格进入区间 → 自动下单
```

1. **周期**：每个市场按固定周期运行（5分钟或15分钟）
   - 5分钟市场：每5分钟为一个周期（如 10:00、10:05、10:10...）
   - 15分钟市场：每15分钟为一个周期（如 10:00、10:15、10:30...）

2. **时间窗口**：您可以在周期内设置一个时间段
   - 例如：15分钟市场，设置窗口为「3分钟～12分钟」
   - 表示：从周期开始后第3分钟到第12分钟之间才会触发

3. **价格区间**：设置触发价格范围
   - 例如：最低价 0.50，最高价 0.80
   - 表示：当市场价格在 0.50～0.80 之间时才会触发

4. **自动下单**：满足条件后，系统自动以 0.99 的价格买入

### 2.2 重要限制

- **每周期最多触发一次**：同一个周期内，即使多次满足条件，也只下单一次
- **固定下单价格**：所有订单都以 0.99 的价格提交
- **需要单独钱包**：建议使用专门的钱包运行加密价差策略，避免与其他操作（手动交易、跟单等）冲突

---

## 三、参数详细说明

### 3.1 基础参数

| 参数 | 说明 | 必填 | 示例 |
|------|------|------|------|
| **账户** | 选择用于交易的钱包账户 | ✅ | 账户A |
| **策略名称** | 给策略起个名字，方便识别 | ❌ | "BTC 15分钟加密价差策略" |
| **市场** | 选择要交易的市场（5分钟或15分钟） | ✅ | btc-updown-15m |

### 3.2 周期设置

| 参数 | 说明 | 必填 | 示例 |
|------|------|------|------|
| **周期长度** | 由选择的市场自动确定 | ✅ | 15分钟（900秒） |
| **时间窗口开始** | 从周期起点算起，多少分钟后开始监听 | ✅ | 3分0秒 |
| **时间窗口结束** | 从周期起点算起，多少分钟后停止监听 | ✅ | 12分0秒 |

**时间窗口说明**：
- 5分钟市场：可选 0～5 分钟内的任意时间段
- 15分钟市场：可选 0～15 分钟内的任意时间段
- **开始时间必须 ≤ 结束时间**
- 窗口外的时间即使价格满足也不会触发

**示例**：
- 15分钟市场，窗口「3分0秒 ～ 12分0秒」
  - 周期开始后 0～3 分钟：不监听
  - 周期开始后 3～12 分钟：监听价格，满足条件即触发
  - 周期开始后 12～15 分钟：不监听

### 3.3 价格区间

| 参数 | 说明 | 必填 | 取值范围 | 示例 |
|------|------|------|----------|------|
| **最低价 (minPrice)** | 触发的最低价格 | ✅ | 0～1 | 0.50 |
| **最高价 (maxPrice)** | 触发的最高价格 | ❌ | 0～1，默认1 | 0.80 |

**价格区间说明**：
- 价格范围是 0～1 之间的小数
- 当市场价格在 [最低价, 最高价] 区间内时才会触发
- 如果不填最高价，默认使用 1.0（即只要价格 ≥ 最低价就触发）

**示例**：
- 最低价 0.50，最高价 0.80
  - 价格 0.45：不触发（低于最低价）
  - 价格 0.60：触发 ✅（在区间内）
  - 价格 0.85：不触发（高于最高价）

### 3.4 投入金额

| 参数 | 说明 | 必填 | 示例 |
|------|------|------|------|
| **投入方式** | 选择按比例或固定金额 | ✅ | 按比例 / 固定金额 |
| **比例 (%)** | 按账户余额的百分比投入 | 条件必填 | 10%（账户有100 USDC，投入10 USDC） |
| **固定金额 (USDC)** | 每次固定投入的金额 | 条件必填 | 50 USDC |

**投入方式说明**：

**方式一：按比例 (RATIO)**
- 每次触发时，按账户当前可用余额的百分比投入
- 例如：账户有 100 USDC，设置比例 10%
  - 第1次触发：投入 10 USDC
  - 第2次触发：如果余额变为 90 USDC，投入 9 USDC
- **优点**：自动适应账户余额变化
- **缺点**：每次投入金额可能不同

**方式二：固定金额 (FIXED)**
- 每次触发时，固定投入指定金额
- 例如：设置固定金额 50 USDC
  - 每次触发都投入 50 USDC
- **优点**：投入金额稳定，便于管理
- **缺点**：需要确保账户余额充足

**注意事项**：
- 最小下单金额：至少 1 USDC
- 如果账户余额不足，下单会失败并记录失败原因

### 3.5 价差过滤（高级功能）

价差功能用于根据币安 BTC/USDC 的 K 线波动决定是否触发，支持「最小价差」与「最大价差」两种方向。

| 参数 | 说明 | 必填 | 示例 |
|------|------|------|------|
| **价差模式** | 选择价差校验方式 | ✅ | 无 / 固定 / 自动 |
| **价差方向** | 最小价差（≥ 触发）或 最大价差（≤ 触发） | ✅ | 最小价差 / 最大价差 |
| **价差值** | 固定模式时填写（单位：USDC） | 条件必填 | 30 |

**价差方向说明**：

- **最小价差**：当币安 K 线价差 **≥** 设定值时才触发  
  - 适合：只在波动「足够大」时交易（避免波动过小、不值得进场）
- **最大价差**：当币安 K 线价差 **≤** 设定值时才触发  
  - 适合：只在波动「足够小」时交易（避免波动过大、风险高）

**三种价差模式**：

**模式一：无 (NONE)**
- 不进行价差校验
- 只要时间窗口和价格区间满足就触发
- **适合**：不关心币安价格波动，只看 Polymarket 价格

**模式二：固定 (FIXED)**
- 设置一个固定的价差值（单位：USDC）
- **最小价差**：当 K 线价差 ≥ 设定值时触发  
  - 示例：设定 30，价差 ≥ 30 触发 ✅，价差 < 30 不触发
- **最大价差**：当 K 线价差 ≤ 设定值时触发  
  - 示例：设定 50，价差 ≤ 50 触发 ✅，价差 > 50 不触发
- **适合**：您有明确的价差阈值

**模式三：自动 (AUTO)**
- 系统根据历史 20 根 K 线自动计算基准价差
- 计算逻辑：
  1. 获取最近 20 根 K 线（与策略周期一致）
  2. 按方向筛选（Up 方向只看上涨的 K 线，Down 方向只看下跌的 K 线）
  3. 剔除异常值（使用 IQR 方法）
  4. 计算平均价差 × 0.8 作为有效价差
- **最小价差**：K 线价差 ≥ 有效价差时触发  
- **最大价差**：K 线价差 ≤ 有效价差时触发
- **适合**：希望根据历史数据自动调整，无需手动设具体数值

**价差说明**：
- 价差 = |收盘价 - 开盘价|（币安 BTC/USDC 当根 K 线）
- 例如：开盘价 50000，收盘价 50030，价差 = 30
- 价差越大，说明该周期内价格波动越大

---

## 四、配置示例

### 示例1：简单策略（5分钟市场）

**场景**：在 5 分钟市场的最后 2 分钟，如果价格低于 0.60，自动买入 10 USDC

**配置**：
```
账户：账户A
策略名称：BTC 5分钟简单策略
市场：btc-updown-5m
时间窗口：3分0秒 ～ 5分0秒
最低价：0.00
最高价：0.60
投入方式：固定金额
固定金额：10 USDC
价差模式：无
启用状态：开启
```

**说明**：
- 周期开始后 0～3 分钟：不监听
- 周期开始后 3～5 分钟：如果价格 ≤ 0.60，自动买入 10 USDC

---

### 示例2：比例投入策略（15分钟市场）

**场景**：在 15 分钟市场的中段（5～10分钟），如果价格在 0.40～0.70 之间，投入账户余额的 15%

**配置**：
```
账户：账户B
策略名称：BTC 15分钟比例策略
市场：btc-updown-15m
时间窗口：5分0秒 ～ 10分0秒
最低价：0.40
最高价：0.70
投入方式：按比例
比例：15%
价差模式：无
启用状态：开启
```

**说明**：
- 假设账户余额 100 USDC
- 周期开始后 5～10 分钟：如果价格在 0.40～0.70 之间，自动买入约 15 USDC（100 × 15%）

---

### 示例3：带价差过滤的策略（15分钟市场）

**场景**：在 15 分钟市场的后段（10～14分钟），如果价格在 0.50～0.80 之间，且币安价差 ≥ 50，投入 20 USDC

**配置**：
```
账户：账户C
策略名称：BTC 15分钟价差策略
市场：btc-updown-15m
时间窗口：10分0秒 ～ 14分0秒
最低价：0.50
最高价：0.80
投入方式：固定金额
固定金额：20 USDC
价差模式：固定
价差方向：最小价差
价差值：50
启用状态：开启
```

**说明**：
- 周期开始后 10～14 分钟：同时满足以下条件才触发
  1. 价格在 0.50～0.80 之间 ✅
  2. 价差方向为「最小价差」且币安价差 ≥ 50 ✅
- 如果价差只有 30，即使价格满足也不会触发

---

### 示例4：自动价差策略（15分钟市场）

**场景**：在 15 分钟市场的前段（2～8分钟），如果价格在 0.30～0.90 之间，投入账户余额的 20%，价差由系统自动计算

**配置**：
```
账户：账户D
策略名称：BTC 15分钟自动价差策略
市场：btc-updown-15m
时间窗口：2分0秒 ～ 8分0秒
最低价：0.30
最高价：0.90
投入方式：按比例
比例：20%
价差模式：自动
价差方向：最小价差
启用状态：开启
```

**说明**：
- 系统会根据历史 20 根 K 线自动计算有效价差
- 周期开始后 2～8 分钟：同时满足以下条件才触发
  1. 价格在 0.30～0.90 之间 ✅
  2. 价差方向为「最小价差」且币安价差 ≥ 系统计算的有效价差 ✅

---

## 五、常见问题

### Q1：策略什么时候会触发？

**A**：需要同时满足以下条件：
1. ✅ 当前时间在时间窗口内
2. ✅ 市场价格在 [最低价, 最高价] 区间内
3. ✅ 本周期尚未触发过（每周期最多触发一次）
4. ✅ 如果设置了价差过滤，币安价差与价差方向需同时满足条件

### Q2：为什么我的策略没有触发？

**可能原因**：
1. **时间窗口不对**：当前时间不在设定的时间窗口内
2. **价格不在区间**：市场价格不在 [最低价, 最高价] 范围内
3. **本周期已触发**：该周期已经触发过一次，不会再触发
4. **价差不满足**：如果设置了价差过滤，币安价差或价差方向未满足要求
5. **账户余额不足**：账户余额小于设定的投入金额
6. **策略未启用**：检查策略的启用状态是否为"开启"

### Q3：每周期最多触发一次是什么意思？

**A**：每个周期（5分钟或15分钟）内，即使多次满足条件，也只下单一次。

**示例**：
- 15分钟市场，周期从 10:00 开始
- 10:05 时价格满足条件，触发下单 ✅
- 10:08 时价格再次满足条件，但不会再次下单（本周期已触发）
- 10:15 开始新周期，可以再次触发

### Q4：固定金额和按比例有什么区别？

**固定金额**：
- 每次触发都投入相同金额
- 例如：设置 50 USDC，每次都是 50 USDC
- 需要确保账户余额充足

**按比例**：
- 每次触发时按账户余额的百分比投入
- 例如：设置 10%，账户有 100 USDC 时投入 10 USDC，余额变为 90 USDC 后下次投入 9 USDC
- 自动适应余额变化

### Q5：价差过滤功能有什么用？

**A**：价差过滤根据币安 BTC/USDC 的 K 线波动决定是否触发，支持两种方向。

**最小价差**（价差 ≥ 设定值才触发）：
- 波动太小时不触发，避免在波动不足时进场
- 例如：设定 30，只有价差 ≥ 30 才触发

**最大价差**（价差 ≤ 设定值才触发）：
- 波动太大时不触发，避免在波动过大、风险高时进场
- 例如：设定 50，只有价差 ≤ 50 才触发

**三种模式选择建议**：
- **无**：不关心币安价格波动，只看 Polymarket 价格
- **固定**：您知道期望的价差阈值（配合最小/最大价差方向使用）
- **自动**：希望根据历史数据自动计算有效价差，无需手动设具体数值

### Q6：为什么建议使用单独的钱包？

**A**：避免以下问题：
1. **余额变化**：如果钱包同时用于手动交易，余额变化可能影响策略执行
2. **仓位冲突**：手动交易和策略交易可能产生冲突
3. **管理混乱**：难以区分哪些订单是策略产生的，哪些是手动产生的

**建议**：创建一个专门的钱包，只用于加密价差策略。

### Q7：下单价格为什么是固定的 0.99？

**A**：这是策略的设计特点：
- 0.99 是市场中的最高价格（接近 1.0）
- 以最高价买入可以确保订单快速成交
- 虽然买入价格较高，但策略的核心是捕捉市场波动，而非追求最优价格

### Q8：策略需要依赖自动赎回功能吗？

**A**：是的，加密价差策略依赖自动赎回功能。

**原因**：
- 策略下单后会形成仓位
- 这些仓位需要在市场结算后自动赎回
- 如果未配置自动赎回，仓位可能无法及时赎回

**配置要求**：
- 在「系统设置」中配置 Builder API Key
- 开启自动赎回功能

---

## 六、注意事项

### 6.1 账户要求

- ✅ 账户必须配置 API Key、API Secret、API Passphrase
- ✅ 账户必须有足够的 USDC 余额
- ✅ 建议使用专门的钱包，避免与其他操作冲突

### 6.2 时间窗口设置

- ⚠️ 开始时间必须 ≤ 结束时间
- ⚠️ 时间窗口不能超出周期长度（5分钟市场 ≤ 5分钟，15分钟市场 ≤ 15分钟）
- ⚠️ 建议设置合理的时间窗口，避免在周期开始或结束时触发

### 6.3 价格区间设置

- ⚠️ 最低价必须 ≤ 最高价
- ⚠️ 价格范围是 0～1 之间的小数
- ⚠️ 建议根据市场情况设置合理的价格区间

### 6.4 投入金额设置

- ⚠️ 最小下单金额：至少 1 USDC
- ⚠️ 确保账户余额充足，避免下单失败
- ⚠️ 按比例模式：注意账户余额变化对投入金额的影响

### 6.5 价差过滤设置

- ⚠️ 价差方向：最小价差为「≥ 触发」，最大价差为「≤ 触发」，请按需求选择
- ⚠️ 固定模式：需要填写合理的价差值（单位：USDC）
- ⚠️ 自动模式：系统会在周期内按窗口进度自动计算有效价差，无需手动设置
- ⚠️ 价差设定过严（最小价差设得过大或最大价差设得过小）可能导致策略难以触发

### 6.6 其他注意事项

- ⚠️ 策略创建后默认启用，如需暂停可以关闭"启用状态"
- ⚠️ 每周期最多触发一次，请合理设置触发条件
- ⚠️ 策略依赖自动赎回功能，请确保已配置 Builder API Key
- ⚠️ 建议定期查看触发记录，了解策略执行情况

---

## 七、策略管理

### 7.1 查看策略列表

在「加密价差策略」页面可以查看所有策略：
- 策略名称
- 市场信息
- 时间窗口
- 价格区间
- 投入方式
- 启用状态
- 最后触发时间
- 总收益、胜率等统计信息

### 7.2 查看触发记录

点击策略可以查看详细的触发记录：
- 触发时间
- 市场价格
- 投入金额
- 订单ID
- 订单状态（成功/失败）
- 结算信息（盈亏、胜率等）

### 7.3 编辑策略

可以随时修改策略参数：
- 时间窗口
- 价格区间
- 投入方式
- 价差过滤（模式、方向、数值）
- 启用状态

**注意**：修改后的策略会在下一个周期生效。

### 7.4 删除策略

删除策略后：
- 策略配置会被删除
- 历史触发记录会保留
- 已下单的订单不受影响

---

## 八、总结

加密价差策略是一个强大的自动化交易工具，可以帮助您：

1. **自动化交易**：无需手动盯盘，系统自动执行
2. **精准控制**：通过时间窗口和价格区间精确控制触发条件
3. **灵活配置**：支持比例和固定金额两种投入方式
4. **风险过滤**：通过价差过滤（最小价差/最大价差）控制波动条件

**使用建议**：
- 初次使用建议从简单策略开始（无价差过滤）
- 熟悉后再尝试添加价差过滤功能
- 定期查看触发记录，根据实际情况调整策略参数
- 使用专门的钱包，避免与其他操作冲突

**祝您交易顺利！** 🚀
