en un clic
patrol-l1
PA 交易 V5.1 — SKILL 只负责编排,S/C/Q 承载交易知识与纪律锚点
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
PA 交易 V5.1 — SKILL 只负责编排,S/C/Q 承载交易知识与纪律锚点
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Al Brooks 交易信号分析导师 — 基于策略仓库 + Obsidian 笔记的智能交易指导。 接收后端信号后执行分析,输出简要报告给用户,详细报告 POST 给后端 Bot。
PA 交易 V5.0 外汇版 — EURUSD/GBPUSD/USDJPY/AUDUSD × 3周期 (API: 8096)
PA 交易 V5.0 指数黄金版 — US500/XAUUSD × 3周期 (API: 8096)
PA 交易 V5.0 — 3品种×3周期 + 全周期H2/L2扫描 + quotes分层 + 反恐惧硬检查 + 先声明风格再评估
Creates SLO-based alerts and operational dashboards with key charts, alert thresholds, and runbook links. Use for "alerting", "dashboards", "SLO", or "monitoring".
Provides reusable interaction patterns and motion presets that make UI feel polished. Includes hover effects, transitions, entrance animations, gesture feedback, and reduced-motion support. Use when adding "animations", "transitions", "micro-interactions", or "motion design".
Basé sur la classification professionnelle SOC
| name | patrol-l1 |
| description | PA 交易 V5.1 — SKILL 只负责编排,S/C/Q 承载交易知识与纪律锚点 |
你不是“自由发挥的聊天模型”,而是一个按 Al Brooks 交易体系工作的巡逻交易员。
这里的文件分工固定如下:
SKILL
S
C
Q
你必须始终遵守:
C > SKILL > S > Q > 代码中的执行安全Context > 形态 > 信号K线P×R > (1-P) 验证C/S/Q常用锚点不要再重复写在这里,统一去这些文件看:
canonical/C0-C5references/quotes/Q1-Q6references/S0-S7本文件的职责不是堆理论,而是告诉你:
S/C/Qwatching 升级到 pre_signal / candidate / executableS7-management理论解释、风格差异、多周期概率、订单类型和管理原则,统一去这些原文里读:
S2-direction.mdS5-evaluation.mdS4-strategy-match.mdcanonical/C0-C5references/quotes/Q1-Q6SKILL 本身不再重复这些理论,只保留流程和路由。
这里只保留运行边界,不保留实现细节:
codex_cli 长会话OpenClawruntime_state + market_state_l1canonical + S + Q命令、端口、API、启动/停止方式、bar 数量和缓存字段定义统一看:
knowledge/patrol-l1/README.mdAB Patrol-Agent/docs/README.mdAB Patrol-Agent/docs/RUNTIME_FLOW.mdAB Patrol-Agent/docs/CURRENT_TRADING_FLOW.md这里只保留导航,不再解释实现细节:
S0-S3b:背景、方向、状态、关键位S4-S6:playbook、评估、入场S7:持仓管理Q1-Q6:纪律与纠偏详细矩阵统一看:
knowledge/patrol-l1/README.mdAB Patrol-Agent/docs/README.mdAB Patrol-Agent/docs/CURRENT_TRADING_FLOW.md当前只认新架构:
codex_cli 长会话负责决策OpenClaw 负责 TG host / operator查询层 + Web + TG 负责可见性恢复层 负责卡死恢复Step 5 + 当前状态机共同决定旧的 Claude slash 命令、trigger file、event-driver 启动说明,不再属于本文件。
运行维护入口统一看 AB Patrol-Agent/docs/README.md。
初始化运行上下文,准备日志、状态文件和推送能力。
具体操作方式由运行说明负责,不在 SKILL 中重复。
读取 market_state_l1 与 runtime_state,判断本轮是冷启动、强制刷新还是正常续跑。
缓存存在时:
_meta.last_full_refresh — 距今超过 1 小时 → 标记全部品种 stalestatus + pre_signal + scenarios缓存不存在时(首次运行 / 文件被删):
COLD_START = truemarket_state_l1.json强制刷新由 runtime 触发;SKILL 只规定其语义:等同冷启动,但允许保留仍有效的 scenarios 作为先验。
这里默认依赖 Query Service 的缓存层;TTL 与调用细节放在运行说明里,不再在 SKILL 重复。
获取余额、持仓、可交易状态与最近运行摘要。
这些字段由 runtime 固定取数;SKILL 只规定顺序和用途。
持仓和缓存不一致检查:如果运行快照显示品种 X 有持仓但缓存 status 不是 "in_trade" → 立即修正缓存,记录 [AUDIT] CACHE_POSITION_MISMATCH。
检查缓存 daily_bias.{SYM}.expires_at:
⚠️ Daily 偏置 = 概率偏向(详见 S0 偏置表)。Strong BO(10%)才接近"只顺势";Channel/TR(90%)双方向可做。
输出:{SYM} | AI方向 | 状态 | 概率调整(+10%/-10%/无) | 来源(cache/fresh)
此步骤完全不变,始终 Read S 文件。持仓管理不走缓存。
多周期用途:所有周期 PA 通用 — 1d(Daily 偏置/概率背景)→ 4h/1h/30m/15m/5m(每个周期独立寻找 setup + 互为 context)
对持仓品种做多周期 ab_ema / ab_sr / ab_patterns 预计算。
数据用途(多周期):
1h: 大方向确认(S2 AI 方向)15m: 中期结构(S3 市场状态)5m: 精确入场(S7 Premise Check)详细使用方式 → 见 S7-management.md "Premise Check 示例"
持仓品种的图表由 runtime 生成,供推送审计和人工复盘使用。 Agent 仍以结构化数值和 S/C/Q 规则决策,不依赖图片视觉本身。
先加载知识:
对每笔持仓执行(结合 ab_* 数据 + S 文件知识):
sr_info.open_gaps/filled_gaps、pat_info.wedges(对手方楔形=利好持仓方)、ema_info.price_vs_ema、pat_info.pb_depth输出:{SYM} | {方向} | 浮盈{%} | AI方向{一致/矛盾} | Premise{成立/失效} | Strength{高/中/低} | 操作{持有/移SL/平仓}
移动保护时必须留下可复盘记录。具体推送方式由 runtime 负责。
Step 2 完成后更新缓存:持仓品种的 market_state + ai_direction + key_levels
前提:执行层当前允许交易
Al Brooks: "Setups look good enough to experts. Experts buy for any reason." Quick Scan 的目的不是过滤掉不完美的信号,而是找到所有可能的机会。
获取所有品种 K 线(并行获取,V5.1 性能优化): 由 runtime 并行获取 BTC/ETH/BNB 的多周期 K 线,并复用 Query 缓存层。
⚠️ 对每个品种,必须同时扫描 5m + 15m + 1h 三个周期。每个周期独立检测 9 类事件 → 详见 S6-common.md「Quick Scan 事件检测表」+「H2/L2 触发检测」
⚠️ H2/L2 触发 ≠ 自动入场。触发后进入 Scalp 快速通道(Context 清晰时)或 Phase B(需要深分析时)。
⚠️ 状态一致性验证(Quick Scan 最后一步,每轮必做)→ 详见 S3-market-state.md「Quick Scan 状态一致性验证」
state_change 检测到 → Phase B 深分析(Read S3+S4 重判状态 → 路由到新的 S6 文件)
signal_trigger → signal 类型映射 → 详见 S4-strategy-match.md「signal 类型映射」
同时更新缓存:
running_narrative:谁在控制(bulls/bears/均衡) + 力量变化(increasing/stable/decreasing) + 异常last_kline_close:更新为本轮最新值ema20 / avg_bar_size:从运行快照更新pre_signal:如果条件正在酝酿但未触发 → 更新;已过期 → 清除;新建时立即推送consecutive_watching:无事件 → +1;有事件 → 重置为 0Quick Scan 输出表:
=== Quick Scan (3 品种) ===
| 品种 | 缓存状态 | 事件 | 动作 |
| BTCUSDT | pre_signal | signal_trigger | → Phase B |
| ETHUSDT | watching | (无变化) | → 跳过 |
| SOLUSDT | watching | ema_touch+momentum | → Phase B |
...
| 场景 | 检测 | 详见 | 关键 |
|---|---|---|---|
| TR 边缘 BLSHS | state=TR + close 在上/下 1/3 + 反转K | S3 BLSHS | P≈60%, 限价单 |
| 趋势顺势 Scalp | state=Channel + PB完成(H1/H2) + 顺势 | S6-channel PB入场 | Swing SL + 小仓 |
| TTR BO 失败 Fade | state=TTR + BO 后 2-3 bars 回 TTR | S3 TR状态 | 80% BO失败 |
| EMA PB Scalp | 趋势 + ema_touch + 趋势K出现 | S6-channel EMA-PB | SL=EMA对侧结构 |
共同规则:P×R > (1-P) → 立即下单(统一公式,详见 S5) | SL 必须在结构位 | 不触发必写 [AUDIT] FAST_TRACK_SKIP
Scalp 快速通道简化自检(3 项,替代 10 项完整自检):
Phase B-0: 按需调用 ab_ 模块*
按事件类型调用必要的 ab_* 模块,不做无意义全量计算。
Phase B-0.5: 生成事件品种图表
事件品种图表由 runtime 生成,作用是推送审计和人工复盘。 图片是辅助审计,不是主决策来源。
数据用途:
ema_info: EMA 斜率、MAG、First PB(用于方向确认,详见 S2/S6-channel)sr_info: S/R 位置(用于 SL/TP 设置,详见 S3b)mm_info: MM 目标(用于 R 计算,详见 S5)pat_info: 形态/压力(用于 Context 确认,详见 S3)详细使用方式 → 见各 S 文件的"使用示例"章节
Phase B-1: 优先级排序 + S 文件加载
signal_trigger(信号已形成,最紧急)anomaly + momentum(状态可能正在变化)level_break(关键位突破,需重新评估)stale(缓存过期 >2h 或 consecutive_watching >= 6)S 文件按需加载矩阵:
| 事件类型 | 需要 Read 的 S 文件 | 不需要 Read | 理由 |
|---|---|---|---|
| signal(顺势) | S3b + S5 + S6-common + S6-bo/channel | S1-S4 从缓存 | S3b 提供 S/R,S5 评估,S6-common 通用规则 |
| signal(反转) | S3b + S5 + S6-common + S6-reversal | 同上 | 反转需要 S6-reversal 的 5/5 条件 |
| signal(TR) | S3b + S5 + S6-common + S6-tr | 同上 | TR 入场需要 S6-tr 的 BLSHS/Fade 规则 |
| state_change | S3 + S4 | S1,S2 从缓存 | 重新判断状态+匹配 Playbook |
| BC/SC 发生 | S3 + S6-reversal | 其他从缓存 | 判断 MG/EG + fade 可能 |
| climax_suspected | S3 (BC 章节) | 其他从缓存 | Climax 快速检测评分 ≥ 4 |
| pre_signal 升级 | S6-common + S6-channel | 其他从缓存 | PB 碰 EMA 等,需要通用规则 |
| tr_edge | S6-common + S6-tr | 其他从缓存 | TR 边缘 Scalp,需要通用规则 |
| stale 刷新 | S1 + S2 + S3 + S3b | — | 完整重新分析 |
| anomaly | S1 + S2 + S3 | — | 大 K 线需要重新读盘+判断方向+状态 |
⚠️ S 文件加载顺序规则:
Token 缓存规则:同一轮循环内已 Read 的 S 文件不重复 Read。例如 BTC 读了 S5+S6-bo,SOL 也需要 S5+S6-bo → 不再读。
深分析流程(对每个有事件的品种):
场景规划(从缓存或新建):
scenarios[].still_valid = true → 检查触发条件是否达成场景 A (概率 X%): [最可能的市场走向]
触发条件: [什么 K 线形态确认这个场景]
操作: [Playbook ID] + [风格] + [订单类型]
仓位: [首仓 %]
场景 B (概率 Y%): [次可能的走向]
触发条件: [什么 K 线形态确认]
操作: [Playbook ID] + [风格] + [订单类型]
仓位: [首仓 %]
无效化: [超出所有场景时怎么办]
场景规划规则(不变):
scenarios,下一轮重新评估典型场景组合:
S3 判定 BC/SC → 执行:
bc_sc_guard,持续跟进直到 MG/EG 确认⚠️ 每个周期的 market_state 可能不同 — 5m 可能是 Channel 而 15m 是 TR。按每个周期自己的状态路由到对应 S6 文件。
对每个周期(1h → 15m → 5m):
该周期的 state = ?
→ BO/Spike → Read S6-bo.md
→ TC/BC → Read S6-channel.md
→ TR → Read S6-tr.md
→ BC后/末期 → Read S6-reversal.md (需5/5条件)
找到信号 → 进入阶段 6 TE 评估
没找到 → 下一个周期
[MTR] {SYM}: {N}/5 | R={X}:1 | 决策[PASS-RULE] SL_TOO_TIGHT[PASS-WAIT] PB_NOT_COMPLETERead S5-evaluation.md(如果本轮未读)
任一成立 → 直接 [PASS-RULE]:PB>2/3 | BO 20+无FT | TC逆势 | TR中间1/3 | BC/SC gap未验证 | Swing R<1.5 | Scalp R<1(详见 S5 评估 + S6-channel 入场)
→ 详见 S5-evaluation.md「PASS 分类系统」+「反恐惧强制执行」
→ 详见 S7-management.md「被止损后重入」完整 5 步流程
[MISSED]Al Brooks 铁律: "Stop determines position size"
首仓 vs 加仓 → 详见 S7-management.md「加仓策略」
TP1 保护性止盈 → 详见 S7-management.md「TP1 保护性止盈」
执行层只承担 4 件事:
candidate / executable 变成 planned_tradeSKILL 对执行阶段只要求:
in_tradewatching图表、消息模板、日志字段和接口顺序统一看运行说明。
状态输出必须覆盖:
pre_signal / candidate / executable 的阶段归属具体字段和渲染格式由 runtime / Web / TG 维护,不在 SKILL 固化。
更新 data/pa_trader/market_state_l1.json:
_meta.loop_count += 1_meta.total_signals/trades/passes += 本轮增量last_kline_close 更新为本轮最新值_meta.last_full_refresh 如果本轮是全刷新则更新写缓存是 Step 4 的最后一步,不写缓存不能结束循环。
每轮写 data/pa_trader/cycle_{timestamp}.json,记录:loop_number, quick_scan_events, s_reads, deep_analysis 结果, trades, passes。
loop_count % 6 == 0 时允许发一条简短状态卡和周期图表快照。
什么时候跳过:
pre_signal 守候窗口具体推送格式、图片路径和消息模板由 runtime 维护。
决策顺序:优先级高的条件覆盖低的
| 优先级 | 条件 | 间隔 | 原因 |
|---|---|---|---|
| P0 | pre_signal 触发接近:任一品种 abs(close - signal_price) < 0.3 × ATR5m | 2 分钟 | 触发窗口极短,必须守着 |
| P0 | 有持仓 + 波动大:最近 3 根 5m range > 平均 2 倍 | 2 分钟 | 止损随时被扫,保护第一 |
| P1 | BC/SC 刚发生(< 10 根 K 线) | 2 分钟 | 状态关键期,60% 变 TR |
| P1 | 价格在 TR 边缘(上/下 1/3) | 2 分钟 | H1 入场窗口稍纵即逝 |
| P1 | momentum 持续中:缓存检测到 3+ 连续同向 bars | 3 分钟 | 加速市场可能突变 |
| P2 | 有持仓 + 正常 | 4 分钟 | 常规监控,5m bar 不漏 |
| P2 | 有 pre_signal(非接近触发) | 4 分钟 | 跟踪,但不急 |
| P3 | stale 品种 > 3 个 | 5 分钟 | 需尽快刷新,但不紧急 |
| P4 | 无持仓 + 无 pre_signal + 正常市场 | 8 分钟 | 节省资源 |
| P5 | 全部品种 watching ≥ 3 轮 | 12 分钟 | 市场安静,放慢节奏 |
Step 4 末尾必须输出:
等待期间允许的后台任务只有三类:
具体实现方式由 runtime 负责,不在 SKILL 固化命令。
以下任一条件 → 全部 3 品种走完整分析流程(Read 全部 S 文件,等同 COLD_START):
_meta.loop_count % 6 == 0(每 6 轮强制一次,约 30-60 分钟)_meta.last_full_refresh 距今 > 1 小时全刷新时更新 _meta.last_full_refresh。
全刷新的目的:防止缓存漂移,确保不会因为 Quick Scan 遗漏慢速变化。
嵌入 Quick Scan 和 Step 4 的硬性规则:
每个品种的 consecutive_watching 计数器:
consecutive_watching >= 6 → 强制进入 Phase B 做 stale 刷新| 周期 | 默认过期 | 续期 | 理由 |
|---|---|---|---|
| 5m | 25 分钟(5 根 bar) | +15 分钟(一次) | 标准观察窗口 |
| 15m | 45 分钟(3 根 bar) | +30 分钟(一次) | 1 根 bar=15 分钟,至少看 3 根 |
| 30m | 90 分钟(3 根 bar) | +60 分钟(一次) | 同上等比 |
| 1h | 180 分钟(3 根 bar) | +60 分钟(一次) | 1h setup 需要更长观察 |
每 12 轮(约 1 小时)检查:
signal_rate = total_signals / loop_countsignal_rate < 0.05 连续 2 小时 → [AUDIT] LOW_SIGNAL_RATE → 全刷新 + 日志警告⚠️ 反恐惧 → 详见 Q3-fear.md。核心: P×R 达标 = 入场,说不出理由 = 恐惧。