Files
Hermes-Skills/okx-auto-position/references/v4.5.66-2026-08-26-drop-low-rating-and-proxy-modes.md

7.0 KiB

v4.5.66 (2026-08-26 末段) 去掉"性价比低"判断 + proxy 必要性确认 + TRUMP 调杠杆恢复 USDC 空闲

会话: 8 月 26 日熬鹰资本 TRUMP/MSTR 全周期(同 v4.5.65 同一 session 的后半段)

一、去掉"性价比低"判断 — 用户偏好反转

用户原话: "把性价比去掉,不要了。" (针对 SKHYNIX 新开仓信号报"性价比低"被跳过)

修复 (scripts/process_signal.py::process_signal() open/add/reduce execute 前):

# 旧 (v4.5.21~v4.5.62): "性价比低" 静默跳过 + 推 skipped_low_rating
# 新 (v4.5.66): 去掉这个判断, contracts > 0 就 execute
contracts = rec.get('contracts', 0)
auto_execute = contracts > 0  # 性价比低也不再跳过 (用户要求 2026-08-26)

新行为:

  • advisor 报 0.065 张 性价比低 → 不再跳过, execute 真实下单 (实测 0.098 张)
  • advisor 报 0.01 张 性价比低 → 不再跳过, 但 set_leverage 失败时还是跳过 (cross margin 0.01 张保证金 < 1 USDT)
  • 用户原话: "把性价比去掉,不要了" → 这是用户对 advisor 报"低"的明确反弹

与 v4.5.21~v4.5.62 的关系:

  • v4.5.21 加的"性价比低"判断是 v4.5.37 之前"小币种 silent execute"的兜底
  • 现在小币种 silent execute 已通过 silent_order 标识 (v4.5.65) → 不再需要"性价比低"做兜底
  • 用户的实际偏好:跟单就要跟, advisor 怎么说无所谓

部署清单:

  • process_signal.py 去掉 is_low_rating 判断
  • okx_position_advisor.py 去掉"性价比低"字段生成 (待清理, 不阻塞)
  • format_execution_result 检查"性价比低"残留引用

二、proxy 必要性 — 公开 API 可直连, 私有 API 必须 proxy

用户原话: "这个需要走代理吗?不用吧" (针对 OKX raw REST 调用)

会话内验证:

# 公开 API (行情/时间) - 可以直连, 不需要 proxy
curl -sS https://www.okx.com/api/v5/public/time
# → {"code":"0","data":[{"ts":"1787987273250"}],"msg":""}

# 私有 API (下单/查持仓/查余额) - 必须走 proxy 127.0.0.1:7890
# 原因: OKX 账户的 API key 绑定到特定 IP, 国内/非绑定 IP 直连会拒绝

硬规则 (v4.5.66 新增):

  • 公开 API (/api/v5/public/*, /api/v5/market/*): 直连 OKX, 不需要 proxy
  • 私有 API (/api/v5/account/*, /api/v5/trade/*, /api/v5/position/*): 必须走 proxy 127.0.0.1:7890 (clash/mihomo)
  • 跨工具统一: check_account.py / manual_order.py / process_signal.py / signal_tracker.py 的 _okx_raw_request 全部走 proxy

proxy 抽风模式:

  • _okx_raw_request 返回 None (SSL EOF / connection reset)
  • vs 返回 dict 但 code != '0'
  • 前者是proxy 不通 (整体重试 30s), 后者是业务报错 (不必重试)

部署清单:

  • check_account.py 加 if positions == [] and availBal == 0: warning = "ssl_maybe_failed", 自动 30s 后 retry
  • manual_order.py 私有 API 调用必须 proxies={'http':'http://127.0.0.1:7890','https':'http://127.0.0.1:7890'}
  • process_signal.py 主流程区分"proxy 抽风" vs "业务报错", 给用户不同提示

三、TRUMP 1x → 2x 调杠杆恢复 USDC 空闲 实战

会话内事件时间线:

  1. 熬鹰 TRUMP long 1x 新开仓 → advisor 报 137 张 → execute 实际 586 张@1x (幽灵 execute, 跟 v4.5.62 HYPE 同源)
  2. USDT 可用从 $156 → $2.13 (几乎全占, 9成9仓位)
  3. 熬鹰 TRUMP 调杠杆 1→2x 信号 → v4.5.64 修复后自动跟 → TRUMP 586张@2x
  4. USDT 可用从 $2.13 → $81.25 (杠杆升, 保证金降, 空闲恢复)

关键洞察:

  • 1x 全仓: 名义价值 = USDT 占用 (≈ 杠杆 1x)
  • 2x 全仓: 名义价值 = 2 × USDT 占用 (杠杆升, USDT 占用减半)
  • 调杠杆本身不加仓, 只调整"实际占用保证金", 所以 USDT 空闲恢复
  • 用户的"只留 X 成余额"指令, 调杠杆是隐式生效的另一条路径

实战模板 (从 1x 调到 2x 释放 USDC):

# 检查现有 1x 持仓
python3 check_account.py TRUMP-USDT-SWAP
# → 586 张@1x, USDT 占用 $155.82

# 调杠杆 (自动跟 OR 手动)
python3 process_signal.py "调杠杆 1→2x 信号"
# → TRUMP 586张@2x, USDT 占用 $79.14, USDT 可用 $81.25

SOP: 用户仓位接近满 (USDT 可用 < 10%) → 先查 advisor 是否在调杠杆信号, 优先跟调杠杆 而不是手动平仓

四、MSTR manual_order 4.01张@5x + 手动加锁 实战细节

会话内事件:

  • 熬鹰 MSTR 1x 新开仓 → advisor 报"性价比低" → (本 session 后段已去掉判断)
  • 用户主动要跟单, 手动 raw REST 下单 1 张 → 0.01 张 → 加 3 张 → 共 4.01 张@5x
  • 用户说 "用 8 成来开" → "不是,是只留 2 成的余额" → "那只留 3 层呢"
  • 我第一反应理解错, 留余额 vs 占仓位 是两件事

用户行为模式 (v4.5.66 强化):

  • "X 成来开" = 占 X 成仓位 (留 1-X 成余额)
  • "留 X 成余额" = 留 X 成余额, 占用 1-X 成仓位
  • 用户说"留 2 成余额" = 我应该占用 80% 仓位
  • 用户说"只留 3 层" = 留 3 成余额 = 占 7 成仓位
  • 永远要 clarify: 用户说 "X" 是 "留" 还是 "占"

manual_order 模板 (/tmp/lock_<X>.py 已沉淀到 v4.5.63):

cat > /tmp/lock_mstr.py << 'PYEOF'
import sys
sys.path.insert(0, '/home/openclaw/.hermes/skills/trading/okx-auto-position/scripts')
from signal_tracker import acquire_lock
ok, msg = acquire_lock("MSTR", "熬鹰资本", "short", reason="手动加锁", auto=False)
print(f"ok={ok}, msg={msg}")
PYEOF
python3 /tmp/lock_mstr.py

关键陷阱 (v4.5.63 已记):

  • acquire_lock 的 symbol 必须无后缀 ("MSTR" 不是 "MSTR-USDT-SWAP")
  • 验证: sqlite3 ~/.hermes/trading/signal_history.db "SELECT * FROM position_locks;" 应只见无后缀 symbol

五、本次 session 净状态 (与 v4.5.65 续)

持仓变化:

  • TRUMP long 586张@1x → 调 2x → 586张@2x (v4.5.64 自动跟)
  • SKHYNIX long 0.098张@1x (去掉"性价比低"后 execute 成功)
  • MSTR short 4.01张@5x (手动加仓)

USDT 变化:

  • TRUMP 调杠杆前: $157.95 (可用 $2.13)
  • TRUMP 调杠杆后: $160.39 (可用 $81.25)
  • 累计净增: +$0.88 (TRUMP 调杠杆盈利)

锁表新增:

  • MSTR | 熬鹰资本 | short
  • TRUMP | 熬鹰资本 | long
  • SKHYNIX | 熬鹰资本 | long

部署清单 (下次 session 第一件事)

  • 去掉"性价比低"判断, 跟所有熬鹰信号
  • okx_position_advisor.py 清理"性价比低"字段 (可选)
  • _okx_raw_request 加 proxy 抽风检测 (None 自动 retry)
  • manual_order.py 检查 body=body keyword arg (v4.5.65 已记)
  • "X 成来开" / "留 X 成余额" clarify 模板入 reference
  • 调杠杆后 USDT 空闲恢复机制 (SOP) 入 reference

关联版本

v4.5.21 加"性价比低"判断 (兜底)
   ↓
v4.5.37 ~ v4.5.62 沿用 + silent_order 标识
   ↓
v4.5.65 silent_order 完整化, "性价比低"还有兜底作用
   ↓
v4.5.66 去掉"性价比低"判断, 跟所有熬鹰信号 (用户偏好反转)

每次踩坑都在 OKX 跟单这条线上, 跟其他 skill 不重叠。