fix(action): 12维操作建议写入action+技术路径action权限保护+RR区间显示修复
- batch parse_response提取【操作建议】→ save_result写action(根治: action字段只有技术路径写, 旧'盈亏比不足不建议买入'与12维买入分析同框矛盾) - write_holding_strategy: 技术路径不得覆盖新鲜(<20h)12维 action(与信号权威同级) - 前端: rr_high>0即显示低~高区间(rr_low=0是合法信息: 区下沿=止损贴底即损) - server: SEND_FILE_MAX_AGE_DEFAULT=0 禁静态缓存
This commit is contained in:
@@ -341,7 +341,7 @@ def parse_response(text):
|
||||
绝不用"包含关键词的第一行"——修改点段落会引用旧脏值(如"原买入区间95.0~99.0"),
|
||||
曾导致脏数据被反复写回(17只股票背着95~99区间,LLM新区间形同虚设)。"""
|
||||
result = {"signal": "", "entry_low": 0, "entry_high": 0, "stop_loss": 0, "take_profit": 0, "position": "",
|
||||
"zone_cleared": False}
|
||||
"zone_cleared": False, "action_advice": ""}
|
||||
|
||||
def _section_line(name):
|
||||
"""匹配节标题行:行首(可含空白)【名称】,返回该行内容"""
|
||||
@@ -387,6 +387,11 @@ def parse_response(text):
|
||||
result["take_profit"] = float(nums[0])
|
||||
break
|
||||
|
||||
# 操作建议(只认【操作建议】节行)→ action 字段,前端"当前操作策略"列的唯一新鲜来源
|
||||
al = _section_line("操作建议")
|
||||
if al:
|
||||
result["action_advice"] = re.sub(r'^\s*【操作建议】\s*', '', al).strip()[:200]
|
||||
|
||||
# 仓位:只有买入信号才需要,提取百分比数字(只认【建议仓位】节行)
|
||||
result["position"] = ""
|
||||
if result["signal"] == "买入":
|
||||
@@ -460,6 +465,10 @@ def save_result(code, full_text, parsed):
|
||||
if parsed["position"]:
|
||||
updates.append("position_advice=?")
|
||||
params.append(parsed["position"])
|
||||
if parsed.get("action_advice"):
|
||||
# 12维操作建议 → action(前端"当前操作策略"列;防技术路径旧值与分析矛盾)
|
||||
updates.append("action=?")
|
||||
params.append(parsed["action_advice"])
|
||||
|
||||
params.append(code)
|
||||
sql = f"UPDATE holding_strategies SET {', '.join(updates)} WHERE code=? AND status='active'"
|
||||
|
||||
Reference in New Issue
Block a user