[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80818":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":13,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":14,"starSnapshotCount":14,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},80818,"PA_Agent","rosemarycox5334-debug\u002FPA_Agent","rosemarycox5334-debug",null,"Python",120,59,1,5,0,44,83,23,5.33,"MIT License",false,"main",[],"2026-06-12 02:04:07","# PA Agent — AI K线分析辅助工具（桌面端）\n\n**交流 QQ 群：488729337**\n\n---\n\n> 面向主观交易者的 **价格行为（Price Action）** AI 辅助决策工具：从 **MT5 \u002F TradingView \u002F A股数据源**读取 K 线，将**结构化 K 线数据与程序预计算特征**送入大模型做**两阶段分析**（市场诊断 → 交易决策），**不是**截图识图，**不连接券商、不执行下单**。\n\n---\n\n## 目录\n\n- [项目简介](#项目简介)\n- [工作原理](#工作原理)\n- [环境要求](#环境要求)\n- [安装步骤](#安装步骤)\n- [启动程序](#启动程序)\n- [运行测试](#运行测试)\n- [目录结构](#目录结构)\n- [配置文件](#配置文件)\n- [参与贡献与安全](#参与贡献与安全)\n- [详细使用说明](#详细使用说明)\n- [图表 K 线与分析快照说明](#图表-k-线与分析快照说明)\n- [常见问题](#常见问题)\n\n---\n\n## 项目简介\n\nPA Agent 是一款运行在 Windows 上的桌面辅助工具，帮助交易者按 Al Brooks 风格的价格行为框架理解当前图表，并把“看图”过程结构化成可复核的决策路径与字段。\n\n程序会：\n\n1. 通过 **MT5 \u002F TradingView** 拉取你选定品种、周期的 OHLCV K 线（可含当前未收盘 K，图表实时显示）\n2. 本地计算 **EMA20、ATR14、K 线几何特征**（实体比、内包\u002F外包、ii\u002Fiii、突破跟随等）\n3. 将 **K 线文本表 + 特征表 + 提示词工程模块** 发给大模型（支持 DeepSeek、PackyAPI、云雾等 OpenAI 兼容接口）\n4. 经 **阶段一（诊断）** 与 **阶段二（决策）** 输出结构化 JSON，并在界面上绘制入场\u002F止损\u002F止盈参考线\n\n**不会**把 K 线图截图发给 AI；模型读到的是与图表一致的数值化 K 线序列（K1 为最新已收盘棒）。\n\n### 主要功能\n\n- 📈 **MT5 实时 K 线** + 本地蜡烛图、EMA、序号标签\n- 🧠 **两阶段 AI 分析**：闸门诊断 → 策略路由 → 交易决策（限价\u002F突破\u002F市价或不下单）\n- 📋 **逐 K 摘要**（`bar_by_bar_summary`）与信号链校验，减少“口头看涨、JSON 做空”类矛盾\n- 🔄 **增量分析**：在上一轮成功记录基础上只分析新增已收盘 K 线\n- 💬 **分析后追问**：刷新并冻结图表后，用**与屏幕一致的 K 线表**继续向 AI 提问\n- 📚 **经验库**：按周期位置检索历史案例供阶段二参考\n- 📝 **完整落盘**：Prompt、原始响应、诊断\u002F决策 JSON、Token 用量、追问记录\n- 🔒 **API Key** 本地 DPAPI 加密存储\n\n更完整的界面说明见仓库内 `[PA_Agent使用文档.md](PA_Agent使用文档.md)`。\n\n---\n\n## 工作原理\n\n```text\nMT5 终端 ──拉取 K 线──► 本地缓冲 \u002F 图表显示\n                              │\n                              ▼\n                    提交分析（可选：等待当前 K 收盘）\n                              │\n         ┌────────────────────┴────────────────────┐\n         ▼                                         ▼\n   阶段一 · 市场诊断                          策略文件路由\n   （周期\u002F方向\u002F闸门\u002F逐K摘要）                  （按诊断加载 prompt）\n         │                                         │\n         └────────────────────┬────────────────────┘\n                              ▼\n                    阶段二 · 交易决策\n                    （§9 信号链 \u002F §10 风险收益 \u002F §11 下单方式）\n                              │\n                              ▼\n              校验 JSON ──► 图表叠加线 ──► 记录保存 ──► 可追问\n```\n\n\n| 环节        | 说明                                                       |\n| --------- | -------------------------------------------------------- |\n| 数据来源      | **MetaTrader 5**（需终端已打开并登录）；品种名须与 MT5 市场报价一致（如 `US500m`） |\n| 送给 AI 的内容 | K 线表、几何特征表、阶段一诊断结果、路由后的策略提示词；阶段二另含决策树规则                  |\n| 图表作用      | 供你肉眼确认；分析时图表可暂停刷新，避免与提交数据不一致                             |\n| 输出        | 阶段一\u002F二 JSON；阶段二含 `decision`、`decision_trace`、盈亏比等字段       |\n| 边界        | **仅辅助分析，不连接券商下单**                                        |\n\n\n---\n\n## 环境要求\n\n\n| 项目           | 要求                                     |\n| ------------ | -------------------------------------- |\n| 操作系统         | Windows 10 \u002F 11                        |\n| Python       | 3.11+（推荐官方安装包，安装时勾选 Add to PATH）       |\n| MetaTrader 5 | **必须**安装并登录，用于获取行情 K 线                 |\n| 显卡           | 无特殊要求                                  |\n| 网络           | 可访问你所配置的 AI API（如 DeepSeek、PackyAPI 等） |\n\n\n---\n\n## 安装步骤\n\n### 1. 安装 Python 3.11+\n\n从 [python.org](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F) 下载并安装，勾选 **Add Python to PATH**。\n\n```cmd\npython --version\n```\n\n### 2. 安装并登录 MetaTrader 5\n\n启动 MT5，登录券商账户，在「市场报价」中确认你要分析的品种名称（注意后缀，如 `m`）。\n\n### 3. 克隆或下载项目\n\n```cmd\ngit clone \u003C仓库地址>\ncd PA_Agent\n```\n\n### 4. 创建虚拟环境（推荐）\n\n```cmd\npython -m venv .venv\n.venv\\Scripts\\activate\n```\n\n### 5. 安装依赖\n\n```cmd\npip install -e \".[dev]\"\n```\n\n若东财数据源被关闭：可改用 **TradingView** 拉 K 线。数据来源选 TradingView，支持 **A 股**（6 位 + SSE\u002FSZSE）、**港股**（`HKEX` + 代码）与**股票名称**（如 `小米集团`，内置别名表；**品种框保持你输入的文字**，仅在后台按别名拉取 K 线）。交易所选 **（自动）** 时会依次探测合适市场。自定义名称可编辑 `config\u002Ftv_symbol_aliases.json`（参考 `tv_symbol_aliases.example.json`）。\n\n> 国内镜像示例：\n>\n> ```cmd\n> pip install -e \".[dev]\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> # （GUI 已移除 AkShare 选项；如需仍可自行恢复\u002F启用相关代码）\n> ```\n\n### 6. 配置 API\n\n复制配置模板（首次克隆建议执行）：\n\n```cmd\ncopy config\\settings.example.json config\\settings.json\n```\n\n启动程序后打开 **设置**，填写 **Base URL**、**模型名** 与 **API Key**（支持 DeepSeek 官方或第三方兼容网关）。Key 会加密写入 `config\u002Fsettings.json`，不会以明文提交到 Git。\n\n字段说明见 `[config\u002FREADME.md](config\u002FREADME.md)`。\n\n---\n\n## 启动程序\n\n```cmd\npython -m pa_agent.main\n```\n\n或安装后：\n\n```cmd\npa-agent\n```\n\n也可使用项目根目录的 `run.py`（若存在）。\n\n首次启动若提示数据源未连接，请先确认 MT5 已运行并已登录。\n\n---\n\n## 运行测试\n\n```cmd\npytest\n```\n\n跳过端到端 \u002F GUI 测试：\n\n```cmd\npytest -m \"not e2e\"\n```\n\n仅单元测试：\n\n```cmd\npytest -m unit\n```\n\n仅属性测试：\n\n```cmd\npytest -m property\n```\n\n---\n\n## 目录结构\n\n```\nPA_Agent\u002F\n├── pa_agent\u002F                  # 主程序包\n│   ├── main.py                # 程序入口\n│   ├── app_context.py         # 应用上下文\n│   ├── ai\u002F                    # Prompt 组装、路由、JSON 校验、API 客户端\n│   ├── config\u002F                # 配置模型与加载\n│   ├── data\u002F                  # 数据源（MT5 等）与 K 线刷新循环\n│   ├── gui\u002F                   # PyQt6 界面（图表、实时流、决策面板）\n│   ├── orchestrator\u002F          # 两阶段分析编排、分析后追问\n│   ├── records\u002F               # 分析记录读写\n│   ├── security\u002F              # API Key 加密（Windows DPAPI）\n│   └── util\u002F                  # 工具函数\n├── prompt_engineering\u002F        # 价格行为提示词与策略模块（.txt）\n├── tests\u002F                     # 单元 \u002F 属性 \u002F 集成 \u002F e2e 测试\n├── config\u002F                    # 配置模板与说明（settings.json 本地生成，不提交）\n│   ├── settings.example.json\n│   └── README.md\n├── .github\u002Fworkflows\u002F         # CI（Windows + pytest）\n├── experience\u002F                # 经验库案例\n├── records\u002F                   # 分析记录（pending \u002F 归档）\n├── logs\u002F                      # 运行日志\n├── assets\u002F                    # README 等资源（如打赏二维码）\n├── pyproject.toml\n└── README.md\n```\n\n---\n\n## 配置文件\n\n配置文件位于 `config\u002F`，首次运行自动生成，**勿将含密钥的文件提交到 Git**。\n\n\n| 文件                                    | 说明                                  |\n| ------------------------------------- | ----------------------------------- |\n| `config\u002Fsettings.json`                | 主配置（API Key 存为 `api_key_encrypted`） |\n| `config\u002Fsettings.example.json`        | 无密钥的模板（复制为 `settings.json`）         |\n| `config\u002Fexception_state.example.json` | 异常计数状态结构参考                          |\n| `config\u002Fexception_state.json`         | 运行时自动生成，不提交 Git                     |\n\n\n### 防止密钥被 push 到 GitHub\n\n1. 本机执行一次（可选）：\n  ```powershell\n   powershell -ExecutionPolicy Bypass -File tools\\setup_git_secrets.ps1\n  ```\n2. 仅在 GUI「设置」或本地 `settings.json` 中配置 Key，不要写进 README \u002F 测试用例。\n3. 默认 `pytest` 不跑需真实网络的 `live` 测试。\n\n---\n\n## 参与贡献与安全\n\n\n| 文档                                   | 说明             |\n| ------------------------------------ | -------------- |\n| `[CONTRIBUTING.md](CONTRIBUTING.md)` | 开发环境、测试与 PR 约定 |\n| `[SECURITY.md](SECURITY.md)`         | 漏洞与密钥泄露报告方式    |\n| `[LICENSE](LICENSE)`                 | MIT 许可证        |\n\n\n---\n\n## 详细使用说明\n\n- 控制栏：**品种 \u002F 周期 \u002F K 线数**、**提交分析**、**增量分析**、**等待收盘**、**演示模式**\n- 右侧标签：**实时**（思考流 + 追问）、**决策树**、**决策**、**原始**、**调试** 等\n\n完整操作说明、交易倾向、策略路由表见：`[PA_Agent使用文档.md](PA_Agent使用文档.md)`\n\n**图表为何在分析后少 1 根 K 线？** 见 `[docs\u002F图表K线与分析快照说明.md](docs\u002F图表K线与分析快照说明.md)`\n\n---\n\n## 常见问题\n\n### Q: 启动时提示 `ModuleNotFoundError: No module named 'pa_agent'`\n\n在项目根目录激活虚拟环境后安装：\n\n```cmd\n.venv\\Scripts\\activate\npip install -e \".[dev]\"\n```\n\n### Q: 提示 MT5 未连接或没有 K 线\n\n1. 确认 MT5 终端已打开且已登录\n2. 品种名与 MT5「市场报价」完全一致（含 `m` 等后缀）\n3. 该品种在 MT5 中可正常显示 K 线\n\n### Q: 程序是不是把截图发给 AI？\n\n**不是。** 提交的是 K 线 OHLCV 文本表、程序算好的特征，以及提示词；图表仅供本地查看。\n\n### Q: 分析时图表不刷新了？\n\n分析进行中会**暂停图表自动刷新**，避免界面与提交数据不一致。可点 **图表实时更新** 恢复；追问发送时会先刷新一次再冻结，并以该时刻图表数据追问。\n\n### Q: API 调用失败\n\n检查网络、Base URL、模型名与 API Key；若用代理需在系统或网关侧配置。\n\n### Q: `config\u002Fsettings.json` 损坏\n\n删除后重启，程序会重建默认配置：\n\n```cmd\ndel config\\settings.json\n```\n\n### Q: 如何更新\n\n```cmd\ngit pull\npip install -e \".[dev]\"\n```\n\n### Q: 日志位置\n\n`logs\u002F` 目录下。\n\n---\n\n**免责声明**：本工具仅供学习与研究，不构成投资建议。交易有风险，决策后果自负。\n\n---\n\n本项目采用 [MIT License](LICENSE) 发布。\n\n---\n\n## 打赏与支持\n\n如果你觉得这个程序对你有帮助的话，可以打赏激励作者继续优化程序，感谢你的支持和鼓励！\n\n（作者会优先解决打赏人的问题，因为人太多了！回复不过来！）\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"1d935cac3a4a4575bb3e34beda997633.jpeg\" alt=\"打赏二维码\" width=\"420\" \u002F>\n\u003C\u002Fp>\n\n","PA Agent 是一款面向主观交易者的桌面端AI辅助决策工具，主要用于基于价格行为（Price Action）框架进行市场分析和交易决策。其核心功能包括从MT5\u002FTradingView\u002FA股数据源读取K线数据，并通过本地计算相关技术指标如EMA20、ATR14等，再结合大模型对市场状况做出两阶段的分析：首先是市场诊断，然后是具体的交易决策建议。该工具特别适合那些希望提高自己在股票或外汇市场中基于图表模式和技术指标做决策效率的个人投资者使用。它提供了一个结构化的方法来理解和解释复杂的市场动态，但需要注意的是，此工具并不直接连接到券商账户执行任何交易操作。",2,"2026-06-11 04:02:27","CREATED_QUERY"]