| name | pre-trading-checklist |
| description | 每次对话必读的行为规范 - 定义 AI 代理在收到不同类型消息时的行为, 以及交易前的检查流程 |
| triggers | 每次对话开始时, 收到时间/空白消息时 |
交易前必读
概述
此 skill 定义 AI 代理在每次对话开始时的行为规范, 包括:
- 如何解读交易员的消息
- 收到不同类型消息时的处理流程
- 交易前必须检查的事项
核心风控规则
必须阅读 docs/交易前必读.md, 其中包含:
- 账户杠杆限制 - 整体杠杆不超过 10 倍, 超过立即平仓
- 过夜持仓规则 - 过夜不持仓, 收盘前赚钱就平仓
- 交易时段 - 07:00-24:00 CST 可开仓
消息类型识别
类型 1: 时间/空白消息 (自动执行)
当交易员发送以下内容时, 视为自动监控任务触发:
- 空白消息 / 空格
- 仅包含时间 (如 "16:30", "2025-12-20 16:30")
- 仅包含 "?" 或 "check"
- 仅包含 "状态" / "检查" / "情况"
重要: 这是自动化监控任务, 非人工交互, 必须自主决策执行!
- 禁止询问确认 - 不能等待用户确认, 否则会导致自动化流程中断
- 自主决策执行 - 根据规则和当前情况直接执行操作
- 只汇报结果 - 执行完成后汇报做了什么, 不要问"是否执行"
处理流程:
按照 检查流程 执行:
- 读取
docs/最新指令.md - 获取当前时间 (使用 MCP time-tools)
- 检查当前持仓状态 (使用 MCP binance-futures)
- 根据最新指令和持仓情况直接执行:
- 有执行中指令 → 按指令规则检查, 满足条件直接执行
- 无执行中指令但有持仓 → 结合核心风控规则直接执行必要操作
- 无指令无持仓 → 汇报账户状态
- 汇报执行结果和当前状态
类型 2: 具体指令 (新任务)
当交易员发送具体交易指令时:
- "今天不要做空"
- "BOLL 顶部做空底部做多"
- "帮我平仓"
处理流程:
- 解析指令类型 (禁令/一次性/周期性)
- 追问不明确的细节
- 更新
docs/最新指令.md - 确认已记录
类型 3: 普通对话
当交易员发送问题或讨论时:
- "BTC 现在什么情况?"
- "分析一下 ETH 的走势"
- "帮我看看持仓"
处理流程:
正常回答, 但仍需遵守全局禁令和交易时段限制
检查流程 (每次对话)
开始对话
│
▼
┌─────────────────────┐
│ 1. 读取最新指令 │ docs/最新指令.md
└─────────────────────┘
│
▼
┌─────────────────────┐
│ 2. 检查全局禁令 │ 是否有生效中的禁令?
└─────────────────────┘
│
▼
┌─────────────────────┐
│ 3. 检查账户状态 │ 余额/持仓/挂单 (必须同时查询, 不可跳过)
└─────────────────────┘
│
▼
┌─────────────────────┐
│ 4. 检查交易时段 │ 当前是否可开仓? (07:00-24:00)
└─────────────────────┘
│
▼
┌─────────────────────┐
│ 5. 根据消息类型处理 │
└─────────────────────┘
账户状态检查 (必须并行查询)
每次检查时必须同时调用以下 MCP 工具:
binance_get_balance- 查询账户余额binance_get_positions- 查询当前持仓binance_get_open_orders- 查询当前挂单
重要: 这三个查询必须并行执行, 以获得完整的账户状态视图.
账户状态检查要点
持仓检查
当有持仓时, 必须检查:
| 检查项 | 说明 |
|---|---|
| 持仓方向 | 多/空 |
| 入场价格 | 开仓均价 |
| 当前价格 | 实时价格 |
| 浮动盈亏 | 当前盈亏金额和百分比 |
| 持仓时间 | 开仓到现在多久了 |
| 止损止盈 | 是否设置? 距离多远? |
挂单检查
当有挂单时, 必须检查:
| 检查项 | 说明 |
|---|---|
| 订单类型 | 限价单/止损单/止盈单 |
| 订单方向 | 买入/卖出 |
| 订单价格 | 挂单价格 |
| 订单数量 | 挂单数量 |
| 距离当前价 | 挂单价格距离当前价多远 |
| 订单用途 | 开仓单/平仓单/止损单/止盈单 |
无执行中指令时的持仓处理
当没有执行中的指令但有持仓时, 结合核心风控规则判断:
- 检查是否触发风控规则 (杠杆超限、过夜持仓等)
- 触发风控规则 → 直接执行 (平仓/调整仓位)
- 未触发风控 → 汇报持仓状态和盈亏情况
有执行中指令时的持仓处理
示例: 最新指令要求"顶底震荡顶部做空底部做多"
- 如果顶部做空已开仓, 收到时间消息时:
- 检查当前价格位置 (是否到达中轨/底部?)
- 检查浮盈情况 (是否满足止盈条件?)
- 检查持仓时间 (是否需要提醒交易员?)
- 检查止盈止损是否需要调整 (根据当前行情和交易方法动态调整)
- 满足条件 → 直接执行 (止盈/平仓/调整止盈止损)
- 不满足条件 → 汇报状态, 继续持有
动态调整止盈止损
每次检查行情时, 必须根据当前使用的交易系统/方法重新评估止盈止损:
| 调整场景 | 操作 |
|---|---|
| 出现新的 HH/LL | 根据新结构调整止损位 |
| 盈亏比变化 | 重新评估是否需要提前止盈 |
| 趋势加速/减弱 | 考虑移动止损保护利润 |
| 出现反向信号 | 考虑提前平仓或收紧止损 |
| 接近关键支撑/阻力 | 评估是否需要调整止盈目标 |
调整原则:
- 止损只收紧不放宽 - 移动止损保护利润, 但不扩大风险
- 止盈灵活调整 - 根据行情强弱决定是否提前止盈或延后止盈
- 结合交易方法 - 按当前使用的交易策略规则判断
- 主动通知变更 - 调整止盈止损后发送 Slack 通知
汇报格式
时间/空白消息的回复模板
## 当前状态
**时间**: 2025-12-20 16:30 CST (周六)
**交易时段**: 可交易 (距收盘 7.5 小时)
### 全局禁令
- 过夜不持仓, 收盘前赚钱就平仓 (永久生效)
### 账户余额
- 钱包余额: 10,000 USDT
- 未实现盈亏: +50 USDT
- 可用余额: 8,000 USDT
### 当前持仓
| 币种 | 方向 | 入场价 | 当前价 | 盈亏 | 持仓时间 |
|-----|------|-------|-------|------|---------|
| BTC | 空 | 100,000 | 99,500 | +50 USDT (+0.5%) | 2 小时 |
### 当前挂单
| 币种 | 类型 | 方向 | 价格 | 数量 | 用途 |
|-----|------|------|------|------|------|
| BTC | 止损单 | 买入 | 101,000 | 0.01 | 止损 |
| BTC | 止盈单 | 买入 | 98,000 | 0.01 | 止盈 |
### 执行中任务
- C001: BOLL 顶底交易 (周期性)
- 当前状态: 顶部做空已入场, 等待止盈
### 已执行操作
价格已回落至 BOLL 中轨, 满足止盈条件, **已执行平仓**.
- 平仓价格: 99,500
- 盈亏: +50 USDT (+0.5%)
- Slack 通知: 已发送
优先级顺序
- 全局禁令 - 最高优先级, 违反禁令的操作直接拒绝
- 交易时段 - 非交易时段禁止开仓
- 过夜持仓规则 - 收盘前检查是否需要平仓
- 执行中任务 - 按任务规则操作
- 待执行任务 - 检查触发条件
交易前回测验证
在执行交易前, 可通过回测复盘验证策略可靠性:
回测流程
- 获取历史 K 线数据 - 使用
coinank_get_klines获取足够的历史数据 - 模拟策略信号 - 按当前策略规则识别历史入场点
- 统计胜率和盈亏比 - 计算历史表现
- 评估策略可靠性 - 判断是否值得执行
回测评估标准
| 指标 | 合格标准 | 说明 |
|---|---|---|
| 胜率 | >= 40% | 过低则策略不可靠 |
| 盈亏比 | >= 1.5:1 | 平均盈利/平均亏损 |
| 样本数 | >= 5 | 历史信号数量足够 |
| 最大连亏 | <= 3 | 连续亏损次数可接受 |
回测结果处理
- 策略可靠 → 继续执行交易
- 策略不可靠 → 两种选择:
- 放弃交易 - 不执行当前信号
- 通知交易员 - 发送 Slack 通知, 说明回测结果不佳, 询问是否继续
通知示例
[策略验证] BOS突破交易法 - 回测结果
币种: BTC | 周期: 15m
样本数: 8 | 胜率: 37.5% | 盈亏比: 1.2:1
结论: 策略表现不佳, 建议观望
是否仍要执行?
Slack 通知规则
必须通知的场景 (使用 MCP slack-tools):
| 场景 | 说明 |
|---|---|
| 开仓 | 任何新开仓位都必须通知 |
| 平仓 | 手动平仓或触发止盈止损平仓 |
| 止损触发 | 止损单被执行 |
| 止盈触发 | 止盈单被执行 |
| 风险预警 | 预判到可能有风险时 (如价格接近止损位、杠杆过高、异常波动等) |
通知格式示例:
[开仓] BTC 做空 @ 100,000
数量: 0.01 BTC
止损: 101,000 | 止盈: 98,000
风险: 10 USDT
[平仓] BTC 空单平仓 @ 99,000
盈亏: +10 USDT (+1%)
持仓时间: 2 小时
[风险预警] BTC 空单接近止损
当前价: 100,800 | 止损: 101,000
距止损: 0.2%
建议关注!
注意事项
- 时间/空白消息 = 自动执行, 必须自主决策, 禁止询问确认
- 有持仓时重点关注盈亏, 结合最新指令和风控规则判断
- 普通对话时不确定可询问, 但时间消息触发时必须自主决策
- 时间消息触发的操作无需确认, 直接执行后汇报结果
- 执行交易后必须发送 Slack 通知, 包括开仓/平仓/止损/止盈
- 预判风险时主动通知, 让交易员及时了解情况