用途:与用户一问一答地设计或修改 Senpi 交易策略,把论点(交易什么、如何打分)与护栏(如何退出、承担多少风险)编译成可部署策略包。运行时负责执行、仓位、退出、槽位、风控与状态,用户只需做决策。
主要能力:
- 先给出策略起点选项:最便宜的“套用匹配模板”、在其上仅改参数(阈值、槽位、杠杆、止损、每日上限)、对模板做定制改动、或完全从零设计(成本约为模板的 2–3 倍)。选项并列呈现,不评价优劣;用户选定即执行。
- 从零路径按顺序逐个提出 7 项决策:Universe(单标的/固定篮子/动态/派生)、Data(K 线、资金费与持仓量、4h 榜单、聪明钱、跨资产流)、Edge(趋势、均值回归、突破、相对强弱、跟单、群体背离、事件、宏观等)、Shape(只多/只空/双向;独立多空账本需多个实例)、Cardinality(slots 1 或 3–6,可加 max_entries_per_day)、Memory(去重、首次出现账本、滚动历史、池/群体缓存及刷新周期)、Exit & Risk(DSL 预设与 drawdown_halt_pct、daily_loss_limit_pct、interval_seconds)。
- 任何答案均以自然语言回显并说明其含义;写代码前完整复述全部决策取得明确确认;随后分阶段可见地构建:打分数学→扫描器→运行时配置→目录条目,再单测→lint→senpi validate→交接。
必要用法:所有标识符必须从来源复制,不得凭记忆。行情代码用 market_list_instruments(live)核对;runtime.yaml 字段与单位见 senpi-trading-runtime/references/runtime-yaml.md;DSL 退出字段见 references/dsl-presets.yaml;MCP 工具名、参数与输出键以已发布的 MCP I/O 参考为准并实际调用一次确认;目录枚举见 senpi-strategy-discover/references/glossary.yaml。可用 openclaw senpi validate <recipe-dir> --stage import 快速检查扫描器文件是否可导入;<recipe-dir> 为含 runtime.yaml 的目录。
关键限制:
- --stage import 不是验证关卡,不能证明某次 tick 可执行,其自身输出亦如此声明;真正的关卡是 stage 9,且不带 --stage 参数。
- 没有模拟交易模式;策略通过 validate 测试,定时重跑扫描是每次 tick 一次模型调用,并非仿真。
- 部署需每个钱包略超 10 USDC(约 11.50,含约 1.50 创建费),低于该下限会报 E_FUNDS_BELOW_FLOOR;资金仅在部署时确认一次,不应在构建前提问预算或反复打断。
- 不得用原始 strategy_create_custom_strategy / create_position MCP 调用搭建受 DSL 保护、具名或持久化的策略:该路径最多只能带固定 stopLossPercentage,tradingStrategyName 为空,且不会注册进 installed_runtimes.json,导致策略无名、无监管、对组合与 DSL 工具不可见。原始 MCP 工具仅用于手动一次性开平仓,或无 DSL 的镜像(跟单)策略。
- 用户要求开仓时须先询问属于 (A) 受 DSL 保护的具名 Runtime 3.0 策略,还是 (B) 带标准止盈止损的一次性仓位(走 raw create_position,放在用户自行支配钱包,非策略钱包);绝不可开进现有扫描器管理策略的钱包,否则会被判为外来仓位并在数分钟内被 DSL 平掉。
- 止损与各级阶梯须按所选杠杆换算成价格表述,最大亏损下限要留出足够空间(波段策略约 3% 价格或以上),先降杠杆再收紧止损;validate_strategy.py 若提示止损过紧应转述给用户。
- 资料未提供具体模板清单、预设参数值、价格或效果数据,亦未提供完整代码骨架,正文不展开。