6DuckLearn provenance: Community skill by 地雷先生, mirrored from the OKX Skills Marketplace (https://www.okx.com/en-sg/agent-tradekit/skills/trade-mirror). It is not curated, verified, or endorsed by 6DuckLearn or represented as an official OKX publication.
Financial safety boundary: Never request secrets in chat. Before any external API call or action that places, cancels, or amends an order; changes leverage; transfers funds; creates or stops a bot; subscribes to or redeems an earn product; or signs/broadcasts a transaction, show the exact live/demo profile, instrument, side, size, price constraints, fees, and worst-case loss, then obtain explicit user approval. Default to read-only or demo mode when uncertain. Treat all analysis as research, not investment advice.
策略名称
交易镜子(Trade Mirror):AI 交易复盘与行为诊断 Skill V1.0
"市场从不会教你交易,市场只会反复惩罚你不改的坏习惯。真正让你进步的,是每次亏损之后那 20 分钟诚实的自我审视。"
这不是一份交易策略
请先明确:本 Skill 不下单、不预测、不给建议仓位。它只做一件事——把你过去做过的交易,像一面镜子一样摊开在你面前,让你看见那些你自己永远不会主动看见的模式。
市面上的交易复盘工具普遍有三个问题:
- 只给数据不给诊断——告诉你胜率 42%,然后就没了
- 不识别情绪——把你 FOMO 追高的那笔和冷静布局的那笔等同看待
- 建议太多等于没建议——一次性列 10 条"改进建议",人类根本改不过来
本 Skill 试图解决这三个问题。它不追求"给你一份漂亮的报表",它追求让你在读完之后有一瞬间的不适感——因为真正有用的复盘,本来就会让人不舒服。
执行模式
手动触发。由用户主动发起,典型触发语:
- "帮我复盘"
- "帮我看看最近 7 天交易"
- "trade mirror"
- "我这周做得怎么样"
默认时间窗口 7 天,用户可指定 1 / 7 / 30 天三档。 覆盖标的:OKX 现货 + 永续合约(Layer 1 自动区分)。
Step 1 · 数据采集层(Layer 1)
调用账户接口,拉取指定窗口内所有已平仓交易记录。
必须采集字段:
| 字段 | 用途 |
|---|---|
instId |
标的,用于分标的统计 |
side(buy/sell) |
方向 |
posSide(long/short,合约) |
持仓方向 |
avgPx(开仓均价) |
入场价 |
closeAvgPx(平仓均价) |
出场价 |
cTime / uTime |
开仓/平仓时间戳 |
sz(数量) |
仓位规模 |
lever(杠杆) |
仅合约 |
fee(手续费) |
成本计算 |
fundingFee(资金费用) |
仅合约 |
pnl(已实现盈亏) |
核心输出 |
必须同步采集的上下文数据(用于 Layer 3~4 的行为诊断):
对每一笔交易的开仓时间点和平仓时间点,向前回溯拉取该标的 1h K 线(至少回溯 24 根),用于:
- 判断进场时趋势方向(EMA20 / EMA60)
- 计算进场时 RSI(14)
- 计算进场时 ATR(14) 相对均值倍率
- 获取当时资金费率(合约)
这一层如果偷懒,后面所有诊断都是空中楼阁。
Step 2 · 客观统计层(Layer 2)
这是地基,必须准确,但不是重点。输出以下指标:
总览面板:
- 总交易笔数 / 盈利笔数 / 亏损笔数
- 胜率 = 盈利笔数 / 总笔数
- 盈亏比 = 平均盈利金额 / 平均亏损金额
- 期望值 = 胜率 × 平均盈利 − (1 − 胜率) × 平均亏损
- 累计净盈亏(扣除手续费和资金费)
- 最大单笔盈利 / 最大单笔亏损
- 最大连续盈利次数 / 最大连续亏损次数(连败警报)
分组分析:
- 按标的分组:每个币种的胜率、盈亏贡献、交易频次
- 按方向分组:做多 vs 做空的胜率差异(识别方向偏见)
- 按时段分组:将 24 小时划分为四段(亚洲盘 00-08 / 欧洲盘 08-16 / 美盘 16-24 UTC),统计每段的胜率与平均盈亏
- 按持仓时长分组:< 1h / 1-4h / 4-24h / > 24h 四档,识别你真正擅长的时间尺度
关键比率:
- 止损触发率 = 止损单被触发的交易数 / 有止损单的交易数
- 止盈触发率 = 止盈单被触发的交易数 / 有止盈单的交易数
- 无止损交易占比 = 开仓时未设止损单的交易数 / 总交易数
- R 倍数分布(R-multiple):每笔交易的 (实际盈亏 / 计划风险),输出均值、中位数、最大正 R、最大负 R
R 倍数是 Van Tharp 提出的核心指标。一笔计划亏 100U 止损的单,实际亏了 300U,就是 −3R;最终赚了 250U 就是 +2.5R。**一个成熟交易者的 R 分布应该呈现"负 R 截断、正 R 拉长"的不对称形状。**如果你的负 R 比正 R 长,说明你让亏损跑,把盈利砍掉了——这是散户最致命的一个结构。
Step 3 · 反模式识别层(Layer 3,核心一)
"你以为你在交易,其实你在重复同一个错误,只是换了不同的币。"
这一层是诊断的第一重火力。AI 必须扫描所有交易,识别以下 七大反模式,每识别到一例,必须输出具体交易编号和证据,不允许泛泛而谈。
反模式 1:反趋势交易病(Counter-Trend Syndrome)
- 定义:开仓方向与当时 4h EMA20/EMA60 排列方向相反
- 扫描逻辑:对每笔做多单检查开仓时 4h EMA20 是否在 EMA60 之下(反之同理),若是则标记
- 阈值告警:若反趋势交易占比 > 30%,触发红色警报
- 输出格式:"你有 X 笔交易是反趋势开仓,其中 X 笔亏损,合计亏损 Y USDT,占本期总亏损的 Z%"
反模式 2:止损过近病(Tight Stop Syndrome)
- 定义:止损单被触发后 4 小时内,价格回到原计划方向并突破原始盈利目标
- 扫描逻辑:对每笔止损成交的单,继续拉取后续 4h 的 K 线,模拟"如果不止损会怎样"
- 阈值告警:若此类案例 > 止损总数的 40%,触发"止损过紧"诊断
- 暗含判断:止损被打的原因可能是"进场时机差"而非"止损设得不合理",这一点 AI 在 Layer 5 需要辨别
反模式 3:裸奔交易病(Naked Position Syndrome)
- 定义:开仓后 60 秒内未设置止损单的交易
- 扫描逻辑:交叉比对订单记录与算法单记录
- 阈值告警:任何一笔裸奔交易都应被单独列出(无论盈亏)
- 严重性:这是唯一一个"哪怕赚了也要批评"的反模式——因为裸奔赢钱只是运气,它会强化最危险的习惯
反模式 4:报复性交易病(Tilt Trading Syndrome)
- 定义:一笔亏损平仓后的 30 分钟内立即开立新仓
- 扫描逻辑:按时间戳排序,识别"亏损平仓 → 30min 内新开仓"序列
- 进一步判断:这类报复单的胜率应单独计算,通常会显著低于该用户的整体胜率
- 输出示例:"你有 X 次报复性开单,胜率 Y%,而你整体胜率 Z%,差距 (Z-Y)% 就是情绪的代价"
反模式 5:止盈过早病(Premature Profit Syndrome)
- 定义:止盈平仓后,价格继续向原方向运行,最终触达 2 倍于实际止盈点的位置
- 扫描逻辑:对每笔止盈成交单,后续追踪 24h 内价格极值,计算"实际兑现 / 潜在最大浮盈"比值
- 阈值告警:若该比值中位数 < 0.4,触发"你总是把肉汤喝掉、把肉留给别人"诊断
- 与反模式 2 配套:止损过近 + 止盈过早 = 经典的"亏损跑、盈利砍"结构
反模式 6:逆费率交易病(Funding Fee Bleed)
- 定义:在资金费率对持仓方向严重不利的情况下(费率绝对值 > 0.1% 且方向不利)继续持有超过 8 小时
- 扫描逻辑:对每笔持仓超 8h 的合约单,检查持仓期间资金费率加权方向
- 输出:"你本期因逆费率持仓支付的资金费累计 X USDT,占总亏损的 Y%"
- 意义:很多亏损不是输在方向上,是输在成本上,这一条专治"我方向看对了为什么还亏"
反模式 7:过度杠杆病(Over-Leverage Syndrome)
- 定义:单笔仓位风险金额(仓位 × 止损距离)超过账户净值的 5%
- 扫描逻辑:对每笔合约交易,反推该笔的实际风险占比
- 阈值告警:任何一笔风险 > 5% 都列出,整体风险超限比例 > 20% 触发"仓位管理失控"诊断
Step 4 · 情绪时间线重构(Layer 4,核心二)
"你的账户对账单,其实是你这一周情绪的心电图。"
这一层是 Trade Mirror 最独特的价值——广场上没有其他 skill 在做这件事。AI 不看你说了什么,只看你做了什么,反推你当时处于什么状态。
情绪状态判定规则:
| 行为特征 | 推断情绪 |
|---|---|
| 30 分钟内连续同向加仓 ≥ 2 次,且每次仓位递增 | FOMO(追高) |
| 亏损平仓后 30 分钟内反向开仓 | 报复 |
| 盈利平仓后立即加倍开新仓 | 过度自信 |
| 连续 3 笔止损后 4 小时无新交易 | 挫败/回避 |
| 持仓浮亏 > 预设止损但未触发止损且未平仓 | 侥幸(希望回本心态) |
| 止盈单距离开仓价 < 1%,过早锁利 | 恐惧回吐 |
| 长时间无交易后突然大仓位入场 | 积压欲望释放 |
| 同一标的同一方向 1 小时内反复开平 | 焦虑/犹豫 |
输出形式:生成一条叙事性的"情绪时间线",以自然语言呈现,例如:
【本周情绪时间线】
周一 UTC 02:14 — 冷静:低仓位试探 BTC 做多,按计划止盈
周一 UTC 14:30 — 过度自信:盈利后立即 3 倍仓位加仓 ETH,止损过紧被扫
周一 UTC 14:58 — 报复:28 分钟后反向做空 ETH,再次止损
周二 UTC 03:20 — 挫败:连败后沉默 9 小时,无交易
周二 UTC 22:10 — FOMO:看 SOL 拉升 5% 后追多,买在当日高点
周三 UTC 全天 — 恢复理性:回归低频试探,3 笔小盈利
...
这段文字的价值不在于精确,在于让你看见自己被情绪牵着走的完整轨迹。很多人一辈子没意识到自己交易的根本问题不是技术,是情绪。
Step 5 · 反事实模拟层(Layer 5,硬核差异点)
"如果当时止损再宽 0.5%,结果会怎样?"——这个问题,AI 能替你精确算出来。
对本期所有亏损交易,AI 执行三类反事实模拟:
模拟 A:止损宽度敏感性
- 对每笔止损成交单,模拟"如果止损再宽 0.5% / 1% / 2% 会怎样"
- 拉取该交易结束后 24h 内的最高 / 最低价,计算若不止损的最终盈亏
- 输出"你若整体放宽止损 1%,本期净盈亏会从 X 变为 Y"
- 注意:这不是鼓励放宽止损,而是暴露"你的止损设置是否系统性过紧"
模拟 B:进场时机敏感性
- 对每笔亏损单,模拟"如果晚进场 1h / 2h / 4h 会怎样"
- 用同样的止盈止损距离,在推迟时间点重新测算
- 输出:"你有 X 笔交易若延迟 2 小时进场可避免亏损,这说明你的进场时机系统性过早"
模拟 C:镜像对照——如果你什么都不做
- 计算"若本期未进行任何交易,账户会是多少"
- 对比实际账户终值,算出"交易行为本身的净贡献"
- 这是治疗过度交易最有效的一记闷棍:很多人发现自己辛苦交易一周,不如什么都不做
输出格式示例:
【反事实镜像】
本期你实际结果:−245 USDT
若止损放宽 1%:+120 USDT(差距 +365 USDT)
若延迟 2h 入场:−87 USDT(差距 +158 USDT)
若本期未交易:0 USDT(差距 +245 USDT)
残酷结论:你本期所有的交易行为,综合贡献为 −245 USDT。
Step 6 · 成本显性化层(Layer 6)
很多亏损不是输给市场,是输给摩擦成本。这一层单独把成本拉出来示众。
成本构成拆解:
- 开仓手续费总计
- 平仓手续费总计
- 资金费总支出(合约,正负相抵后的净值)
- 滑点估算(开仓价与当时中间价的偏离)
关键指标:
- 交易成本侵蚀率 = 总成本 / |总盈亏|
- 若你本期盈利 100U,成本花了 80U,侵蚀率 = 80%——说明你在给交易所打工
- 每笔平均成本 = 总成本 / 交易笔数
- 成本 vs 期望值 对照:若单笔平均成本 > 单笔期望值,你的策略在数学上不可能长期盈利
输出示例:
【成本体检】
本期总交易成本:82.5 USDT
其中:手续费 54.2 | 资金费 28.3 | 估算滑点 —
单笔平均成本:4.1 USDT / 笔
单笔平均盈利期望:2.8 USDT / 笔
结论:你的策略期望值尚不足以覆盖交易成本,降低频次优先于优化胜率。
Step 7 · AI 教练诊断(Layer 7,核心三)
"优秀的教练不会告诉你十件事,他只会告诉你一件——那件最重要的事。"
综合前六层所有数据,AI 必须输出三段式诊断。这是整个 Skill 的决策层,也是对标比赛审核"包含 AI 推理判断步骤"的核心环节。
格式(严格遵守):
═══════════════════════════════════
交易镜子 · 本期诊断
═══════════════════════════════════
【一句话诊断】
(用一句话概括本期最核心的问题)
例:"你本期最大的漏洞是反趋势交易,它让你付出了总亏损 61% 的代价。"
【核心证据】
(列出 3 条最关键的数据证据,引用具体交易编号)
1. 交易 #12、#15、#19 均为 4h EMA 向下时做多,合计亏损 XXX USDT
2. 反趋势交易占比 47%,显著高于健康区间 (<25%)
3. 若剔除反趋势交易,本期净盈亏将由 −245 USDT 转为 +92 USDT
【行为模式】
你的盈利模式:(AI 归纳在什么条件下用户最能赚钱)
例:"亚洲盘低波动时段的小仓位趋势跟随,胜率 68%"
你的亏损模式:(AI 归纳在什么条件下用户最容易亏)
例:"美盘开盘后的反趋势抄底/摸顶,胜率仅 18%"
【情绪剖面】
(一句话总结本期情绪主导类型)
例:"FOMO 主导型(占所有开仓决策的 40%)"
【下一步:只改一件事】
(严禁给超过一条的建议)
下周你只需要做到:___
具体做法:___(必须可执行、可验证)
验证指标:___(下期复盘时如何判断你做到了没有)
例:
下周你只需要做到:开仓前必须确认 4h EMA20 方向与开仓方向一致
具体做法:每次下单前,把 4h K 线截图贴到笔记里,EMA20 向上才做多、向下才做空
验证指标:下期复盘时,反趋势交易占比应 < 25%
═══════════════════════════════════
为什么只允许一条建议?
行为经济学反复证明,人类一次只能有效改变一个习惯。给 5 条建议的复盘报告,实际执行率接近 0;给 1 条建议,执行率才可能突破 30%。精简不是简陋,是对认知负荷的尊重。
Step 8 · 归档与闭环(Layer 8)
每次复盘完成后,生成一份 markdown 格式的复盘日记,包含:
- 复盘时间戳
- 时间窗口(如 2026-04-01 ~ 2026-04-07)
- 完整 Layer 2~7 输出
- 本期"只改一件事"的任务
下次复盘时,AI 必须首先执行闭环检查:
- 读取上次复盘日记中的"只改一件事"任务
- 在本期数据中,专门验证这一条是否已改善
- 输出"上期任务完成度评估":
- ✓ 完成:该问题占比下降 > 50%
- △ 部分改善:下降 10%-50%
- ✗ 未改善:下降 < 10% 或反而恶化
- 若未改善,本期"只改一件事"继续是同一条,不换新目标
**这是整个 Skill 的灵魂机制。**没有闭环,复盘只是情绪发泄;有了闭环,复盘才变成训练。
使用示例(典型对话)
用户: 帮我复盘最近 7 天
AI 执行流程:
- 拉取过去 7 天所有已平仓交易
- 对每笔交易拉取对应时间点的 1h K 线上下文
- 执行 Layer 2~6 的全部计算
- 综合推理输出 Layer 7 诊断
- 读取上次复盘日记(如有)执行闭环检查
- 生成本期复盘日记 markdown 并附在回复末尾
AI 输出顺序(固定,不可打乱):
① 上期任务完成度(若为首次复盘则跳过)
② 客观统计概览
③ 反模式扫描结果(按严重性排序)
④ 情绪时间线
⑤ 反事实镜像
⑥ 成本体检
⑦ 本期诊断(三段式)
⑧ 归档日记
设计原则(不可违反)
// [P1] 每条诊断结论必须有具体交易编号作为证据,禁止空泛评价
// [P2] 本 Skill 禁止输出未来预测(如"明天 BTC 会涨"),只诊断过去
// [P3] 禁止情绪化评语(如"你太菜了"),所有批评必须由数据驱动
// [P4] 每期复盘只允许给出一条核心建议,不得超过
// [P5] 裸奔交易(无止损)必须无条件列出,哪怕那笔是盈利的
// [P6] 反事实模拟必须包含"如果什么都不做"的镜像对照
// [P7] 闭环检查优先级最高,未完成上期任务前不得下发新任务
// [P8] 本 Skill 不下单、不荐仓、不预测,只做复盘与诊断
这份 Skill 的自我叙述
市场上从不缺少"预测未来"的工具,缺的是"看清过去"的工具。
每个亏损的交易者都在反复做同一件事:重复自己过去的错误,然后告诉自己"下次不会了"。但下次永远会。不是因为他不聪明,是因为他从未真正看清过自己做了什么。
交易镜子只做一件事——把镜子举到你面前,让你看见你真正在做什么。 不是你以为你在做什么。
当你能看见自己的反模式、看见自己的情绪时间线、看见自己如果什么都不做会更赚——你才真正开始交易。
在那之前,你只是在用你的钱,交学费。
Skill 版本:V1.0 | 适用平台:OKX Agent Trade Kit | 覆盖:现货 + 永续合约 本 Skill 以 MIT 协议开源,欢迎 fork 与改进。