关于 shark
SHARK 是一项交易策略技能,通过交易者集中度、方向一致性、动量和资金费率四道门槛筛选标的,面向 Senpi 运行时配置。持仓退出由 DSL 插件运行时管理,而非扫描器执行。
主要功能
- 01四道门槛筛选候选标的
- 02入场评分门槛为 8 分
- 03DSL 运行时管理持仓退出
- 04最多同时持有两个仓位
- 05设置资产冷却期和每日风险限制
适用场景
- 01筛选具备一致入场信号的市场标的
- 02为持仓配置 DSL 管理的退出机制
- 03限制同时持仓数和每日交易风险
MCP 相关
技能要求在初始化时验证 Senpi MCP,并说明符合信号条件时通过 Senpi MCP 创建仓位。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ senpi-ai/ senpi-skills --skill shark安装后在 Claude Code 中输入/shark确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdruntime.yamlconfig/shark-config.jsonreferences/skill-attribution.mdscripts/shark-health.pyshark-scanner.pyshark_config.py详细介绍
🦈 SHARK v3.0 — SM 信念 + 清算级联猎手
四道关卡。一个扫描器。DSL 管理退出。
⛔ 关键 Agent 规则
规则 1:安装路径为 /data/workspace/skills/shark/
规则 2:扫描器不会退出持仓
扫描器发现有活跃持仓时,会输出 NO_REPLY。DSL 是唯一的退出机制。v1.0 的亏损为 -4.6%,部分原因是扫描器不断快速轮换持仓,每天产生 $144 的手续费。v2.0 会让持仓持续运行,直到 DSL 跟踪止盈或止损。
规则 3:同时最多持有 2 个仓位
规则 4:扫描器输出具有权威性
规则 5:每次会话开始时确认运行时已安装
运行 openclaw senpi runtime list。运行时必须显示在列表中。持仓跟踪器和 DSL 退出由插件运行时处理。
规则 6:持仓创建超时后绝不重试
如果 create_position 超时,请检查 clearinghouse 状态。如果持仓存在,持仓跟踪器会自动接管。如果不存在,请等待下一次扫描。
规则 7:绝不修改参数
规则 8:每种资产冷却 120 分钟
与 v1.0 相比的变化
| v1.0 | v2.0 |
|---|---|
| 10 个脚本,8 个 cron 任务 | 1 个扫描器 + DSL + 风险管理(3 个 cron 任务) |
| 流程:映射 → 接近 → 入场 | 单次四关扫描 |
| 启用论点退出 | 已移除论点退出 |
| 不生成 DSL 状态 | 完整的 DSL v1.1.1 状态,包含钱包 |
| Cron 任务经常悄无声息地失效 | 组件更少 = 更可靠 |
| 68 笔成交,-4.6% | 交易更少,信念更强 |
四道关卡
每个候选对象都必须通过全部 4 道关卡才能入场:
| 关卡 | 检查项 | 阈值 |
|---|---|---|
| 1. SM 集中度 | leaderboard_get_markets | 收益份额达到 5% 以上,交易者达到 30 位以上 |
| 2. 前 5 名方向一致性 | leaderboard_get_top → 交易者持仓 | 前 5 名中至少 2 名方向相同 |
| 3. 价格动量 | 4H 和/或 1H 价格变动方向一致 | 至少一个时间周期确认 |
| 4. 资金费率结构 | 资金费率确认方向性压力 | 资金费率方向一致或中性 |
**评分:**SM 集中度(0-3 分)+ 前 5 名方向一致性(0-3 分)+ 动量(0-2 分)+ 贡献加速(0-1 分)+ 资金费率(0-1 分)。达到 8 分以上才入场。
退出管理
DSL 退出由插件运行时通过 runtime.yaml 处理。position_tracker 扫描器会自动检测链上的持仓开仓和关闭情况。配置详情请参见 runtime.yaml。
监控持仓:
openclaw senpi dsl positions— 列出所有由 DSL 跟踪的持仓openclaw senpi dsl inspect <ASSET>— 查看完整持仓详情
运行时设置
步骤 1: 在 runtime.yaml 中设置策略钱包地址:
sed -i 's/${WALLET_ADDRESS}/<STRATEGY_WALLET_ADDRESS>/' /data/workspace/skills/shark/runtime.yaml
将 <STRATEGY_WALLET_ADDRESS> 替换为实际的钱包地址。
步骤 2: 设置用于接收通知的 Telegram 聊天 ID:
sed -i 's/${TELEGRAM_CHAT_ID}/<CHAT_ID>/' /data/workspace/skills/shark/runtime.yaml
将 <CHAT_ID> 替换为实际的 Telegram 聊天 ID。
步骤 3: 安装运行时:
openclaw senpi runtime create --path /data/workspace/skills/shark/runtime.yaml
步骤 4: 验证:
openclaw senpi runtime list
引导检查
每次会话启动时,都要检查 config/bootstrap-complete.json。如果文件不存在:
- 阅读 senpi-trading-runtime 技能:
cat /data/workspace/skills/senpi-trading-runtime/SKILL.md— 其中提供了所有用于运行时管理和 DSL 持仓检查的 CLI 命令。 - 验证 Senpi MCP
- 在 runtime.yaml 中设置钱包:
sed -i 's/${WALLET_ADDRESS}/ACTUAL_ADDRESS/' /data/workspace/skills/shark/runtime.yaml - 在 runtime.yaml 中设置 Telegram:
sed -i 's/${TELEGRAM_CHAT_ID}/CHAT_ID/' /data/workspace/skills/shark/runtime.yaml - 安装运行时:
openclaw senpi runtime create --path /data/workspace/skills/shark/runtime.yaml - 验证运行时已安装:
openclaw senpi runtime list - 移除旧 DSL cron(升级时):运行
openclaw crons list,通过openclaw crons delete <id>删除任何包含dsl-v5.py的 cron - 创建扫描器 cron(5 分钟,主会话)
- 写入
config/bootstrap-complete.json - 发送:“🦈 SHARK v3.0 已上线。SM Conviction + Liquidation Cascade Hunter。四重门槛入场,评分 8+。DSL 由插件运行时管理。保持静默 = 没有信心。”
如果引导文件已存在,每次会话启动时仍要验证运行时和扫描器 cron。
风险
| 规则 | 值 |
|---|---|
| 最大持仓数 | 2 |
| 每日最大入场次数 | 4 |
| 杠杆 | 7x |
| 单资产冷却时间 | 120 分钟 |
| 每日亏损限额 | 12% |
| 连续亏损 | 3 次 → 冷却 45 分钟 |
| XYZ | 禁止 |
预期行为
| 指标 | 预期 |
|---|---|
| 每日入场次数 | 0-3(许多交易日为零交易) |
| 胜率 | ~50% |
| 平均盈利单 | 平均亏损单的 2-3 倍 |
| 持仓时长 | 15 分钟至 6+ 小时 |
许可证
MIT — 由 Senpi 构建(https://senpi.ai)。
技能归属
创建策略时,在调用中包含 skill_name 和 skill_version。详情请参阅 references/skill-attribution.md。