- 前端:菜单父级「加密价差策略」,子项「策略配置」「实时监控」;i18n 与类型注释全部替换 - 后端:i18n、ErrorCode、DTO/实体/服务注释与日志「尾盘」→「加密价差策略」;TG 通知文案 - 文档:README、中英文用户指南、UI 规格、任务、流程、价差流程、市场数据、动态系数等全部更新 - 不修改 API 路径、路由、表名与类名,保持兼容 Co-authored-by: Cursor <cursoragent@cursor.com>
16 KiB
加密价差策略配置指南
一、什么是加密价差策略?
加密价差策略是一种自动化交易策略,专门用于 Polymarket 加密市场的 5分钟 或 15分钟 "Up or Down" 市场。
核心逻辑:在指定时间窗口内,当市场价格进入您设定的价格区间时,系统会自动以固定价格(0.99)买入,无需手动操作。
适用场景:
- 您希望捕捉市场在周期末段的价格波动
- 您想自动化执行交易,避免手动盯盘
- 您对市场走势有一定判断,希望设置条件自动触发
二、策略工作原理
2.1 基本流程
周期开始 → 时间窗口内 → 价格进入区间 → 自动下单
-
周期:每个市场按固定周期运行(5分钟或15分钟)
- 5分钟市场:每5分钟为一个周期(如 10:00、10:05、10:10...)
- 15分钟市场:每15分钟为一个周期(如 10:00、10:15、10:30...)
-
时间窗口:您可以在周期内设置一个时间段
- 例如:15分钟市场,设置窗口为「3分钟~12分钟」
- 表示:从周期开始后第3分钟到第12分钟之间才会触发
-
价格区间:设置触发价格范围
- 例如:最低价 0.50,最高价 0.80
- 表示:当市场价格在 0.50~0.80 之间时才会触发
-
自动下单:满足条件后,系统自动以 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 线自动计算基准价差
- 计算逻辑:
- 获取最近 20 根 K 线(与策略周期一致)
- 按方向筛选(Up 方向只看上涨的 K 线,Down 方向只看下跌的 K 线)
- 剔除异常值(使用 IQR 方法)
- 计算平均价差 × 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 分钟:同时满足以下条件才触发
- 价格在 0.50~0.80 之间 ✅
- 价差方向为「最小价差」且币安价差 ≥ 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 分钟:同时满足以下条件才触发
- 价格在 0.30~0.90 之间 ✅
- 价差方向为「最小价差」且币安价差 ≥ 系统计算的有效价差 ✅
五、常见问题
Q1:策略什么时候会触发?
A:需要同时满足以下条件:
- ✅ 当前时间在时间窗口内
- ✅ 市场价格在 [最低价, 最高价] 区间内
- ✅ 本周期尚未触发过(每周期最多触发一次)
- ✅ 如果设置了价差过滤,币安价差与价差方向需同时满足条件
Q2:为什么我的策略没有触发?
可能原因:
- 时间窗口不对:当前时间不在设定的时间窗口内
- 价格不在区间:市场价格不在 [最低价, 最高价] 范围内
- 本周期已触发:该周期已经触发过一次,不会再触发
- 价差不满足:如果设置了价差过滤,币安价差或价差方向未满足要求
- 账户余额不足:账户余额小于设定的投入金额
- 策略未启用:检查策略的启用状态是否为"开启"
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:避免以下问题:
- 余额变化:如果钱包同时用于手动交易,余额变化可能影响策略执行
- 仓位冲突:手动交易和策略交易可能产生冲突
- 管理混乱:难以区分哪些订单是策略产生的,哪些是手动产生的
建议:创建一个专门的钱包,只用于加密价差策略。
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 删除策略
删除策略后:
- 策略配置会被删除
- 历史触发记录会保留
- 已下单的订单不受影响
八、总结
加密价差策略是一个强大的自动化交易工具,可以帮助您:
- 自动化交易:无需手动盯盘,系统自动执行
- 精准控制:通过时间窗口和价格区间精确控制触发条件
- 灵活配置:支持比例和固定金额两种投入方式
- 风险过滤:通过价差过滤(最小价差/最大价差)控制波动条件
使用建议:
- 初次使用建议从简单策略开始(无价差过滤)
- 熟悉后再尝试添加价差过滤功能
- 定期查看触发记录,根据实际情况调整策略参数
- 使用专门的钱包,避免与其他操作冲突
祝您交易顺利! 🚀