#!/usr/bin/env python3 """初始化提示词注册表 — 录入所有现存提示词版本""" import sys import os sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) from prompt_manager.registry import add_prompt, add_version, list_prompts from prompt_manager.models import PromptDef, PromptVersion now = "2026-06-12T16:00:00" # 使用最近修改时间 # ═══════════════════════════════════════════ # 1. 策略生成规则 — 最核心的提示词 # ═══════════════════════════════════════════ strategy_gen = PromptDef( id="strategy-generation", name="策略生成规则", description="用于生成买入区/止损/止盈的技术面策略规则集,嵌入 strategy_lifecycle.py 的 reassess_strategy() 函数", category="strategy", locations=[ "/home/hmo/web-dashboard/strategy_lifecycle.py", "/home/hmo/projects/MoFin/src/strategy_lifecycle.py", "finance/price-range-monitor SKILL.md", ], versions=[], created_at="2026-06-09T08:00:00", updated_at=now, current_version="v2.4", ) add_prompt(strategy_gen) # v1 — 初始机械百分比 add_version("strategy-generation", PromptVersion( version="v1", label="初始机械百分比", created_at="2026-06-09T08:00:00", changelog="初始版本,基于固定百分比(±5~10%)计算买入区/止损/止盈,无技术面支撑", content="""策略生成规则 v1(初始机械百分比) 止损 = 成本 × 0.85(-15%) 止盈 = 成本 × 1.20(+20%) 买入区 = 现价 × 0.90 ~ 现价 × 1.05 无技术面分析,纯百分比计算。 """, status="deprecated", tags=["机械百分比"], )) # v2 — 技术面支撑压力位 v1 add_version("strategy-generation", PromptVersion( version="v2", label="技术面支撑压力位 v1", created_at="2026-06-11T10:00:00", changelog="从机械百分比改为基于 technical_analysis.py 的支撑/压力位计算,止损放强支撑,止盈放强压力", content="""策略生成规则 v2(技术面支撑压力位 v1) 1. 止损 = 强支撑(strong_support),约5-8%跌幅 2. 止盈 = 强压力(strong_resist) 3. 买入区 = 弱支撑(ws) ~ 弱压力(wr) 4. 新买入/已持仓统一策略 5. 无R/R校验 """, status="deprecated", tags=["技术面", "支撑压力"], )) # v2.1 — R/R 校验 + 最小波幅 add_version("strategy-generation", PromptVersion( version="v2.1", label="技术面 + R/R 校验", created_at="2026-06-12T10:00:00", changelog="新增R/R≥2.0校验+4%最小波幅保护。修复比亚迪A单日振幅±0.5%导致R/R=0.8的问题。R/R不满足时尝试多级阻力位上调止盈", content="""策略生成规则 v2.1(技术面 + R/R 校验) 1. 止损 = 强支撑(新买入用弱支撑) 2. 止盈 = 强压力(多级阻力位尝试满足R/R) 3. 买入区 = 弱支撑~弱支撑×1.05 4. R/R ≥ 2.0 校验(新买入推荐) 5. 4% 最小波幅保护(单日振幅<2%时) 6. 盈亏比不满足时:弱压→强压 逐级尝试 """, status="deprecated", tags=["技术面", "R/R", "最小波幅"], )) # v2.2 — 止损三级分离 + 移动止损 add_version("strategy-generation", PromptVersion( version="v2.2", label="止损三级分离 + 移动止损", created_at="2026-06-13T10:00:00", changelog="止损分三级(新买入/已持仓/深套)。新买入用弱支撑,已持仓用强支撑,深套取强撑/85%最低。盈利>5%启用移动止损保护利润", content="""策略生成规则 v2.2(止损三级分离 + 移动止损) | 场景 | 止损位置 | 逻辑 | |------|---------|------| | 新买入(cost=0) | 弱支撑(weak_support) | 入场失败小亏走人 | | 已持仓(profit≥-20%) | 强支撑(strong_support) | 趋势坏了才走 | | 深套(profit<-20%) | min(强支撑, 价×0.85) | 不轻易割 | 盈利>5%:取 max(弱支撑, 成本线, 现价×0.95) 移动止损 买入区 R/R 约束:新买入≥1.5,已持仓≥1.0 买入区宽度收紧:只围绕弱支撑,不扩展到弱压力 """, status="deprecated", tags=["技术面", "R/R", "移动止损", "三级止损"], )) # v2.3 — 买入区 R/R 约束 + 买入时机模型 add_version("strategy-generation", PromptVersion( version="v2.3", label="买入区 R/R 约束 + 时机四象限", created_at="2026-06-13T16:00:00", changelog="买入区自身增加R/R约束(entry_high满足1:1.5),新增买入时机四象限模型(放量跌不入/缩量回踩入/放量突破追/缩量反弹不追),趋势位置检测扩展有效区间", content="""策略生成规则 v2.3 买入区 R/R 约束: - entry_high ≤ (target + min_rr × stop) / (1 + min_rr) - 新买入 min_rr=1.5,已持仓 min_rr=1.0 - 坍缩保护:R/R约束导致买入区消失时标记"不建议" 买入时机四象限: | 场景 | 操作 | |------|------| | ①放量跌入买入区 | ❌ 不买 | | ②缩量回踩弱支撑+放量反弹 | ✅ 买入 | | ③放量突破压力位 | ✅ 追买 | | ④缩量反弹到压力位 | ❌ 警惕 | 趋势位置检测:股价>80%分位或<20%分位时自动扩展有效区间到价×8% """, status="deprecated", tags=["技术面", "R/R", "买入时机", "趋势位置"], )) # v2.4 — 当前版本(R/R阈值差异化 + 止损最小距离保护) add_version("strategy-generation", PromptVersion( version="v2.4", label="R/R阈值差异化 + 止损最小距离", created_at="2026-06-13T18:00:00", changelog="R/R阈值差异化(新买入≥1.5/2.0/2.0三级,已持仓≥0.5/1.5两级),止损最小距离3%保护(正常持仓不被短线波动触发),买入区坍缩逻辑优化", content="""策略生成规则 v2.4(当前活跃版本) R/R阈值差异化: | 场景 | 阈值 | |------|------| | 新买入 <1.5 | ❌ 不建议买入 | | 新买入 1.5~2.0 | ⚠️ 谨慎买入 | | 新买入 ≥2.0 | ✅ 正常 | | 已持仓 <0.5 | ⚠️ 盈亏比极低 | | 已持仓 0.5~1.5 | ⚠️ 不建议加仓 | | 已持仓 ≥1.5 | ✅ 无标记 | 止损最小距离:现价到止损≥3%(非深套场景) 买入区坍缩:R/R约束导致entry_high±3%查新闻 6. A+H价差正常 7. 买入时机四象限 """, status="active", tags=["日期纪律", "预检查"], )) print("✅ 提示词注册表初始化完成!") print(f" 共注册 {len(list_prompts())} 个提示词") for p in list_prompts(): print(f" - {p['id']}: {p['name']} ({len(p['versions'])} 个版本)")