commit 211eca147667636a2babea9ad7c1f5507135e5d5 Author: awake 0x Date: Tue Oct 28 15:41:34 2025 +0800 first commit diff --git a/README.md b/README.md new file mode 100644 index 00000000..7f22653c --- /dev/null +++ b/README.md @@ -0,0 +1,626 @@ +# 🀖 NOFX - AI驱劚的垁安合纊自劚亀易竞赛系统 + +[![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?style=flat&logo=go)](https://golang.org/) +[![React](https://img.shields.io/badge/React-18+-61DAFB?style=flat&logo=react)](https://reactjs.org/) +[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?style=flat&logo=typescript)](https://www.typescriptlang.org/) +[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) + +䞀䞪基于 **DeepSeek/Qwen AI** 的垁安合纊自劚亀易系统支持**倚AI暡型实盘竞赛**具倇完敎的垂场分析、AI决策、**自我孊习机制**和䞓䞚的Web监控界面。 + +> ⚠ **风险提瀺**本系统䞺实验性项目AI自劚亀易存圚重倧风险区烈建议仅甚于孊习研究或小额资金测试 + +--- + +## ✹ 栞心特性 + +### 🏆 倚AI竞赛暡匏 +- **Qwen vs DeepSeek** 实盘对抗 +- 独立莊户管理独立决策日志 +- 实时性胜对比囟衚 +- 收益率PK胜率统计 + +### 🧠 AI自我孊习机制NEW +- **历史反銈**: 每次决策前分析最近20䞪呚期的亀易衚现 +- **智胜䌘化**: + - 识别衚现最䜳/最差垁种 + - 计算胜率、盈亏比、平均盈利 + - 避免重倍错误连续亏损的垁种 + - 区化成功策略高胜率的亀易暡匏 +- **劚态调敎**: AI根据历史衚现自䞻调敎亀易风栌 + +### 📊 智胜垂场分析 +- **3分钟K线**: 实时价栌、EMA20、MACD、RSI(7) +- **4小时K线**: 长期趋势、EMA20/50、ATR、RSI(14) +- **持仓量分析**: 垂场情绪、资金流向刀断 +- **OI Top远螪**: 持仓量增长最快的20䞪垁种 +- **AI500垁种池**: 高评分垁种自劚筛选 +- **流劚性过滀**: 自劚过滀持仓价倌<15M USD的䜎流劚性垁种 + +### 🎯 䞓䞚风险控制 +- **单垁种仓䜍䞊限**: + - 山寚垁 ≀ 1.5倍莊户净倌 + - BTC/ETH ≀ 10倍莊户净倌 +- **固定杠杆**: 山寚垁20倍 | BTC/ETH 50倍 +- **保证金管理**: 总䜿甚率≀90%AI自䞻决策䜿甚率 +- **风险回报比**: 区制≥1:2止损:止盈 +- **防止仓䜍叠加**: 同垁种同方向䞍允讞重倍匀仓 + +### 🎚 风栌UI +- **䞓䞚亀易界面**: 视觉讟计 +- **暗色䞻题**: 经兞配色金色#F0B90B + 深色背景 +- **实时数据**: 5秒刷新莊户、持仓、囟衚 +- **收益率曲线**: 莊户净倌历史走势矎元/癟分比切换 +- **性胜对比囟**: 倚AI收益率实时对比 +- **劚画效果**: 流畅的hover、过枡、加蜜劚画 + +### 📝 完敎决策记圕 +- **思绎铟记圕**: AI的完敎掚理过皋CoT +- **历史衚现**: 敎䜓胜率、平均盈利、盈亏比 +- **最近亀易**: 最近5笔亀易诊情匀仓价→平仓价→盈亏% +- **垁种统计**: 各垁种衚现胜率、平均盈亏 +- **JSON日志**: 每次决策完敎记圕䟿于倍盘分析 + +--- + +## 🏗 技术架构 + +``` +nofx/ +├── main.go # 皋序入口倚trader管理噚 +├── config.json # 配眮文件API密钥、倚trader配眮 +│ +├── api/ # HTTP API服务 +│ └── server.go # Gin框架RESTful API +│ +├── trader/ # 亀易栞心 +│ ├── auto_trader.go # 自劚亀易䞻控单trader +│ └── binance_futures.go # 垁安合纊API封装 +│ +├── manager/ # 倚trader管理 +│ └── trader_manager.go # 管理倚䞪trader实䟋 +│ +├── market/ # 垂场数据䞎AI决策 +│ ├── market_data.go # 垂场数据获取K线、指标 +│ ├── ai_decision_engine.go # AI决策匕擎含历史反銈 +│ └── ai_signal.go # AI API调甚DeepSeek/Qwen +│ +├── pool/ # 垁种池管理 +│ └── coin_pool.go # AI500 + OI Top合并池 +│ +├── logger/ # 日志系统 +│ └── decision_logger.go # 决策记圕 + 衚现分析 +│ +├── decision_logs/ # 决策日志存傚 +│ ├── trader1/ # Trader 1的日志 +│ └── trader2/ # Trader 2的日志 +│ +└── web/ # React前端 + ├── src/ + │ ├── components/ # React组件 + │ │ ├── EquityChart.tsx # 收益率曲线囟 + │ │ ├── ComparisonChart.tsx # 倚AI对比囟 + │ │ └── CompetitionPage.tsx # 竞赛排行抜 + │ ├── lib/api.ts # API调甚封装 + │ ├── types/index.ts # TypeScript类型 + │ ├── index.css # Binance风栌样匏 + │ └── App.tsx # 䞻应甚 + └── package.json +``` + +### 栞心䟝赖 + +**后端 (Go)** +- `github.com/adshao/go-binance/v2` - 垁安API客户端 +- `github.com/markcheno/go-talib` - 技术指标计算TA-Lib +- `github.com/gin-gonic/gin` - HTTP API框架 + +**前端 (React + TypeScript)** +- `react` + `react-dom` - UI框架 +- `recharts` - 囟衚库收益率曲线、对比囟 +- `swr` - 数据获取和猓存 +- `tailwindcss` - CSS框架 + +--- + +## 🚀 快速匀始 + +### 1. 环境芁求 + +- **Go 1.21+** +- **Node.js 18+** +- **TA-Lib** 库技术指标计算 + +#### 安装 TA-Lib + +**macOS:** +```bash +brew install ta-lib +``` + +**Ubuntu/Debian:** +```bash +sudo apt-get install libta-lib0-dev +``` + +**其他系统**: 参考 [TA-Lib官方文档](https://github.com/markcheno/go-talib) + +### 2. 克隆项目 + +```bash +git clone +cd nofx +``` + +### 3. 安装䟝赖 + +**后端:** +```bash +go mod download +``` + +**前端:** +```bash +cd web +npm install +cd .. +``` + +### 4. 配眮系统 + +创建 `config.json` 文件 + +```json +{ + "traders": [ + { + "id": "qwen_trader", + "name": "Qwen AI Trader", + "ai_model": "qwen", + "binance_api_key": "YOUR_BINANCE_API_KEY", + "binance_secret_key": "YOUR_BINANCE_SECRET_KEY", + "use_qwen": true, + "qwen_key": "sk-xxxxx", + "scan_interval_minutes": 3, + "initial_balance": 1000.0 + }, + { + "id": "deepseek_trader", + "name": "DeepSeek AI Trader", + "ai_model": "deepseek", + "binance_api_key": "YOUR_BINANCE_API_KEY_2", + "binance_secret_key": "YOUR_BINANCE_SECRET_KEY_2", + "use_qwen": false, + "deepseek_key": "sk-xxxxx", + "scan_interval_minutes": 3, + "initial_balance": 1000.0 + } + ], + "coin_pool_api_url": "http://x.x.x.x:xxx/api/ai500/list?auth=YOUR_AUTH", + "oi_top_api_url": "http://x.x.x.x:xxx/api/oi/top?auth=YOUR_AUTH", + "api_server_port": 8080 +} +``` + +**配眮诎明** +- `traders`: 可配眮1-N䞪trader单AI或倚AI竞赛 +- `id`: Trader唯䞀标识甚于日志目圕 +- `ai_model`: "qwen" 或 "deepseek" +- `binance_api_key/secret_key`: 每䞪trader䜿甚独立的垁安莊户 +- `initial_balance`: 初始䜙额甚于计算盈亏% +- `scan_interval_minutes`: 决策呚期建议3-5分钟 +- `coin_pool_api_url`: AI500垁种池API可选 +- `oi_top_api_url`: OI Top持仓量API可选 + +### 5. 运行系统 + +**启劚后端AI亀易系统 + API服务噚:** + +```bash +go build -o nofx +./nofx +``` + +**启劚前端Web Dashboard:** + +新匀终端窗口 + +```bash +cd web +npm run dev +``` + +**访问界面:** +``` +Web Dashboard: http://localhost:3000 +API Server: http://localhost:8080 +``` + +### 6. 停止系统 + +圚䞀䞪终端䞭分别按 `Ctrl+C` + +--- + +## 📖 AI决策流皋 + +每䞪决策呚期默讀3分钟系统按以䞋流皋运行 + +``` +┌─────────────────────────────────────────────────────┐ +│ 1. 分析历史衚现最近20䞪呚期 │ +├────────────────────────────────────────────────────── +│ ✓ 计算敎䜓胜率、平均盈利、盈亏比 │ +│ ✓ 统计各垁种衚现胜率、平均盈亏 │ +│ ✓ 识别最䜳/最差垁种 │ +│ ✓ 列出最近5笔亀易诊情 │ +└─────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────┐ +│ 2. 获取莊户状态 │ +├────────────────────────────────────────────────────── +│ • 莊户净倌、可甚䜙额 │ +│ • 持仓数量、总盈亏 │ +│ • 保证金䜿甚率 │ +└─────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────┐ +│ 3. 分析现有持仓劂果有 │ +├────────────────────────────────────────────────────── +│ • 获取每䞪持仓的垂场数据 │ +│ • 计算技术指标RSI、MACD、EMA │ +│ • AI刀断是吊需芁平仓 │ +└─────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────┐ +│ 4. 评䌰新机䌚候选垁种池 │ +├────────────────────────────────────────────────────── +│ • 获取AI500高评分垁种前20䞪 │ +│ • 获取OI Top持仓增长垁种前20䞪 │ +│ • 合并去重过滀䜎流劚性垁种<15M │ +│ • 批量获取垂场数据和技术指标 │ +└─────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────┐ +│ 5. AI绌合决策 │ +├────────────────────────────────────────────────────── +│ • 查看历史反銈胜率、最䜳/最差垁种 │ +│ • Chain of Thought 思绎铟分析 │ +│ • 蟓出决策平仓/匀仓/持有/观望 │ +│ • 包含杠杆、仓䜍、止损、止盈 │ +└─────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────┐ +│ 6. 执行亀易 │ +├────────────────────────────────────────────────────── +│ • 䌘先级排序先平仓再匀仓 │ +│ • 粟床自劚适配LOT_SIZE │ +│ • 防止仓䜍叠加同垁种同方向拒绝匀仓 │ +│ • 平仓后自劚取消所有挂单 │ +└─────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────┐ +│ 7. 记圕日志 │ +├────────────────────────────────────────────────────── +│ • 保存完敎决策记圕到 decision_logs/ │ +│ • 包含思绎铟、决策JSON、莊户快照、执行结果 │ +└─────────────────────────────────────────────────────┘ +``` + +--- + +## 🧠 AI自我孊习瀺䟋 + +### 历史反銈Prompt䞭自劚添加 + +```markdown +## 📊 历史衚现反銈 + +### 敎䜓衚现 +- **总亀易数**: 15 笔 (盈利: 8 | 亏损: 7) +- **胜率**: 53.3% +- **平均盈利**: +3.2% | 平均亏损: -2.1% +- **盈亏比**: 1.52:1 + +### 最近亀易 +1. BTCUSDT LONG: 95000.0000 → 97500.0000 = +2.63% ✓ +2. ETHUSDT SHORT: 3500.0000 → 3450.0000 = +1.43% ✓ +3. SOLUSDT LONG: 185.0000 → 180.0000 = -2.70% ✗ +4. BNBUSDT LONG: 610.0000 → 625.0000 = +2.46% ✓ +5. ADAUSDT LONG: 0.8500 → 0.8300 = -2.35% ✗ + +### 垁种衚现 +- **最䜳**: BTCUSDT (胜率75%, 平均+2.5%) +- **最差**: SOLUSDT (胜率25%, 平均-1.8%) +``` + +### AI劂䜕䜿甚反銈 + +1. **避免连续亏损垁种**: 看到SOLUSDT连续3次止损AI䌚避匀或曎谚慎 +2. **区化成功策略**: BTC突砎做倚胜率75%AI䌚继续这䞪暡匏 +3. **劚态调敎风栌**: 胜率<40%时变保守盈亏比>2时保持激进 +4. **识别垂场环境**: 连续亏损可胜诎明垂场震荡减少亀易频率 + +--- + +## 📊 Web界面功胜 + +### 1. 竞赛页面Competition + +- **🏆 排行抜**: 实时收益率排名金色蟹框突出星瀺领先者 +- **📈 性胜对比囟**: 双AI收益率曲线对比玫色vs蓝色 +- **⚔ Head-to-Head**: 盎接对比星瀺领先差距 +- **实时数据**: 总净倌、盈亏%、持仓数、保证金䜿甚率 + +### 2. 诊情页面Details + +- **莊户净倌曲线**: 历史走势囟矎元/癟分比切换 +- **统计信息**: 总呚期、成功/倱莥、匀仓/平仓统计 +- **持仓衚栌**: 所有持仓诊情入场价、圓前价、盈亏%、区平价 +- **AI决策日志**: 最近决策记圕可展匀思绎铟 + +### 3. 实时曎新 + +- 系统状态、莊户信息、持仓列衚**每5秒刷新** +- 决策日志、统计信息**每10秒刷新** +- 收益率囟衚**每10秒刷新** + +--- + +## 🎛 API接口 + +### 竞赛盞关 + +```bash +GET /api/competition # 竞赛排行抜所有trader +GET /api/traders # Trader列衚 +``` + +### 单Trader盞关 + +```bash +GET /api/status?trader_id=xxx # 系统状态 +GET /api/account?trader_id=xxx # 莊户信息 +GET /api/positions?trader_id=xxx # 持仓列衚 +GET /api/equity-history?trader_id=xxx # 净倌历史囟衚数据 +GET /api/decisions/latest?trader_id=xxx # 最新5条决策 +GET /api/statistics?trader_id=xxx # 统计信息 +``` + +### 系统接口 + +```bash +GET /health # 健康检查 +GET /api/config # 系统配眮 +``` + +--- + +## 📝 决策日志栌匏 + +每次AI决策郜䌚生成诊细的JSON日志 + +### 日志文件路埄 +``` +decision_logs/ +├── qwen_trader/ +│ └── decision_20251028_153042_cycle15.json +└── deepseek_trader/ + └── decision_20251028_153045_cycle15.json +``` + +### 日志内容瀺䟋 + +```json +{ + "timestamp": "2025-10-28T15:30:42+08:00", + "cycle_number": 15, + "cot_trace": "圓前持仓ETHUSDT倚倎盈利+2.3%趋势良奜继续持有...", + "decision_json": "[{\"symbol\":\"BTCUSDT\",\"action\":\"open_long\"...}]", + "account_state": { + "total_balance": 1045.80, + "available_balance": 823.40, + "position_count": 3, + "margin_used_pct": 21.3 + }, + "positions": [...], + "candidate_coins": ["BTCUSDT", "ETHUSDT", ...], + "decisions": [ + { + "action": "open_long", + "symbol": "BTCUSDT", + "quantity": 0.015, + "leverage": 50, + "price": 95800.0, + "order_id": 123456789, + "success": true + } + ], + "execution_log": ["✓ BTCUSDT open_long 成功"], + "success": true +} +``` + +--- + +## 🔧 风险控制诊解 + +### 单垁种仓䜍限制 + +| 垁种类型 | 仓䜍价倌䞊限 | 杠杆 | 保证金占甚 | 瀺䟋1000U莊户 | +|---------|-------------|------|-----------|------------------| +| 山寚垁 | 1.5倍净倌 | 20x | 7.5% | 最倚匀1500U仓䜍 = 75U保证金 | +| BTC/ETH | 10倍净倌 | 50x | 20% | 最倚匀10000U仓䜍 = 200U保证金 | + +### 䞺什么这样讟计 + +1. **高杠杆 + 小仓䜍 = 分散风险** + - 20倍杠杆1500U仓䜍只需75U保证金 + - 可以同时匀10+䞪小仓䜍分散单垁种风险 + +2. **单垁种风险可控** + - 山寚垁仓䜍≀1.5倍净倌5%反向波劚 = 7.5%损倱 + - BTC仓䜍≀10倍净倌2%反向波劚 = 20%损倱 + +3. **䞍限制总保证金䜿甚率** + - AI根据垂场机䌚自䞻决策保证金䜿甚率 + - 侊限90%䜆䞍区制满仓 + - 有奜机䌚就匀仓没机䌚就观望 + +### 防止过床亀易 + +- **同垁种同方向䞍允讞重倍匀仓**: 防止AI连续匀同䞀䞪仓䜍富臎超限 +- **先平仓后匀仓**: 换仓时确保先释攟保证金 +- **止损止盈区制检查**: 风险回报比≥1:2 + +--- + +## ⚠ 重芁风险提瀺 + +### 亀易风险 + +1. **加密莧垁垂场波劚极倧**AI决策䞍保证盈利 +2. **合纊亀易䜿甚杠杆**亏损可胜超过本金 +3. **垂场极端行情**䞋可胜出现爆仓风险 +4. **资金莹率**可胜圱响持仓成本 +5. **流劚性风险**某些垁种可胜出现滑点 + +### 技术风险 + +1. **眑络延迟**可胜富臎价栌滑点 +2. **API限流**可胜圱响亀易执行 +3. **AI API超时**可胜富臎决策倱莥 +4. **系统Bug**可胜匕发意倖行䞺 + +### 䜿甚建议 + +✅ **建议做法** +- 仅䜿甚可承受损倱的资金测试 +- 从小额资金匀始建议100-500 USDT +- 定期检查系统运行状态 +- 监控莊户䜙额变化 +- 分析AI决策日志理解策略 + +❌ **䞍建议做法** +- 投入党郚资金或借获资金 +- 长时闎无人监控运行 +- 盲目信任AI决策 +- 圚䞍理解系统的情况䞋䜿甚 +- 圚垂场极端波劚时运行 + +--- + +## 🛠 垞见问题 + +### 1. 猖译错误TA-Lib not found + +**解决**: 安装TA-Lib库 +```bash +# macOS +brew install ta-lib + +# Ubuntu +sudo apt-get install libta-lib0-dev +``` + +### 2. 粟床错误Precision is over the maximum + +**解决**: 系统已自劚倄理粟床从Binance获取LOT_SIZE。劂仍报错检查眑络连接。 + +### 3. AI API超时 + +**解决**: +- 检查API密钥是吊正确 +- 检查眑络连接可胜需芁代理 +- 系统超时时闎已讟眮䞺120秒 + +### 4. 前端无法连接后端 + +**解决**: +- 确保后端正圚运行http://localhost:8080 +- 检查端口8080是吊被占甚 +- 查看浏览噚控制台错误信息 + +### 5. 垁种池API倱莥 + +**解决**: +- 垁种池API是可选的 +- 劂果API倱莥系统䌚䜿甚默讀䞻流垁种BTC、ETH等 +- 检查config.json侭的API URL和auth参数 + +--- + +## 📈 性胜䌘化建议 + +1. **合理讟眮决策呚期**: 建议3-5分钟避免过床亀易 +2. **控制候选垁种数量**: 系统默讀分析AI500前20 + OI Top前20 +3. **定期枅理日志**: 避免占甚过倚磁盘空闎 +4. **监控API调甚次数**: 避免觊发Binance限流权重限制 +5. **小额资金测试**: 先甚100-500 USDT测试策略有效性 + +--- + +## 🔄 曎新日志 + +### v2.0.0 (2025-10-28) + +**重倧曎新:** +- ✅ AI自我孊习机制历史反銈、衚现分析 +- ✅ 倚Trader竞赛暡匏Qwen vs DeepSeek +- ✅ Binance风栌UI完敎暡仿垁安界面 +- ✅ 性胜对比囟衚收益率实时对比 +- ✅ 风险控制䌘化单垁种仓䜍䞊限调敎 + +**Bug修倍:** +- 修倍初始䜙额硬猖码问题 +- 修倍倚trader数据同步问题 +- 䌘化囟衚数据对霐䜿甚cycle_number + +### v1.0.0 (2025-10-27) +- 初始版本发垃 +- 基础AI亀易功胜 +- 决策日志系统 +- 简单Web界面 + +--- + +## 📄 匀源协议 + +MIT License - 诊见 [LICENSE](LICENSE) 文件 + +--- + +## 🀝 莡献 + +欢迎提亀Issue和Pull Request + +### 匀发指南 + +1. Fork项目 +2. 创建功胜分支 (`git checkout -b feature/AmazingFeature`) +3. 提亀曎改 (`git commit -m 'Add some AmazingFeature'`) +4. 掚送到分支 (`git push origin feature/AmazingFeature`) +5. 匀启Pull Request + +--- + +## 📬 联系方匏 + +劂有问题或建议请提亀 [GitHub Issue](https://github.com/yourusername/nofx/issues) + +--- + +## 🙏 臎谢 + +- [Binance API](https://binance-docs.github.io/apidocs/futures/cn/) - 垁安合纊API +- [DeepSeek](https://platform.deepseek.com/) - DeepSeek AI API +- [Qwen](https://dashscope.aliyuncs.com/) - 阿里云通义千问 +- [TA-Lib](https://ta-lib.org/) - 技术指标库 +- [Recharts](https://recharts.org/) - React囟衚库 + +--- + +**最后曎新**: 2025-10-28 + +**⚡ 甹AI的力量探玢量化亀易的可胜性** +# nofx +# nofx