mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-09 22:10:57 +08:00
165 lines
7.2 KiB
Markdown
165 lines
7.2 KiB
Markdown
# NOFX 架构文档
|
||
|
||
**语言:** [English](README.md) | [中文](README.zh-CN.md)
|
||
|
||
为希望了解 NOFX 内部实现的开发者提供的技术文档。
|
||
|
||
---
|
||
|
||
## 概述
|
||
|
||
NOFX 是一个支持加密货币和美股市场的全栈 AI 交易平台:
|
||
|
||
- **后端:** Go (Gin 框架, SQLite)
|
||
- **前端:** React/TypeScript (Vite, TailwindCSS)
|
||
- **AI 模型:** DeepSeek, Qwen, OpenAI (GPT-5.2), Claude, Gemini, Grok, Kimi
|
||
- **交易所:** Binance, Bybit, OKX, Hyperliquid, Aster, Lighter
|
||
|
||
---
|
||
|
||
## 系统架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||
│ NOFX 平台 │
|
||
├─────────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐│
|
||
│ │ 策略 │ │ 回测 │ │ 辩论 │ │ 实盘交易 ││
|
||
│ │ 工作室 │ │ 引擎 │ │ 竞技场 │ │ (自动交易员) ││
|
||
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────────┬──────────┘│
|
||
│ │ │ │ │ │
|
||
│ └────────────────┴────────────────┴────────────────────┘ │
|
||
│ │ │
|
||
│ ┌─────────▼─────────┐ │
|
||
│ │ 核心服务 │ │
|
||
│ │ - 行情数据 │ │
|
||
│ │ - AI 模型 │ │
|
||
│ │ - 风险控制 │ │
|
||
│ └─────────┬─────────┘ │
|
||
│ │ │
|
||
│ ┌──────────────────────────┼──────────────────────────┐ │
|
||
│ │ │ │ │
|
||
│ ┌──────▼──────┐ ┌─────────▼─────────┐ ┌────────▼────────┐ │
|
||
│ │ 交易所 │ │ 数据库 │ │ 前端 UI │ │
|
||
│ │ (CEX/DEX) │ │ (SQLite) │ │ (React SPA) │ │
|
||
│ └─────────────┘ └───────────────────┘ └─────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 模块文档
|
||
|
||
### 核心模块
|
||
|
||
| 模块 | 描述 | 文档 |
|
||
|------|------|------|
|
||
| **策略工作室** | 策略配置、币种选择、数据组装、AI 提示词 | [STRATEGY_MODULE.md](STRATEGY_MODULE.md) |
|
||
| **回测引擎** | 历史模拟、性能指标、AI 决策回放 | [BACKTEST_MODULE.md](BACKTEST_MODULE.md) |
|
||
| **辩论竞技场** | 多 AI 协作决策,投票共识机制 | [DEBATE_MODULE.md](DEBATE_MODULE.md) |
|
||
|
||
### 模块概览
|
||
|
||
#### 策略模块
|
||
完整的策略配置系统,包括:
|
||
- 币种来源选择(静态列表、AI500 币池、OI 排行)
|
||
- 市场数据指标(K线、EMA、MACD、RSI、ATR)
|
||
- 提示词构建(系统提示词、用户提示词、分段配置)
|
||
- AI 响应解析和决策执行
|
||
- 风险控制强制执行
|
||
|
||
**[阅读完整文档 →](STRATEGY_MODULE.md)**
|
||
|
||
#### 回测模块
|
||
历史交易模拟引擎:
|
||
- 多币种、多时间周期回测
|
||
- AI 决策回放与缓存
|
||
- 性能指标(夏普比率、最大回撤、胜率)
|
||
- SSE 实时进度推送
|
||
- 断点续测支持
|
||
|
||
**[阅读完整文档 →](BACKTEST_MODULE.md)**
|
||
|
||
#### 辩论模块
|
||
多 AI 协作决策系统:
|
||
- 5 种 AI 性格(多头、空头、分析师、逆势者、风控)
|
||
- 多轮辩论与市场数据上下文
|
||
- 加权投票与共识算法
|
||
- 自动执行到实盘交易
|
||
- SSE 实时流推送
|
||
|
||
**[阅读完整文档 →](DEBATE_MODULE.md)**
|
||
|
||
---
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
nofx/
|
||
├── main.go # 程序入口
|
||
├── api/ # HTTP API (Gin 框架)
|
||
├── trader/ # 交易执行层
|
||
├── strategy/ # 策略引擎
|
||
├── backtest/ # 回测模拟引擎
|
||
├── debate/ # 辩论竞技场引擎
|
||
├── market/ # 行情数据服务
|
||
├── mcp/ # AI 模型客户端
|
||
├── store/ # 数据库操作
|
||
├── auth/ # JWT 认证
|
||
├── manager/ # 多交易员管理
|
||
└── web/ # React 前端
|
||
├── src/pages/ # 页面组件
|
||
├── src/components/ # 共享组件
|
||
└── src/lib/api.ts # API 客户端
|
||
```
|
||
|
||
---
|
||
|
||
## 核心依赖
|
||
|
||
### 后端 (Go)
|
||
|
||
| 包 | 用途 |
|
||
|---------|---------|
|
||
| `gin-gonic/gin` | HTTP API 框架 |
|
||
| `adshao/go-binance` | Binance API 客户端 |
|
||
| `markcheno/go-talib` | 技术指标计算 |
|
||
| `golang-jwt/jwt` | JWT 认证 |
|
||
|
||
### 前端 (React)
|
||
|
||
| 包 | 用途 |
|
||
|---------|---------|
|
||
| `react` | UI 框架 |
|
||
| `recharts` | 图表可视化 |
|
||
| `swr` | 数据获取 |
|
||
| `zustand` | 状态管理 |
|
||
| `tailwindcss` | CSS 框架 |
|
||
|
||
---
|
||
|
||
## 快速链接
|
||
|
||
- [策略模块](STRATEGY_MODULE.md) - 策略如何运作
|
||
- [回测模块](BACKTEST_MODULE.md) - 回测如何运作
|
||
- [辩论模块](DEBATE_MODULE.md) - AI 辩论如何运作
|
||
- [快速开始](../getting-started/README.zh-CN.md) - 部署指南
|
||
- [常见问题](../faq/README.md) - FAQ
|
||
|
||
---
|
||
|
||
## 开发者资源
|
||
|
||
**想要贡献?**
|
||
- 阅读上方的模块文档
|
||
- 查看 [Open Issues](https://github.com/NoFxAiOS/nofx/issues)
|
||
- 加入我们的社区
|
||
|
||
**代码仓库:** https://github.com/NoFxAiOS/nofx
|
||
|
||
---
|
||
|
||
[← 返回文档首页](../README.md)
|