Skip to content

Commit 2567228

Browse files
docs: update README.md content
1 parent d2249b9 commit 2567228

1 file changed

Lines changed: 5 additions & 142 deletions

File tree

README.md

Lines changed: 5 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -100,62 +100,6 @@ flowchart LR
100100
style L fill:#1e3a2f,stroke:#0ecb81,color:#fff
101101
```
102102

103-
### 数据管线
104-
105-
| 阶段 | 组件 | 职责 |
106-
|------|------|------|
107-
| **1. 行情生成** | `mockWorker.ts` / `useBinanceMarket` | Mock: Random Walk 模拟 · Binance: WebSocket 实时数据 |
108-
| **2. 数据源抽象** | `useMarketData` | 统一 Mock/Binance 接口,管理历史 K 线请求 |
109-
| **3. 统一入口** | `useWasmEngine` | Wasm 单例初始化、Tick 分发、`on_tick_full` 合并调用 |
110-
| **4. 市场引擎** | `MarketEngine` (Rust) | 多周期 K 线聚合 (1s→1D)、SMA/EMA/BOLL/MACD/RSI |
111-
| **5. 交易引擎** | `TradingEngine` (Rust) | 仓位管理、盈亏计算、限价单撮合、风控强平 |
112-
| **6. 操作封装** | `useTradingActions` | 开仓/平仓/挂单/撤单/追加保证金/预估强平 API |
113-
| **7. 渲染** | React + TradingView | 60FPS K 线图、深度图、交易 UI |
114-
115-
---
116-
117-
## 🛠️ 技术栈
118-
119-
### 核心引擎 (Rust/Wasm)
120-
121-
| Crate | 版本 | 用途 |
122-
|-------|------|------|
123-
| `wasm-bindgen` | 0.2 | JS ↔ Rust FFI 桥接 |
124-
| `serde` | 1.0 | 序列化框架 |
125-
| `serde-wasm-bindgen` | 0.6 | 高效 Wasm 序列化 |
126-
| `js-sys` | 0.3 | JavaScript API 绑定 |
127-
| `web-sys` | 0.3 | Web API 绑定 (console) |
128-
| `console_error_panic_hook` | 0.1 | 调试友好的 Panic 信息 |
129-
| `criterion` | 0.5 | 性能基准测试 (dev) |
130-
131-
### 前端技术栈
132-
133-
| 包名 | 版本 | 用途 |
134-
|------|------|------|
135-
| **React** | 18.3 | UI 组件框架 |
136-
| **TypeScript** | 5.6 | 类型安全开发 |
137-
| **Vite** | 5.4 | 新一代构建工具 |
138-
| **Tailwind CSS** | 4.0 | 原子化 CSS 框架 (Design Token 体系) |
139-
| **Lightweight Charts** | 5.1 | TradingView 专业 K 线图表 |
140-
| **Zustand** | 4.5 | 轻量级状态管理 (UI 状态/数据源切换) |
141-
| **ahooks** | 3.9 | React Hooks 工具库 (防抖/倒计时等) |
142-
| **Lucide React** | 0.562 | 现代图标库 |
143-
| **@react-spring/web** | 10.0 | 物理动画引擎 |
144-
| **@use-gesture/react** | 10.3 | 手势交互 (拖拽/滑动) |
145-
| **vite-plugin-wasm** | 3.3 | Wasm 集成插件 |
146-
147-
### 构建优化
148-
149-
```toml
150-
# Cargo.toml - Release Profile
151-
[profile.release]
152-
opt-level = "s" # 平衡体积与运行速度
153-
lto = true # 链接时优化
154-
codegen-units = 1 # 单代码单元,更好的优化
155-
strip = true # 移除调试符号
156-
panic = "abort" # 无 unwind 代码
157-
```
158-
159103
---
160104

161105
## 🚀 快速开始
@@ -183,94 +127,13 @@ cd core && wasm-pack build --target web --out-dir pkg && cd ..
183127
npm run dev
184128
```
185129

186-
### 可用脚本
187-
188-
| 命令 | 描述 |
189-
|------|------|
190-
| `npm run dev` | 构建 Wasm + 启动 Vite 开发服务器 (3000 端口) |
191-
| `npm run build` | 生产构建 (Wasm + Vite) |
192-
| `npm run build:wasm` | 仅构建 Rust → WebAssembly |
193-
| `npm run preview` | 本地预览生产构建 |
194-
| `npm run lint` | 运行 ESLint 检查 |
195-
| `npm run test:rust` | 运行 Rust 单元测试 |
196-
| `npm run bench` | 运行 Rust 性能基准测试 |
197-
198-
---
199-
200130
## 📁 项目结构
201131

202-
```
203-
RustQuantLab/
204-
├── core/ # 🦀 Rust/Wasm 核心引擎
205-
│ ├── src/
206-
│ │ ├── lib.rs # Wasm 导出 API + 模块声明
207-
│ │ ├── models.rs # 核心数据模型 (OrderBook/Candle/AnalysisResult)
208-
│ │ ├── engine/ # 引擎模块
209-
│ │ │ ├── market_engine/ # MarketEngine (K线聚合/指标计算/订单簿)
210-
│ │ │ ├── trading/ # 交易逻辑 (开仓/平仓/限价单撮合/风控)
211-
│ │ │ ├── data/ # K线聚合器、Tick 数据管理
212-
│ │ │ └── types.rs # 引擎事件类型 (EngineEvent/TradingState)
213-
│ │ ├── trading/ # 交易领域模型
214-
│ │ │ ├── position.rs # 仓位结构与生命周期
215-
│ │ │ ├── orders.rs # 限价单/挂单管理
216-
│ │ │ ├── balance.rs # 账户余额与保证金
217-
│ │ │ └── manager.rs # 仓位管理器 (开仓/平仓/加仓)
218-
│ │ ├── indicators/ # 技术指标 (纯函数, 无状态)
219-
│ │ │ ├── ma.rs # SMA / EMA
220-
│ │ │ ├── boll.rs # 布林带
221-
│ │ │ ├── macd.rs # MACD
222-
│ │ │ └── rsi.rs # RSI
223-
│ │ └── risk/ # 风控与强平
224-
│ │ ├── liquidation.rs # 强平价格计算
225-
│ │ ├── margin.rs # 保证金率计算
226-
│ │ └── types.rs # 风险等级 (Safe/Warning/Danger/Critical)
227-
│ ├── benches/ # Criterion 性能基准测试
228-
│ └── Cargo.toml
229-
├── src/ # ⚛️ React 前端
230-
│ ├── components/
231-
│ │ ├── Dashboard/
232-
│ │ │ ├── Chart/ # 图表区域
233-
│ │ │ │ ├── LightweightChart/ # TradingView 多窗格图表系统
234-
│ │ │ │ ├── ChartToolbar.tsx # 时间周期/指标/数据源切换
235-
│ │ │ │ └── DepthChart.tsx # 市场深度图
236-
│ │ │ ├── Trade/ # 交易区域
237-
│ │ │ │ ├── TradePanel.tsx # 交易表单 (市价/限价/杠杆)
238-
│ │ │ │ ├── PositionCard.tsx # 仓位卡片 (盈亏/风控/挂单)
239-
│ │ │ │ └── LeverageSlider.tsx # 杠杆滑条 (1-125x)
240-
│ │ │ ├── OrderBook.tsx # 订单簿 (买卖各20档)
241-
│ │ │ └── StatsPanel.tsx # 24h 市场统计
242-
│ │ ├── Layout/ # 布局组件
243-
│ │ │ ├── Header.tsx # 顶部导航 (数据源切换/FPS/内存)
244-
│ │ │ ├── ErrorScreen.tsx # 错误页面
245-
│ │ │ └── LoadingScreen.tsx # 加载骨架屏
246-
│ │ └── Toast/ # Toast 通知系统
247-
│ ├── hooks/
248-
│ │ ├── useWasmEngine.ts # 🎯 统一 Wasm 引擎入口
249-
│ │ ├── useMarketData.ts # 数据源抽象层 (Mock/Binance 切换)
250-
│ │ ├── useBinanceMarket.ts # Binance WebSocket 实时数据
251-
│ │ ├── useMockMarket.ts # Mock 模拟数据
252-
│ │ ├── useMarketStats.ts # 24h 市场统计 (涨跌幅/成交量/倒计时)
253-
│ │ ├── useCandleData.ts # K线数据适配
254-
│ │ ├── useFpsMonitor.ts # FPS 性能监控
255-
│ │ ├── tradingEngine/ # 交易操作封装
256-
│ │ │ ├── useTradingActions.ts # 开仓/平仓/挂单/撤单/追加保证金
257-
│ │ │ └── wasmSingleton.ts # Wasm 引擎单例 + 内存监控
258-
│ │ ├── tradingState/ # 交易状态处理
259-
│ │ │ ├── eventHandler.ts # 引擎事件 → Toast 通知
260-
│ │ │ └── types.ts # 交易 Wasm 接口类型
261-
│ │ ├── candle/ # K线工具
262-
│ │ └── ui/ # UI 状态
263-
│ │ ├── useUiStore.ts # Zustand UI 状态管理
264-
│ │ └── useBottomSheet.ts # 移动端底部弹层
265-
│ ├── workers/
266-
│ │ └── mockWorker.ts # Web Worker: Random Walk 行情模拟
267-
│ └── App.tsx # 应用根组件 (Composition Root)
268-
├── docs/ # 📚 文档
269-
│ ├── ROADMAP.md # 项目路线图
270-
│ └── design/ # 设计文档
271-
├── .github/workflows/ # GitHub Actions (自动部署)
272-
└── package.json
273-
```
132+
| 目录 | 说明 |
133+
|------|------|
134+
| `core/` | 🦀 Rust/Wasm 核心引擎 (K线聚合、技术指标、交易撮合、风控强平) |
135+
| `src/` | ⚛️ React 前端 (图表、交易面板、订单簿、状态管理) |
136+
| `docs/` | 📚 设计文档与路线图 |
274137

275138
---
276139

0 commit comments

Comments
 (0)