DeepTrade是一个基于大模型AI的实盘加密货币交易系统,灵感来源于nof1的Alpha Arena大模型炒币竞赛。系统直接对接币安实盘市场,利用DeepSeek大模型进行实时市场分析,通过5层风控机制实现自动化智能决策交易。
- 非模拟交易:直接对接币安现货/期货市场,使用真实资金交易
- 实时决策:大模型基于真实市场数据做出投资决策
- 透明度:所有交易数据、盈亏情况完全透明展示
- 官方数据源:直连币安期货WebSocket API
wss://fstream.binance.com/ws/ - 实时推送:1000ms更新频率,价格变动毫秒级响应
- 数据缓存:30秒智能缓存,REST API仅作fallback备援
- 自动重连:网络异常自动恢复,最多重试30次
- 性能提升:相比传统轮询方式,API调用减少95%+
- 模型支持:集成DeepSeek Chat API(OpenAI兼容格式)
- 智能提示词:参考Alpha Arena竞赛提示词,优化市场分析能力
- 多时间框架:3分钟、15分钟、4小时综合分析
- 决策统计:实时追踪AI决策准确率、胜率、夏普比率
- 价格突破关键支撑/阻力位时立即止损
- 防止趋势判断错误导致的重大亏损
- 监控15分钟与4小时趋势一致性
- 发现背离时自动平仓
- 大模型基于市场情绪动态调整止损位
- 比固定止损更智能的损失控制
- AI识别最佳获利时机
- 智能锁定利润,避免回吐
- 兜底保护,默认5%最大亏损
- 独立于AI判断的硬性风控
- 定时分析:每3分钟自动执行市场分析
- 智能下单:符合条件时自动开仓
- 实时监控:风险监控每30秒检查持仓状态
- 自动平仓:触发风控条件时立即执行
┌─────────────────────────────────────────────────────────┐
│ Frontend (React + TS) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Dashboard │ │ Positions │ │ History │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Analysis │ │ Settings │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────┬───────────────────────────────────┘
│ WebSocket + REST API
┌─────────────────────┴───────────────────────────────────┐
│ Backend (Node.js) │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Trading Engine │ │ Risk Monitor (30s) │ │
│ │ - AI Analysis │ │ - TP/SL Check │ │
│ │ - Position Mgmt │ │ - Auto Close │ │
│ │ - Order Execute │ └─────────────────────────────┘ │
│ └─────────────────────┘ │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Binance WebSocket │ │ REST API │ │
│ │ - Ticker Stream │ │ - Account Info │ │
│ │ - Order Updates │ │ - Trade History │ │
│ │ - 1000ms Refresh │ │ - Config Updates │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Database (SQLite) │ │
│ │ - Positions - Trade Logs - AI Signals │ │
│ │ - Performance Stats │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────┬───────────────────────────────────┘
│
┌─────────────────────┴───────────────────────────────────┐
│ External Services │
│ ┌─────────────────┐ ┌────────────────────┐ │
│ │ Binance API │ │ DeepSeek API │ │
│ │ - Futures │ │ - Chat Completions│ │
│ │ - Spot │ │ - Market Analysis │ │
│ └─────────────────┘ └────────────────────┘ │
└─────────────────────────────────────────────────────────┘
- React 18 + TypeScript - 现代化UI框架
- Vite - 极速构建工具
- TailwindCSS - 实用优先的CSS框架(液态玻璃设计风格)
- Zustand - 轻量级状态管理
- Recharts - 数据可视化图表
- Axios - HTTP客户端
- WebSocket - 实时数据推送
- Node.js 18+ - JavaScript运行时
- Express - Web应用框架
- SQLite (better-sqlite3) - 嵌入式数据库
- Winston - 结构化日志系统
- CCXT - 加密货币交易所接口库
- node-cron - 定时任务调度
- WebSocket - 实时通信
- 每3分钟执行AI分析
- 多时间框架综合判断
- 自动开仓平仓逻辑
- 风险监控集成
- 币安官方WebSocket连接
- ticker数据流订阅
- 自动重连机制
- 数据缓存管理
- 每30秒检查持仓
- TP/SL条件判断
- 快速止损止盈
- 并发安全处理
- DeepSeek API调用
- 市场数据封装
- 决策结果解析
- 准确率统计
- Node.js ≥ 18.0.0
- npm ≥ 8.0.0
- 币安API密钥(现货+期货权限)
- DeepSeek API密钥
git clone https://github.com/jj5437/deeptrade.git
cd deeptradecd backend
npm install
cp .env.example .env编辑 .env 文件:
# AI配置
AI_MODEL=deepseek
DEEPSEEK_API_KEY=your_deepseek_api_key
AI_BASE_URL=https://api.deepseek.com
# 交易所配置
EXCHANGE_TYPE=binance
BINANCE_API_KEY=your_binance_api_key
BINANCE_SECRET=your_binance_secret
# 交易配置
AUTO_TRADE=false # ⚠️ 测试阶段必须设为false
LEVERAGE=10
TRADE_AMOUNT=10
TRADING_TIMEFRAME=3m启动后端:
npm run devcd frontend
npm install
cp .env.example .env编辑 .env 文件:
VITE_API_URL=http://localhost:8080/api
VITE_WS_URL=ws://localhost:8080/ws
VITE_DEFAULT_THEME=dark启动前端:
npm run dev- 前端地址:http://localhost:5437
- 后端API:http://localhost:8080/api
- 实时总资产展示
- PnL盈亏统计
- AI决策状态
- 市场概览
- 最近交易记录
- 实时持仓价格
- PnL计算
- 一键平仓
- AI建议展示
- 风控状态
币安WebSocket ───► TickerWebSocket ───► 缓存 ───► 交易引擎
↓ ↓ ↓ ↓
价格推送 数据验证 30秒缓存 AI分析
↓ ↓ ↓ ↓
前端WebSocket ───► REST API ───► 数据库 ───► 交易执行
关键优势:
- 数据延迟 < 1秒
- API调用减少95%
- 网络错误自动恢复
- 前端实时更新
开仓 ──► AI分析 ──► 趋势验证 ──► 失效条件检查 ──► 持仓中
│ │ │
├─► 风险过高 ──► 拒绝开仓 │
└──► 设置AI止损/止盈 ──────────────┘
│
持仓监控 ──► RiskMonitor(30秒间隔)───► 检查TP/SL
│
├─► 触发止盈 ──► 自动平仓
├─► 触发止损 ──► 自动平仓
└─► 趋势背离 ──► 自动平仓
- AI决策准确率:实时追踪AI预测成功率
- 胜率统计:按交易对、信号类型统计
- 夏普比率:风险调整后收益评估
- 最大回撤:历史最大亏损幅度
- 盈亏比:平均盈利/平均亏损
logs/
├── system_YYYYMMDD_HH.log # 系统运行日志
└── api_YYYYMMDD_HH.log # API调用日志
- 日志每小时轮转
- 自动保留7天
- 支持按级别过滤
- 结构化JSON格式
# 设置为模拟模式,测试分析和决策,不自动执行交易
AUTO_TRADE=false# 小额资金测试
TRADE_AMOUNT=5
LEVERAGE=5# 验证风险监控
# 连续观察30分钟,确认每30秒执行一次风险检查
tail -f logs/system_*.log | grep 风险检查使用Docker Compose实现前后端 + Nginx反向代理的一键部署,支持HTTPS配置。
- Docker ≥ 20.0.0
- Docker Compose ≥ 2.0.0
- 域名(生产环境推荐)
- 克隆项目并配置
git clone https://github.com/jj5437/deeptrade.git
cd deeptrade- 配置环境变量
# 复制环境变量模板
cp .env.example .env
# 编辑配置文件
vim .env
# 设置您的域名和端口
# 配置后端API密钥
cp backend/.env.example backend/.env
vim backend/.env
# 填入DeepSeek API密钥和交易所API密钥
# 配置前端(可选)
cp frontend/.env.example frontend/.env- 一键部署
# 使用部署脚本
./deploy.sh
# 或手动部署
docker-compose up -d- 验证部署
# 查看服务状态
./deploy.sh status
# 查看日志
./deploy.sh logs- 访问应用
- 前端地址:http://localhost:80
- API地址:http://localhost:80/api
- WebSocket:ws://localhost:80/ws
# 部署服务
./deploy.sh
# 查看日志
./deploy.sh logs
# 停止服务
./deploy.sh stop
# 重启服务
./deploy.sh restart
# 重新部署
./deploy.sh redeploy
# 查看状态
./deploy.sh status
# 清理数据(危险操作)
./deploy.sh clean详细步骤请参考:nginx/ssl/README.md
快速配置:
# 1. 获取SSL证书(Let's Encrypt)
sudo certbot certonly --standalone -d your-domain.com
# 2. 复制证书到项目目录
sudo cp /etc/letsencrypt/live/your-domain.com/fullchain.pem ./nginx/ssl/cert.pem
sudo cp /etc/letsencrypt/live/your-domain.com/privkey.pem ./nginx/ssl/key.pem
# 3. 编辑 .env 启用HTTPS
echo "ENABLE_HTTPS=true" >> .env
# 4. 更新nginx配置中的域名
vim nginx/nginx.conf
# 将 your-domain.com 替换为实际域名
# 5. 重启服务
./deploy.sh restartdeeptrade/
├── docker-compose.yml # Docker Compose配置
├── deploy.sh # 一键部署脚本
├── .env # 全局环境变量
├── .env.example # 环境变量模板
├── nginx/ # Nginx配置
│ ├── nginx.conf # 反向代理配置
│ └── ssl/ # SSL证书目录
│ ├── cert.pem # 证书文件
│ ├── key.pem # 私钥文件
│ └── README.md # SSL配置说明
├── backend/
│ ├── .env # 后端环境变量
│ └── Dockerfile # 后端镜像构建文件
└── frontend/
├── .env # 前端环境变量
└── Dockerfile # 前端镜像构建文件
┌─────────────────────────────────────┐
│ Nginx (Port 80/443) │
│ 反向代理 + SSL + 负载均衡 │
└──────────────┬──────────────────────┘
│
┌───────┴───────┐
│ │
┌──────▼──────┐ ┌─────▼──────┐
│ Frontend │ │ Backend │
│ (React) │ │ (Node.js) │
│ Port: 80 │ │ Port:8080 │
└─────────────┘ └────────────┘
│
┌──────▼──────┐
│ SQLite DB │
│ (Volume) │
└─────────────┘
问题1:端口被占用
# 方案1:修改 .env 中的端口配置
NGINX_HTTP_PORT=8080
# 方案2:停止占用端口的进程
lsof -ti:80 | xargs kill问题2:后端启动失败
# 查看后端日志
./deploy.sh logs backend
# 检查后端环境变量
docker-compose exec backend cat backend/.env问题3:前端无法访问后端
# 检查网络连接
docker network ls
docker-compose exec frontend wget -q http://backend:8080/health
# 检查nginx配置
docker-compose exec nginx nginx -t问题4:数据库权限错误
# 修复数据目录权限
sudo chown -R 1001:1001 backend/data# 安装PM2
npm install -g pm2
# 启动后端
cd backend && pm2 start src/index.js --name "deeptrade-backend"
# 启动前端
cd frontend && pm2 start npm --name "deeptrade-frontend" -- run preview
# 查看状态
pm2 statusdeeptrade/
├── backend/ # Node.js后端
│ ├── src/
│ │ ├── config/ # 配置管理
│ │ ├── controllers/ # 控制器
│ │ │ ├── ai/ # AI分析
│ │ │ ├── exchange/ # 交易所接口
│ │ │ ├── position/ # 持仓管理
│ │ │ ├── risk/ # 风险管理
│ │ │ └── ...
│ │ ├── services/ # 核心服务
│ │ │ └── TradingEngine.js
│ │ ├── routes/ # API路由
│ │ ├── server.js # Express服务器
│ │ └── index.js # 应用入口
│ ├── data/ # SQLite数据库
│ ├── logs/ # 日志文件
│ └── docs/ # 后端文档
│
├── frontend/ # React前端
│ ├── src/
│ │ ├── components/ # React组件
│ │ ├── pages/ # 页面组件
│ │ ├── stores/ # 状态管理
│ │ ├── services/ # API服务
│ │ ├── hooks/ # 自定义钩子
│ │ ├── types/ # TypeScript类型
│ │ └── utils/ # 工具函数
│ └── public/ # 静态资源
│
├── docs/ # 项目文档
│ └── screenshots/ # 界面截图
│
└── README.md # 项目说明
-
API密钥安全
- 绝不提交
.env文件到Git - 使用环境变量存储敏感信息
- 定期轮换API密钥
- 绝不提交
-
交易安全
- 首次使用务必设置
AUTO_TRADE=false - 从小资金开始测试
- 密切关注风险日志
- 首次使用务必设置
-
系统安全
- 启用HTTPS(生产环境)
- 配置防火墙规则
- 定期备份数据库
-
网络安全
- 限制API访问IP
- 使用强密码
- 启用双重认证
-
OKX交易所支持
- 实现CCXT OKX集成
- 测试OKX WebSocket连接
- 添加OKX配置选项
-
前端配置界面完善
- 动态交易所选择(币安/OKX)
- 实时配置更新(无需重启)
- 交易参数可视化调整
-
其他大模型支持
- Claude API集成
- GPT-4集成
- 模型切换配置
-
Docker一键部署
- 前后端Docker Compose
- 环境变量模板化
- 一键启动脚本
-
性能优化
- 数据库索引优化
- WebSocket连接池
- 内存使用优化
-
更多交易所
- Bybit支持
- Bitget支持
- 跨交易所套利
-
高级交易策略
- 网格交易
- DCA策略
- 期权交易
-
机器学习增强
- 自定义技术指标
- 模型训练功能
- 回测系统
-
移动端支持
- React Native
- 移动端推送通知
- 远程控制
欢迎提交Issue和Pull Request!
- Fork项目
- 创建特性分支
- 提交变更
- 创建Pull Request
- ESLint + Prettier格式化
- TypeScript严格模式
- 提交信息遵循Conventional Commits
MIT License - 详见 LICENSE 文件
- 高风险投资:加密货币交易存在极高风险,可能导致全部资金损失
- 实盘交易:本系统使用真实资金进行交易,非模拟环境
- 无盈利保证:过往表现不代表未来收益,不保证盈利
- 用户自担风险:使用者需充分了解风险,谨慎决策
- 仅供学习:本项目主要用于学习交流,不构成投资建议
使用前请务必:
- 充分测试
- 理解风险
- 从小资金开始
- 持续监控
- 📧 邮箱:jj20235437@gmail.com
- 💬 讨论区:GitHub Discussions
- 🐛 问题反馈:GitHub Issues
- Alpha Arena - 项目灵感来源
- Binance API - 交易接口
- DeepSeek - AI模型服务
- CCXT - 交易所抽象层
- 开源社区的支持与贡献
⭐ 如果这个项目对你有帮助,请给它一个星标!
Made with ❤️ by jj5437





