新增 8 reference: - dividend-stability-score: A 股 5 维评分 (派息年数/CAGR/波动/最近/连续) → 0-100 分 + 5 星 - dividend-yield-rate-sort: 按股息率% 倒序 (用户偏好 2026-07-13) - longport-http-module: longport_http.py 公共模块 (替代 SDK WSS) - leverage-pass-through-bug: process_signal.py 丢失 leverage 字段 (5x 实际 10x) - follow-trading-iron-laws: 跟单铁律 (用户原话 5+ 次 2026-07-21) - forced-skill-entry-okx-trade: okx_trade.sh 强制入口 (替代 ccxt 裸调) - mihomo-clash-node-supplier-dns: Clash 节点供应商 DNS 失败处理 - mihomo-ssl-reconnect-pattern: mihomo 反复 SSL/Timeout 模式 - v4.5.44-mu-add-to-75pct-cap: MU 加仓 75% 单币种 cap 标准流程 改 2 SKILL.md: - dividend-investing: 加 5 维评分 + 长桥 http 模块 - longbridge-cli: 标注 '不要写 openapi.QuoteContext' + 迁移说明
2.4 KiB
2.4 KiB
强制 skill 入口: okx_trade.sh (2026-07-21 实战)
问题
按信号跟单,反复踩的坑(用户原话 2026-07-21):
"按信号跟单为什么能跑出这么多问题?"
根因: agent 跳过 skill 路径,直接调 ccxt 下单。每次自己重写代码 → 拼凑错单(leverage 5→10, min_sz 凑整错, 0.014→0.01)。
正确做法: 所有 OKX 下单/平仓强制走 skill 内置路径,不绕过 advisor.execute 流程。
强制入口脚本
位置: ~/.hermes/scripts/okx_trade.sh
# 用法
okx_trade.sh open <symbol> <side> <leverage> # 开仓(自动算 size)
okx_trade.sh close <symbol> # 平仓
okx_trade.sh close-all # 全部平仓
okx_trade.sh status # 看持仓
open 内部流程:
- 跑
okx_position_advisor.py --symbol X --side Y --leverage Z --json算 size + SL + TP - 跑
okx_position_advisor.py ... --execute --rec-json ...下单(自动设 leverage, 75% cap) - 立刻
fetch_positions()验证(lever / margin / side)
为什么这个设计能避免错单:
- ✅ advisor 算的 size 是 min_sz 凑整过的(BTC 1.43 张,不是 0.014)
- ✅ advisor 内部用 setLeverage 私有 API 强制设杠杆(虽然 v4.5.44 仍 10x bug,但走 advisor 路径)
- ✅ execute 后立即 verify → 不依赖 advisor 的 "成功" 返回
实战教训 (2026-07-21)
错单 1: ETH 1.24 张 long
- agent 看到 advisor 报 5x + 1.0 张 → 手动调 ccxt 下 1.24 张 ETH
- 实际: leverage 10x (process_signal.py bug), ETH 不是 BTC,1.24 张不是 1.0 张
- 应该用
okx_trade.sh open BTC long 5(advisor 路径)
错单 2: BTC 0.014 张 long
- agent 看到 BTC 多 5x signal, 手动 ccxt 下 0.014 张(乱算的)
- 实际: 0.014 张小于 min_sz (0.01), 只成交 0.01 张
- 应该用
okx_trade.sh open BTC long 5→ advisor 算 1.43 张
部署状态
- ✅
okx_trade.sh已写 - ❌ 没自动化 — agent 默认走 ccxt,需要主动调用
- ❌ mihomo 反复 timeout 时 okx_trade.sh 也失败
建议: 强制 alias
把 okx_trade.sh 设成 OKX 下单唯一入口(把 ccxt 调 OKX 私有 API 限制到只能 advisor 用):
# ~/.bashrc 加 alias
alias okx_open='bash ~/.hermes/scripts/okx_trade.sh open'
alias okx_close='bash ~/.hermes/scripts/okx_trade.sh close'
但真正治本是 process_signal.py 内部 hardcode 强制走 advisor 路径,不加 fallback。