22
33# 🦀 RustQuantLab
44
5- ** 高性能 Web 永续合约模拟交易终端 · Rust/Wasm + React + ECharts **
5+ ** 高性能 Web 永续合约模拟交易终端 · Rust/Wasm + React + TradingView **
66
77[ ![ Rust] ( https://img.shields.io/badge/Rust-2021-orange?logo=rust )] ( https://www.rust-lang.org/ )
88[ ![ WebAssembly] ( https://img.shields.io/badge/WebAssembly-Enabled-654FF0?logo=webassembly )] ( https://webassembly.org/ )
99[ ![ React] ( https://img.shields.io/badge/React-18-61DAFB?logo=react )] ( https://react.dev/ )
10+ [ ![ TradingView] ( https://img.shields.io/badge/Lightweight_Charts-5-2962FF?logo=tradingview )] ( https://www.tradingview.com/lightweight-charts/ )
1011[ ![ Tailwind CSS] ( https://img.shields.io/badge/Tailwind-v4-38BDF8?logo=tailwindcss )] ( https://tailwindcss.com/ )
11- [ ![ ECharts] ( https://img.shields.io/badge/ECharts-6-AA344D?logo=apacheecharts )] ( https://echarts.apache.org/ )
1212[ ![ Vite] ( https://img.shields.io/badge/Vite-5-646CFF?logo=vite )] ( https://vitejs.dev/ )
1313[ ![ License: CC BY-NC 4.0] ( https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg )] ( ./LICENSE )
14+ [ ![ DeepWiki] ( https://img.shields.io/badge/DeepWiki-Duri686%2FRustQuantLab-blue?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMTloMTYiLz48cGF0aCBkPSJNNCAxNWg4Ii8+PHBhdGggZD0iTTQgMTFoNiIvPjxwYXRoIGQ9Ik0xMiAxMWw0LTYgNCA2Ii8+PHBhdGggZD0iTTE0IDExaDQiLz48L3N2Zz4= )] ( https://deepwiki.com/Duri686/RustQuantLab )
1415
1516* 基于 Rust/WebAssembly 的本地永续合约模拟引擎,提供零延迟交易体验与专业级交易终端 UI。*
1617
@@ -56,7 +57,7 @@ flowchart LR
5657 end
5758
5859 subgraph UI["🖥️ UI 组件"]
59- H[KLineChart <br/>ECharts 渲染]
60+ H[LightweightChart <br/>TradingView 渲染]
6061 I[TradeForm<br/>开仓/挂单]
6162 J[PositionCard<br/>实时盈亏]
6263 K[OrderBook<br/>深度盘口]
@@ -95,7 +96,7 @@ flowchart LR
9596| ** 3. 市场引擎** | ` MarketEngine ` (Rust) | K线聚合、技术指标、订单簿 |
9697| ** 4. 交易引擎** | ` TradingEngine ` (Rust) | 仓位、盈亏、限价单、风控 |
9798| ** 5. 操作封装** | ` useTradingActions ` | 开仓/平仓/挂单/撤单 API |
98- | ** 6. 渲染** | React + ECharts | 60FPS K线图、交易 UI |
99+ | ** 6. 渲染** | React + TradingView | 60FPS K线图、交易 UI |
99100
100101---
101102
@@ -120,8 +121,7 @@ flowchart LR
120121| ** TypeScript** | 5.6 | 类型安全开发 |
121122| ** Vite** | 5.4 | 新一代构建工具 |
122123| ** Tailwind CSS** | 4.0 | 原子化 CSS 框架 |
123- | ** ECharts** | 6.0 | 专业图表库 |
124- | ** echarts-for-react** | 3.0 | ECharts React 封装 |
124+ | ** Lightweight Charts** | 5.1 | TradingView 专业 K 线图表 |
125125| ** Lucide React** | 0.562 | 现代图标库 |
126126| ** vite-plugin-wasm** | 3.3 | Wasm 集成插件 |
127127
@@ -180,70 +180,29 @@ npm run dev
180180
181181```
182182RustQuantLab/
183- ├── core/ # 🦀 Rust/Wasm 核心
184- │ ├── src/
185- │ │ ├── lib.rs # Wasm 导出 API
186- │ │ ├── engine/ # 引擎模块
187- │ │ │ ├── market_engine/ # 市场数据引擎
188- │ │ │ │ ├── mod.rs # MarketEngine 主体
189- │ │ │ │ ├── market_data.rs # 行情处理
190- │ │ │ │ ├── risk_control.rs# 风控检查
191- │ │ │ │ └── trade_executor.rs # 交易执行
192- │ │ │ ├── trading/ # 交易逻辑
193- │ │ │ │ ├── open_position.rs # 开仓
194- │ │ │ │ ├── close_position.rs # 平仓
195- │ │ │ │ ├── limit_order.rs # 限价单
196- │ │ │ │ └── risk_monitor.rs # 风控监控
197- │ │ │ ├── data/ # 数据结构
198- │ │ │ │ ├── candles.rs # K线聚合
199- │ │ │ │ └── tick_data.rs # Tick 处理
200- │ │ │ └── types.rs # 引擎类型定义
201- │ │ ├── trading/ # 交易领域模型
202- │ │ │ ├── position.rs # 仓位模型
203- │ │ │ ├── orders.rs # 订单模型
204- │ │ │ ├── balance.rs # 余额管理
205- │ │ │ └── manager.rs # 交易管理器
206- │ │ ├── indicators.rs # 技术指标 (SMA/EMA/MACD/RSI/BOLL)
207- │ │ ├── models.rs # 通用数据模型
208- │ │ └── risk.rs # 风控算法
209- │ ├── Cargo.toml
210- │ └── pkg/ # Wasm 编译输出
211- ├── src/ # ⚛️ React 前端
212- │ ├── components/
213- │ │ ├── Dashboard/
214- │ │ │ ├── Chart/ # K线图表
215- │ │ │ │ ├── index.tsx # 图表容器
216- │ │ │ │ ├── chartModules/ # ECharts 配置模块
217- │ │ │ │ └── ChartToolbar.tsx # 工具栏
218- │ │ │ ├── Trade/ # 交易组件
219- │ │ │ │ ├── TradeForm.tsx # 开仓表单
220- │ │ │ │ └── PositionCard.tsx # 仓位卡片
221- │ │ │ ├── OrderBook.tsx # 订单簿
222- │ │ │ └── StatsPanel.tsx # 统计面板
223- │ │ ├── Layout/ # 布局组件
224- │ │ └── Toast/ # 通知系统
183+ ├── core/ # 🦀 Rust/Wasm 核心引擎
184+ │ └── src/
185+ │ ├── lib.rs # Wasm 导出 API
186+ │ ├── engine/ # 引擎模块
187+ │ │ ├── market_engine/ # MarketEngine (K线/指标/订单簿)
188+ │ │ ├── trading/ # 交易逻辑 (开仓/平仓/限价单/风控)
189+ │ │ └── data/ # K线聚合、Tick 处理
190+ │ ├── trading/ # 交易领域模型 (仓位/订单/余额)
191+ │ ├── indicators/ # 技术指标 (SMA/EMA/MACD/RSI/BOLL)
192+ │ └── risk/ # 风控算法 (强平/保证金)
193+ ├── src/ # ⚛️ React 前端
194+ │ ├── components/Dashboard/
195+ │ │ ├── Chart/ # TradingView Lightweight Charts
196+ │ │ │ └── LightweightChart/ # 多窗格图表系统
197+ │ │ ├── Trade/ # 交易组件 (表单/仓位卡片)
198+ │ │ └── OrderBook.tsx # 订单簿
225199│ ├── hooks/
226- │ │ ├── useWasmEngine.ts # 🎯 统一 Wasm 引擎入口
227- │ │ ├── useCandleData.ts # K线数据适配
228- │ │ ├── useMockMarket.ts # Mock 行情 Hook
229- │ │ ├── tradingEngine/ # 交易引擎 Hooks
230- │ │ │ ├── useTradingActions.ts # 交易操作封装
231- │ │ │ └── wasmSingleton.ts # Wasm 单例管理
232- │ │ ├── tradingState/ # 交易状态
233- │ │ │ ├── eventHandler.ts # 事件处理
234- │ │ │ └── types.ts # 状态类型
235- │ │ └── candle/ # K线工具
236- │ │ ├── candleUtils.ts # K线计算
237- │ │ └── useIndicatorHistory.ts # 指标历史
238- │ ├── types/ # TypeScript 类型
239- │ │ ├── index.ts # 通用类型
240- │ │ ├── trading.ts # 交易类型
241- │ │ └── wasm.ts # Wasm 接口类型
200+ │ │ ├── useWasmEngine.ts # 🎯 统一 Wasm 引擎入口
201+ │ │ ├── tradingEngine/ # 交易操作封装
202+ │ │ └── candle/ # K线数据处理
242203│ ├── workers/
243- │ │ └── mockWorker.ts # 行情模拟 Worker
244- │ └── App.tsx # 根组件
245- ├── ARCHITECTURE.md
246- ├── vite.config.ts
204+ │ │ └── mockWorker.ts # Random Walk 行情模拟
205+ │ └── App.tsx
247206└── package.json
248207```
249208
0 commit comments