# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## 项目概述 收敛三角形(Converging Triangle)形态检测可视化验证工具。通过 HTTP API 调用远程公式执行,绘制 K 线图 + 三角形趋势线,帮助快速目测验证形态检测结果。**支持 A 股和美股**。 ## 常用命令 ```bash # 安装依赖 pip install requests mplfinance matplotlib numpy pandas # 单股验证 python validate.py <股票名或代码> [频率] [--save] [--no-show] [--date YYYYMMDD] [--mode 0-3] [--window 1Y/3Y/5Y/ALL] # 示例 python validate.py 中远海控 # 日K,弹窗显示 python validate.py 中控技术 日 --window 3Y --save # 3年K线,保存图片 python validate.py 英伟达 日 --window 3Y --save # 美股也支持 python validate.py SH600519 月 --no-show --save # 月K,只保存不弹窗 # 批量验证 python batch_validate.py --no-show --save ``` **参数说明**: - `freq`: 日 / 周 / 月,默认日 - `--save`: 保存 PNG 到 output/ 目录 - `--no-show`: 不弹出交互窗口 - `--mode`: 强度模式 0=等权 1=激进 2=保守 3=放量 - `--window`: K 线时间窗口 1Y/3Y/5Y/ALL,默认 3Y ## 架构 ``` 数据流: validate.py ① GET {SEARCH_API_URL}/smartstock/assets/search?q=<关键词> → 获取正确的 ticker(中控技术 → SH688777,英伟达 → NVDA.O) ② POST {GPT_SERVER_URL}/innerServer/runOneFormula body: { formula_str: "结果=收敛三角形详情(ticker,freq,True,mode)" } → response.output = MongoDB _id ③ GET {DATA_SERVER_URL}/api/timeSeries/requestIndexDetail?id=<_id> header: Authorization: Bearer → data.data_info.detail (含 strength/direction/chart_data) ④ GET {KLINE_API_URL}/dataSupport/getKLineDataByTicker?ticker=&begin_date= → 获取 K 线 OHLC 数据 ⑤ chart.draw_triangle_chart(detail) → mplfinance 绘制 K 线 + 趋势线 → Y 轴自动调整以包含趋势线 → output/{ticker}_{freq}K_{date}.png ``` **模块职责**: - `validate.py`: CLI 入口、资产搜索、公式执行、详情获取、K 线数据获取 - `batch_validate.py`: 批量验证,修改 `BATCH_CASES` 列表自定义验证标的 - `chart.py`: mplfinance 绘图,趋势线延伸逻辑(与前端 TechPattern.vue 一致) - `config.py`: API 端点配置,Token 过期时在此更新 ## 与前端一致性 `chart.py` 中的趋势线绘制逻辑与 `D:\project\frontend_mobile\src\views\workflow\components\assetRatingV2\components\TechPattern.vue` 完全一致: - 趋势线从 `window_start_date` 延伸到 `window_end_date` - 使用公式数据中的 `index` 计算斜率 - Y 轴范围包含趋势线价格 + 5% 边距 ## 配置 Token 过期时,更新 `config.py` 中的 `AUTH_TOKEN`。