# stock-chart-workspace **Repository Path**: etimeman20/stock-chart-workspace ## Basic Information - **Project Name**: stock-chart-workspace - **Description**: 股票图表组件仓库:M1 主链路、第一阶段指标与 AI 辅助分析 demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-14 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 股票图表组件仓库(M1 + 第一阶段指标 + AI 辅助分析) 基于 `股票图表组件开发文档.md` 落地的 **M1 主链路 + 第一阶段指标版本**。当前仓库已经具备可运行的演示应用、可复用的数据模型、`lightweight-charts` 适配层、框架无关的图表核心层、内置指标引擎,以及面向 React 的组件 / Hook / SDK 入口。 ## 当前已实现 - 共享市场数据契约、运行时校验与 K 线 patch 处理 - `lightweight-charts` 适配层与主图 / 副图 pane 编排 - 图表核心控制器:数据更新、可视范围、重置、导图、交互开关、指标生命周期 - 第一阶段内置指标:`MA`、`EMA`、`VOL`、`MACD`、`KDJ`、`RSI`、`BOLL` - AI 辅助分析:多模型预测线、未来预测 K 线 / 预测量能、历史与未来买卖点 - React 入口:`StockChart`、`createStockChart`、`useStockChart`,均已暴露指标 API - 确定性 M1 测试 / 演示数据工厂 - 本地 demo(组件 / Hook / SDK 三种接入面 + 指标演示)、基础单测、组件测试和工作区脚本 ## 当前范围 ### 当前已覆盖 - 主图 K 线渲染 - 初始化数据与增量更新 - 可视范围读取 / 设置 - `reset()` / `resetView()` - `resize()` / `exportImage()` - `enableCrosshair` / `enableZoom` / `enablePan` - `onLoadMore`、`onVisibleRangeChange`、`onCrosshairMove` 等基础事件 - 第一阶段指标引擎与多 pane 渲染 - `setIndicators()` / `addIndicator()` / `updateIndicator()` / `removeIndicator()` / `setPaneConfig()` - `setPredictions()` / `setForecastCandles()` / `setTradeSignals()` ### 暂未进入本轮 - 绘图工具与交互编辑 - 公式编译器 - 第二阶段及之后的指标目录 - 完整的视觉回归用例矩阵 ## 环境要求 - Node.js `>= 20` - Corepack - `pnpm@9.15.0` 下文命令统一使用 `corepack pnpm`。 ## 快速开始 ```bash corepack enable corepack pnpm install corepack pnpm dev ``` 默认会启动 `apps/demo`,方便直接查看当前 M1 主链路、第一阶段指标与 AI 辅助分析效果。 ## 演示截图 首页直接展示当前 demo 的四个主要接入面和两类高价值场景,方便在仓库页快速预览实际效果。

Props API 演示 Hook API 演示

SDK API 演示 AI 辅助分析演示

全指标多 Pane 图表 AI 预测与买卖点叠加

更完整的截图说明、API 示例和接入方式说明见 [docs/usage-guide.md](./docs/usage-guide.md)。 ## 工作区结构 | 路径 | 说明 | | --- | --- | | `apps/demo` | Vite + React 功能展示页,覆盖 `StockChart`、`useStockChart`、`createStockChart` 三种接入面 | | `packages/market-data-model` | 共享类型、错误模型、运行时校验、K 线 patch 处理 | | `packages/chart-adapter-lwc` | `lightweight-charts` 适配层、辅助序列和多 pane 渲染 | | `packages/indicator-engine` | 内置指标注册表、指标计算与渲染模型输出 | | `packages/chart-core` | 框架无关的图表核心控制器与指标编排 | | `packages/ui-react` | React 组件、Hook 与命令式创建入口 | | `packages/test-data-factory` | 确定性的 M1 K 线与实时 patch 夹具 | | `packages/visual-regression` | 视觉回归基线包,目前仍是骨架形态 | | `股票图表组件开发文档.md` | 完整产品 / 接口规格文档 | ## 常用命令 | 命令 | 作用 | | --- | --- | | `corepack pnpm dev` | 启动 demo | | `corepack pnpm build` | 构建全部工作区包 | | `corepack pnpm lint` | 运行全部 ESLint 检查 | | `corepack pnpm typecheck` | 运行全部 TypeScript 检查 | | `corepack pnpm test` | 运行全部单元测试 | | `corepack pnpm test:ct` | 运行 `ui-react` 组件测试 | | `corepack pnpm test:e2e` | 运行 demo 的 Playwright e2e | | `corepack pnpm test:visual` | 运行视觉回归包测试 | | `corepack pnpm test:smoke` | 执行 lint + typecheck + test + component test | | `corepack pnpm perf` | 运行 demo 性能脚本 | ## 最小使用示例 ```tsx import { StockChart } from 'ui-react' import { createM1Candles, M1_TIMEFRAME } from 'test-data-factory' const candles = createM1Candles({ count: 120, seed: 2025, }) export function Example() { return ( ) } ``` 如果你需要命令式控制,也可以使用 `createStockChart(container, options)` 或 `useStockChart(options)`;三种入口都支持指标、pane 配置,以及 AI 预测 / 买卖点数据注入。 ## 深入阅读 - **[📖 使用指南(推荐)](./docs/usage-guide.md)** — 完整的安装、接入、API、指标、AI 预测教程(含演示截图) - [完整规格文档](./股票图表组件开发文档.md) - [demo 说明](./apps/demo/README.md) - [ui-react](./packages/ui-react/README.md) - [chart-core](./packages/chart-core/README.md) - [chart-adapter-lwc](./packages/chart-adapter-lwc/README.md) - [market-data-model](./packages/market-data-model/README.md) - [test-data-factory](./packages/test-data-factory/README.md) - [visual-regression](./packages/visual-regression/README.md) ## 当前限制 - 当前仍是 **M1 主链路 + 第一阶段指标 + 第一波 AI 辅助分析**,目标是先打通真实图表主链路、首批常用指标与可落地的预测展示,而不是一次覆盖全部产品功能。 - demo 主要使用 `test-data-factory` 生成的确定性数据,不代表真实行情接入方案已经完成。 - `visual-regression` 包已预留,但还没有形成完整的快照基线与 CI 流程。