NOFX AI量化交易系统 - 完整使用手册

📖 目录
第一部分:系统概述
1.1 NOFX是什么?
NOFX是一个基于人工智能的加密货币自动交易系统,它能够:
- ✅ 24小时自动监控市场:无需人工盯盘
- ✅ AI智能决策:使用DeepSeek、Qwen等大语言模型分析市场
- ✅ 多交易所支持:币安、Hyperliquid、Aster DEX
- ✅ 风险自动控制:内置止损、仓位限制、保证金管理
- ✅ 完整决策记录:每笔交易都有详细的AI思维链日志
- ✅ 实时可视化监控:专业的Web仪表盘
1.2 系统架构简图
┌─────────────────────────────────────────────────────────┐ │ 用户(你) │ │ ↓ │ │ Web浏览器 (http://localhost:3000) │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ NOFX 核心系统 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 配置管理 │ │ AI决策引擎 │ │ 交易执行器 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ↓ ↓ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ SQLite │ │ AI API │ │ 交易所 API │ │ 数据库 │ │ (DeepSeek) │ │ (Binance) │ └──────────────┘ └──────────────┘ └──────────────┘ 1.3 核心工作流程
1. 系统启动 ↓ 2. 加载配置(AI模型、交易所、交易员) ↓ 3. 定时触发(每3-5分钟) ↓ 4. 获取市场数据(价格、K线、技术指标、持仓量) ↓ 5. 查询当前账户状态(余额、持仓、盈亏) ↓ 6. 分析历史表现(最近20笔交易的胜率、盈亏比) ↓ 7. 生成AI提示词(包含所有上下文信息) ↓ 8. 调用AI API获取决策 ↓ 9. 解析AI返回的交易指令 ↓ 10. 风险验证(仓位限制、风险回报比、保证金检查) ↓ 11. 执行交易(下单到交易所) ↓ 12. 记录日志(保存到decision_logs目录和数据库) ↓ 13. 等待下一个周期 第二部分:环境准备
2.1 硬件要求
最低配置:
- CPU: 双核 2.0GHz
- 内存: 2GB RAM
- 存储: 10GB 可用空间
- 网络: 稳定的互联网连接
推荐配置:
- CPU: 四核 2.5GHz+
- 内存: 4GB RAM
- 存储: 20GB SSD
- 网络: 5Mbps+ 带宽
2.2 软件依赖
方式一:Docker部署(强烈推荐)
只需要安装Docker:
Windows/macOS:
- 访问 Docker Desktop官网
- 下载对应系统的安装包
- 双击安装,一路"下一步"
- 重启计算机
Linux (Ubuntu/Debian):
# 使用官方安装脚本 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 将当前用户加入docker组 sudo usermod -aG docker $USER newgrp docker 验证安装:
docker --version # 应该显示:Docker version 24.x.x docker compose version # 应该显示:Docker Compose version v2.x.x 方式二:手动部署(开发者)
如果你想修改代码或深度定制,需要手动安装:
1. 安装 Go (1.21+)
# Linux wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc # macOS brew install go # Windows: 下载安装包 # https://go.dev/dl/ 2. 安装 Node.js (18+)
# Linux/macOS (使用nvm) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash nvm install 18 nvm use 18 # Windows: 下载安装包 # https://nodejs.org/ 3. 安装 TA-Lib
# macOS brew install ta-lib # Ubuntu/Debian sudo apt-get update sudo apt-get install libta-lib0-dev # Windows: 下载预编译包 # https://github.com/markcheno/go-talib 2.3 账户准备
(1)币安账户(必需)
步骤:
- 注册账户
- 访问:https://www.binance.com/join?ref=TINKLEVIP
- 使用邮箱或手机号注册
- 完成邮箱/手机验证
- 完成KYC认证
- 进入"用户中心" → "身份认证"
- 上传身份证/护照
- 人脸识别验证
- 等待审核(通常1-24小时)
- 开通合约交易
- 访问"衍生品" → "U本位合约"
- 点击"立即开通"
- 阅读并同意风险协议
- 创建API密钥
- 进入"用户中心" → "API管理"
- 点击"创建API"
- 输入标签名称(如:NOFX_Trading)
- 重要:只勾选"启用合约交易",不要勾选"提现"
- 完成二次验证
- 立即保存API Key和Secret Key(只显示一次!)
- 绑定IP白名单(强烈推荐)
- 在API管理页面,找到刚创建的API
- 点击"编辑"
- 添加你的服务器IP(如果是本地测试,添加你的公网IP)
- 保存
资金准备:
- 测试阶段:建议100-500 USDT
- 正式运行:建议500-2000 USDT
- ⚠️ 切记:只投入你能承受损失的资金
(2)AI API密钥(必需)
推荐:DeepSeek(性价比最高)
- 访问:https://platform.deepseek.com
- 使用邮箱注册
- 进入"余额充值",充值$20-50(推荐)
- 进入"API Keys",点击"创建新密钥"
- 立即复制保存密钥(格式:
sk-xxxxxxxxxxxxxxxxxx)
费用参考:
- 价格:$0.14 / 百万tokens
- 日消耗:约$1-2(24小时运行,3分钟决策间隔)
- $50可用约1个月
备选:通义千问 Qwen
- 访问:https://dashscope.console.aliyun.com
- 使用阿里云账号登录(需要中国手机号)
- 开通"DashScope"服务
- 创建API密钥
第三部分:快速部署
3.1 下载项目
# 使用Git克隆 git clone https://github.com/tinkle-community/nofx.git cd nofx # 或者直接下载ZIP(Windows用户推荐) # 访问 https://github.com/tinkle-community/nofx # 点击 "Code" → "Download ZIP" # 解压到任意目录 3.2 配置系统
步骤1:创建配置文件
# 复制配置模板 cp config.example.jsonc config.json 步骤2:编辑配置文件
Windows用户:
notepad config.json macOS/Linux用户:
nano config.json # 或者使用你喜欢的编辑器:vim, code, etc. 步骤3:填写基础配置
最简配置示例:
{ "admin_mode": true, "use_default_coins": true, "api_server_port": 8080, "jwt_secret": "请把这里替换成一个至少32位的随机字符串", "leverage": { "btc_eth_leverage": 5, "altcoin_leverage": 5 } } 生成随机JWT密钥:
# macOS/Linux openssl rand -base64 64 # Windows PowerShell [Convert]::ToBase64String((1..64 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 })) # 或者使用在线工具 # https://www.grc.com/passwords.htm 配置项说明:
| 配置项 | 说明 | 推荐值 |
|---|---|---|
admin_mode | 管理员模式(简化登录) | true |
use_default_coins | 使用默认币种列表 | true |
api_server_port | API服务端口 | 8080 |
jwt_secret | JWT密钥(必须修改) | 64位随机字符串 |
btc_eth_leverage | BTC/ETH最大杠杆 | 5(保守) |
altcoin_leverage | 山寨币最大杠杆 | 5(保守) |
⚠️ 重要提醒:
jwt_secret必须修改为你自己的随机字符串- 币安子账户杠杆最高只能5倍
- 主账户可以设置更高,但新手不推荐
3.3 启动系统
使用Docker(推荐)
# 首次启动(会自动构建镜像) docker compose up -d --build # 查看启动状态 docker compose ps # 查看日志 docker compose logs -f # 停止系统 docker compose down # 重启系统 docker compose restart 启动成功标志:
✅ Container nofx-trading Started ✅ Container nofx-frontend Started 使用手动部署
终端1:启动后端
# 安装Go依赖 go mod download # 编译程序 go build -o nofx # 启动后端 ./nofx 终端2:启动前端
# 进入前端目录 cd web # 安装依赖(首次运行) npm install # 启动开发服务器 npm run dev 3.4 访问系统
打开浏览器,访问:
http://localhost:3000 首次登录凭证(管理员模式):
- 用户名:
admin - 密码:
admin123
⚠️ 安全提示:生产环境必须立即修改密码!
第四部分:Web界面操作
4.1 登录系统
- 打开
http://localhost:3000 - 输入用户名和密码
- 点击"登录"按钮
界面语言切换:
- 右上角有语言切换按钮
- 支持:中文、English
4.2 主界面导航
┌─────────────────────────────────────────────────────────┐ │ [NOFX Logo] [竞赛页] [交易员管理] [语言] [退出] │ ├─────────────────────────────────────────────────────────┤ │ │ │ 主要内容区域 │ │ - 竞赛页:多AI对比排行榜 │ │ - 交易员管理:配置、启动、监控交易员 │ │ │ └─────────────────────────────────────────────────────────┘ 4.3 配置AI模型
步骤:
- 进入"交易员管理"页面
- 点击"AI模型配置"按钮
- 启用DeepSeek或Qwen
配置DeepSeek:
AI模型名称: DeepSeek API密钥: sk-your-deepseek-api-key-here 自定义API地址: (留空,使用默认) 自定义模型名称: (留空,使用默认) 状态: ✅ 启用 配置Qwen:
AI模型名称: Qwen API密钥: sk-your-qwen-api-key-here 自定义API地址: (留空,使用默认) 自定义模型名称: (留空,使用默认) 状态: ✅ 启用 - 点击"保存配置"
验证成功标志:
- 看到"配置保存成功"提示
- AI模型列表中状态显示为"已启用"
4.4 配置交易所
步骤:
- 在"交易员管理"页面
- 点击"交易所配置"按钮
- 选择Binance
配置Binance:
交易所名称: Binance API Key: your-binance-api-key Secret Key: your-binance-secret-key 状态: ✅ 启用 - 点击"保存配置"
验证连接:
- 系统会自动测试连接
- 成功后显示"连接成功"
- 失败会显示错误信息(检查API密钥是否正确)
第五部分:交易员管理
5.1 创建交易员
步骤:
- 进入"交易员管理"页面
- 点击"创建交易员"按钮
- 填写以下信息:
交易员名称: 稳健策略A(自己命名,便于识别) AI模型: DeepSeek(从下拉列表选择已配置的模型) 交易所: Binance(从下拉列表选择已配置的交易所) 初始余额: 500(填写你在币安账户的实际USDT余额) 扫描间隔: 3分钟(推荐3-5分钟) 自定义策略: (可选,留空使用默认策略) - 点击"创建"按钮
命名建议:
- 描述性命名:如"DeepSeek-保守-5倍杠杆"
- 包含策略特点:如"Qwen-激进-主流币"
- 方便多交易员对比
5.2 启动交易员
步骤:
- 在交易员列表中找到你创建的交易员
- 点击"启动"按钮
- 确认弹窗中点击"确定"
启动成功标志:
- 状态变为"运行中"(绿色)
- 显示运行时长倒计时
- 开始出现决策记录
首次决策时间:
- 通常需要等待3-5分钟(一个扫描周期)
- 首次决策可能显示"观望"(正常现象)
- AI需要先分析市场环境
5.3 停止交易员
步骤:
- 找到正在运行的交易员
- 点击"停止"按钮
- 确认弹窗中点击"确定"
停止后行为:
- ✅ 已有持仓保持不变(不会自动平仓)
- ✅ 不再产生新的决策
- ✅ 可以随时重新启动
- ⚠️ 如需平仓,请在交易所手动操作或使用"一键平仓"功能
5.4 删除交易员
步骤:
- 确保交易员已停止
- 点击"删除"按钮
- 确认弹窗中输入交易员名称
- 点击"确定"
⚠️ 警告:
- 删除后无法恢复
- 决策日志会保留在
decision_logs目录 - 但数据库中的权益历史会被清除
5.5 批量操作
一键启动所有交易员:
点击页面顶部的"启动全部"按钮 一键停止所有交易员:
点击页面顶部的"停止全部"按钮 第六部分:监控与分析
6.1 实时监控面板
账户信息卡片:
┌────────────────────────────────────┐ │ 账户概览 │ ├────────────────────────────────────┤ │ 总权益: 1,250.00 USDT │ │ 可用余额: 800.50 USDT │ │ 总盈亏: +25.00% (+250 USDT) │ │ 保证金使用率: 45.2% │ │ 持仓数量: 2 │ └────────────────────────────────────┘ 字段解释:
- 总权益:账户总价值 = 可用余额 + 已用保证金 + 未实现盈亏
- 可用余额:可以用来开新仓的资金
- 总盈亏:相对初始余额的收益率
- 保证金使用率:已用保证金 / 总权益(超过90%会限制开仓)
- 持仓数量:当前持有的仓位个数
6.2 持仓列表
示例:
┌─────────────────────────────────────────────────────────────┐ │ 当前持仓 (2) │ ├─────────────────────────────────────────────────────────────┤ │ BTCUSDT LONG 5x │ │ 入场价: 96,500.00 | 当前价: 97,200.00 | 盈亏: +0.73% │ │ 仓位: 2,500 USDT | 保证金: 500 USDT | 强平价: 94,000 │ │ 持仓时长: 2小时15分钟 │ │ [平仓] [修改止损止盈] │ ├─────────────────────────────────────────────────────────────┤ │ ETHUSDT SHORT 5x │ │ 入场价: 3,500.00 | 当前价: 3,480.00 | 盈亏: +0.57% │ │ 仓位: 1,500 USDT | 保证金: 300 USDT | 强平价: 3,900 │ │ 持仓时长: 45分钟 │ │ [平仓] [修改止损止盈] │ └─────────────────────────────────────────────────────────────┘ 颜色标识:
- 🟢 绿色:盈利持仓
- 🔴 红色:亏损持仓
- 🟡 黄色:接近强平价(警告)
6.3 权益曲线图
功能:
- 📈 显示账户价值随时间的变化
- 🔄 可切换"绝对值"和"百分比"视图
- 🔍 鼠标悬停查看具体数值
- 📅 支持时间范围筛选(1天/7天/30天/全部)
分析技巧:
- 平滑上升:策略稳健,风险控制良好
- 剧烈波动:杠杆过高或仓位管理不当
- 持续下跌:市场环境不适合,考虑暂停
- 台阶式上升:抓住了几次好机会,但频率不高
6.4 AI决策日志
查看方法:
- 进入"交易员详情"页面
- 滚动到"AI决策日志"区域
- 点击任意决策记录的"展开"按钮
日志内容:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 决策时间: 2025-11-03 14:32:15 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【输入数据】 时间: 2025-11-03 14:32 | 周期: #47 | 运行: 142分钟 BTC: 96,500.00 (1h: +0.8%, 4h: +2.3%) | MACD: 125.34 | RSI: 58.2 账户: 净值1,250.00 | 余额800.50 (64.0%) | 盈亏+25.0% | 保证金45.2% | 持仓2个 ## 当前持仓 1. BTCUSDT LONG | 入场价96,500 当前价96,800 | 盈亏+0.31% | 杠杆5x | 保证金500 | 强平价94,000 | 持仓时长2小时15分钟 [市场数据详情...] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【AI分析思维链】 市场环境分析: BTC在96,500附近形成支撑,4小时级别呈现上升趋势。 MACD保持金叉状态,RSI(58)处于中性偏多区域,未超买。 持仓量稳定增长,显示多头信心较强。 现有持仓评估: BTCUSDT多单已持有2小时,浮盈+0.31%。 虽有盈利但未达到止盈目标(99,000),暂时继续持有。 止损设置在95,000,风险可控。 新机会识别: ETHUSDT在3,500附近遇阻,4小时级别MACD即将死叉。 考虑开设小仓位做空,目标3,400,止损3,600。 风险回报比 (3,500-3,400)/(3,600-3,500) = 1:1 不满足≥1:3要求,放弃。 决策结论: 保持现有BTCUSDT多单,暂不开新仓。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【决策输出】 [ { "symbol": "BTCUSDT", "action": "hold", "reasoning": "持续观察,等待止盈或止损触发" } ] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【执行结果】 ✅ 决策执行成功 操作: 保持持仓 无新订单生成 日志解读要点:
- 输入数据:AI看到了什么信息
- 思维链:AI如何分析市场(最重要)
- 决策输出:AI最终的指令
- 执行结果:系统是否成功执行
6.5 统计数据
关键指标:
┌────────────────────────────────────┐ │ 交易统计 │ ├────────────────────────────────────┤ │ 总决策周期: 150 │ │ 开仓次数: 32 │ │ 平仓次数: 28 │ │ 胜率: 57.1% (16胜12负) │ │ 平均盈利: +2.8% │ │ 平均亏损: -1.5% │ │ 盈亏比: 1.87:1 │ │ 夏普比率: 1.42 │ │ 最大回撤: -8.3% │ └────────────────────────────────────┘ 指标说明:
- 胜率:盈利交易 / 总交易次数
- 盈亏比:平均盈利 / 平均亏损(>1说明赚得比亏得多)
- 夏普比率:风险调整后的收益(>1优秀,>2非常优秀)
- 最大回撤:从峰值到谷底的最大跌幅
第七部分:高级配置
7.1 自定义交易策略
功能说明: 你可以为交易员添加个性化策略指令,系统会将其追加到AI的Prompt中。
配置方法:
- 进入"交易员详情"页面
- 点击"编辑策略"按钮
- 在文本框中输入你的策略描述
示例1:保守策略
个性化策略: 1. 优先交易BTC和ETH,山寨币仅在极强趋势时参与 2. 单笔交易杠杆不超过3倍 3. 震荡市(BTC日内波动<2%)降低交易频率 4. 连续亏损2笔后,暂停1小时再交易 5. 持仓超过4小时未达止盈,考虑提前止盈50% 示例2:激进策略
个性化策略: 1. 积极捕捉短期波动,扫描间隔设为3分钟 2. 可使用5倍杠杆(BTC/ETH)和3倍杠杆(山寨币) 3. 优先做多,但在明确下跌信号时果断做空 4. 关注持仓量急速变化的币种(OI Top信号) 5. 单笔盈利达到2%立即止盈,不等待更高目标 示例3:趋势跟踪
个性化策略: 1. 只做趋势,不做震荡:4小时EMA20必须明确方向 2. 严格止损,止损幅度1.5%,止盈幅度≥4.5%(1:3风险回报比) 3. 持仓时间最少6小时,给趋势充分发展空间 4. 避免在高波动时段(美国收盘、重大新闻)开仓 5. 最多持仓1个币种,集中资金做透一个机会 注意事项:
- 策略描述要清晰明确,避免模糊表达
- AI会尽量遵守,但仍会结合市场实际情况调整
- 不能违背系统的硬约束(如风险回报比≥1:3)
7.2 调整杠杆配置
修改方法:
编辑config.json文件:
{ "leverage": { "btc_eth_leverage": 10, // BTC和ETH最大杠杆 "altcoin_leverage": 5 // 山寨币最大杠杆 } } 重启系统生效:
docker compose restart 杠杆建议:
| 风险偏好 | BTC/ETH | 山寨币 | 适合人群 |
|---|---|---|---|
| 极保守 | 3x | 2x | 完全新手 |
| 保守 | 5x | 3x | 谨慎投资者 |
| 平衡 | 10x | 5x | 有经验者 |
| 激进 | 20x | 10x | 专业交易员 |
⚠️ 警告:
- 币安子账户最高只能5倍(平台限制)
- 高杠杆=高风险,可能快速爆仓
- 建议从保守开始,逐步调整
7.3 自定义币种列表
方法:
编辑config.json:
{ "use_default_coins": false, "default_coins": [ "BTCUSDT", "ETHUSDT", "SOLUSDT", "BNBUSDT", "XRPUSDT", "ADAUSDT", "DOGEUSDT", "AVAXUSDT", "LINKUSDT", "MATICUSDT" ] } 添加币种要求:
- 必须是币安合约支持的币种
- 格式必须为
XXXUSDT(大写) - 建议选择流动性好的主流币(日交易量>1亿美元)
查看支持的币种:
- 访问币安合约官网
- 查看"U本位合约"列表
- 确认币种代码
7.4 配置扫描间隔
修改方法:
在创建交易员时设置,或通过Web界面编辑:
扫描间隔选项: - 3分钟:激进策略,捕捉短期波动(AI调用费用较高) - 5分钟:平衡策略,适合大多数情况(推荐) - 10分钟:保守策略,适合趋势跟踪 - 15分钟:极保守策略,适合长期持有 费用对比:
- 3分钟:每天480次决策,AI费用约$2-3
- 5分钟:每天288次决策,AI费用约$1.5-2
- 10分钟:每天144次决策,AI费用约$0.8-1
7.5 风险控制参数
编辑config.json:
{ "max_daily_loss": 10.0, // 单日最大亏损百分比(触发后暂停) "max_drawdown": 20.0, // 最大回撤百分比(触发后暂停) "stop_trading_minutes": 360 // 触发风控后暂停时长(分钟) } 参数说明:
max_daily_loss:当天亏损超过此比例,自动停止交易max_drawdown:从最高点回撤超过此比例,自动停止stop_trading_minutes:风控触发后的冷静期(6小时=360分钟)
7.6 多交易所配置
配置Hyperliquid(去中心化):
- 导出MetaMask私钥(移除0x前缀)
- Web界面"交易所配置"选择Hyperliquid
- 填写:
交易所名称: Hyperliquid 钱包地址: 你的ETH钱包地址 私钥: 私钥(不含0x前缀) 测试网: false(勾选则使用测试网) 配置Aster DEX:
- 访问 Aster API Wallet
- 创建API钱包,获取Signer地址和私钥
- Web界面配置:
交易所名称: Aster 用户钱包: 你的主钱包地址 Signer地址: API钱包地址 私钥: API钱包私钥(不含0x前缀) 第八部分:故障排查
8.1 常见错误及解决方案
问题1:Docker启动失败
错误信息:
Error: Cannot connect to the Docker daemon 解决方法:
# 检查Docker是否运行 docker ps # 启动Docker服务(Linux) sudo systemctl start docker # Windows/Mac:打开Docker Desktop应用 问题2:端口被占用
错误信息:
Error: Port 8080 is already in use 解决方法:
方法1:修改端口
// 编辑config.json { "api_server_port": 8081 // 改为其他端口 } 方法2:释放占用端口
# Windows netstat -ano | findstr :8080 taskkill /PID <进程ID> /F # Linux/Mac lsof -i :8080 kill -9 <进程ID> 问题3:AI API调用失败
错误信息:
Error: Failed to call AI API: timeout 可能原因及解决:
- API密钥错误
- 检查配置中的API密钥是否正确
- 确认密钥未过期
- 余额不足
- 登录DeepSeek/Qwen后台
- 检查账户余额
- 充值
- 网络问题
- 检查服务器网络连接
- 尝试ping api.deepseek.com
- 如在国内,可能需要配置代理
- API速率限制
- 降低扫描频率(改为5分钟或10分钟)
- 联系AI平台提升限额
问题4:币安API连接失败
错误信息:
Error: Invalid API-key, IP, or permissions 解决步骤:
检查时间同步
# Linux检查系统时间 date # 如果时间不准,同步时间 sudo ntpdate -u time.nist.gov 检查IP白名单
- 如果设置了IP白名单,确认当前IP在列表中 - 可以临时取消白名单测试 - 测试通过后再重新添加 检查API权限
- 币安后台确认勾选了"合约交易"权限 - 未勾选"提现"权限(安全起见) 检查API密钥
- 确认API Key和Secret Key正确 - 没有多余的空格 - 注意大小写 问题5:Web界面无法访问
错误信息:
无法访问此网站 localhost 拒绝了我们的连接请求 解决方法:
尝试其他端口
http://localhost:3000 http://127.0.0.1:3000 http://你的服务器IP:3000 检查端口映射
docker compose logs nofx-frontend # 查看是否有错误信息 检查服务是否运行
docker compose ps # 确认nofx-frontend状态为Up 问题6:持仓数据不更新
症状:
- 权益曲线不动
- 持仓盈亏不变化
解决方法:
重启系统
docker compose restart 检查后端连接
# 测试API是否正常 curl http://localhost:8080/api/health 强制刷新页面
Ctrl + F5(Windows) Cmd + Shift + R(Mac) 8.2 日志查看
Docker部署查看日志:
# 查看所有日志 docker compose logs # 只看后端日志 docker compose logs nofx # 只看前端日志 docker compose logs nofx-frontend # 实时跟踪日志 docker compose logs -f # 查看最近100行 docker compose logs --tail=100 手动部署查看日志:
# 后端日志在终端直接显示 # 前端日志在浏览器Console(F12) # 决策日志位置 cd decision_logs ls -l # 查看所有交易员的日志目录 8.3 数据备份与恢复
备份数据:
# 备份配置数据库 cp config.db config.db.backup # 备份决策日志 tar -czf decision_logs_backup.tar.gz decision_logs/ # 备份配置文件 cp config.json config.json.backup 恢复数据:
# 停止系统 docker compose down # 恢复数据库 cp config.db.backup config.db # 恢复日志 tar -xzf decision_logs_backup.tar.gz # 重启系统 docker compose up -d 自动备份脚本(Linux):
#!/bin/bash # backup.sh DATE=$(date +%Y%m%d_%H%M%S) BACKUP_DIR="backups" mkdir -p $BACKUP_DIR # 备份数据库 cp config.db $BACKUP_DIR/config.db.$DATE # 备份日志(最近7天) find decision_logs -name "*.json" -mtime -7 | tar -czf $BACKUP_DIR/logs.$DATE.tar.gz -T - echo "备份完成: $BACKUP_DIR/config.db.$DATE" 设置定时备份(crontab):
# 编辑crontab crontab -e # 添加:每天凌晨2点备份 0 2 * * * /path/to/nofx/backup.sh 第九部分:最佳实践
9.1 新手起步建议
第1周:测试阶段
✅ 只投入100-200 USDT测试资金 ✅ 使用5倍杠杆(保守) ✅ 只交易BTC和ETH(主流币) ✅ 每天查看2-3次,不要过度关注 ✅ 重点学习AI的决策逻辑 第2-4周:观察阶段
✅ 记录每笔交易的盈亏 ✅ 分析哪些市场环境下表现更好 ✅ 尝试微调自定义策略 ✅ 对比不同扫描间隔的效果 ✅ 开始关注夏普比率、最大回撤等指标 1-3个月:优化阶段
✅ 根据表现决定是否增加资金 ✅ 尝试多交易员策略(AI对比) ✅ 优化个性化策略Prompt ✅ 记录特殊市场事件对策略的影响 ✅ 建立自己的交易规则 9.2 资金管理策略
分级投入:
| 阶段 | 资金量 | 杠杆 | 目的 |
|---|---|---|---|
| 测试期 | 100-200U | 3-5x | 熟悉系统 |
| 验证期 | 500-1000U | 5x | 验证策略 |
| 稳定期 | 1000-5000U | 5-10x | 稳定运行 |
| 扩展期 | 5000U+ | 根据经验 | 规模化 |
风险控制:
1. 单账户资金不超过可投资资产的20% 2. 每月最大亏损容忍度:-10%(触发则暂停) 3. 连续3天亏损:降低杠杆或暂停 4. 大盈利后(+30%以上):取出本金,用利润继续 9.3 监控频率建议
过度监控的坏处:
- 容易情绪化干预AI决策
- 增加心理压力
- 影响正常工作生活
推荐监控频率:
| 情况 | 频率 | 关注点 |
|---|---|---|
| 正常运行 | 每天2次(早晚) | 账户状态、持仓盈亏 |
| 有持仓时 | 每天3-4次 | 是否触发止损止盈 |
| 市场剧烈波动 | 每2-4小时 | 是否需要手动干预 |
| 测试新策略 | 每天5-6次 | AI决策逻辑分析 |
设置警报:
推荐配置: - 单日亏损>5%:邮件/短信通知 - 账户权益<初始余额80%:警报 - 系统异常停止:立即通知 9.4 不同市场环境应对
牛市(持续上涨):
✅ 优先做多,减少做空 ✅ 适当提高仓位(从5x到10x) ✅ 持仓时间可以更长(让利润奔跑) ✅ 关注突破型机会 熊市(持续下跌):
✅ 减少交易频率(改为10分钟扫描) ✅ 降低杠杆(5x以下) ✅ 严格止损,快进快出 ✅ 可以尝试做空策略 ⚠️ 考虑暂停,等待转势 震荡市(横盘):
✅ 适合高频策略(3分钟扫描) ✅ 缩短止盈目标(2-3%即可) ✅ 避免重仓单向 ✅ 关注超买超卖信号(RSI) 暴涨暴跌(剧烈波动):
⚠️ 手动停止交易员 ⚠️ 等待市场稳定 ⚠️ AI在极端行情下可能判断失误 ⚠️ 如有持仓,密切关注强平价 9.5 多交易员组合策略
策略组合示例:
交易员A:保守稳健 - DeepSeek - 5倍杠杆 - 只做BTC/ETH - 5分钟扫描 - 资金占比:50% 交易员B:平衡激进 - Qwen - 10倍杠杆 - BTC/ETH/主流币 - 3分钟扫描 - 资金占比:30% 交易员C:实验性 - 自定义策略 - 5倍杠杆 - 测试新想法 - 资金占比:20% 优势:
- 分散风险
- 对比不同AI模型和策略
- 学习不同风格的优劣
第十部分:常见问题FAQ
Q1:系统会自动止损吗?
答: 会!每笔开仓都会自动设置止损订单。
- AI在做决策时会计算止损价和止盈价
- 系统执行时会同时下"开仓单"和"止损/止盈单"
- 触发条件后会自动平仓,无需人工干预
Q2:我可以手动干预吗?
答: 可以!你有完全控制权。
手动平仓:
- Web界面持仓列表点击"平仓"按钮
- 或直接在币安APP/网页端操作
手动调整止损止盈:
- Web界面点击"修改止损止盈"
- 或在币安端修改委托订单
手动开仓:
- 建议不要,会干扰AI的整体策略
- 如需手动交易,建议用另一个账户
Q3:可以同时运行多个交易员吗?
答: 完全可以!
前提条件:
- 每个交易员需要独立的交易所账户
- 或使用不同交易所(一个币安,一个Hyperliquid)
示例配置:
交易员1: DeepSeek + 币安账户A 交易员2: Qwen + 币安账户B 交易员3: DeepSeek + Hyperliquid账户 这样可以实现AI模型PK,非常有趣!
Q4:夜间会自动交易吗?
答: 会!这正是AI的优势。
- 24小时自动运行
- 不会错过任何机会
- 不受情绪影响
但要注意:
- 确保服务器/电脑不关机
- 网络连接稳定
- 建议部署到云服务器
Q5:亏损了怎么办?
答: 冷静分析,理性应对。
短期亏损(-5%以内):
- 正常波动,观察几天
- 查看AI决策日志,分析原因
- 检查是否遇到不利市场环境
中期亏损(-10%左右):
- 降低杠杆倍数
- 减少交易频率
- 考虑调整策略Prompt
严重亏损(-20%以上):
- 立即停止交易员
- 全面复盘所有交易
- 判断是策略问题还是市场环境问题
- 必要时暂停一段时间
记住:止损是为了保护本金!
Q6:哪个AI模型更好?
答: 没有绝对答案,各有特点。
DeepSeek:
- ✅ 便宜($0.14/百万tokens)
- ✅ 快速(响应<2秒)
- ✅ 稳定,适合保守策略
- ❌ 有时过于谨慎
Qwen(通义千问):
- ✅ 中文理解好
- ✅ 有时更激进,收益可能更高
- ❌ 风险也相对更大
- ❌ 可能需要中国手机号注册
建议:
- 新手先用DeepSeek
- 有经验后可以同时运行两个对比
Q7:能保证盈利吗?
答: 不能!必须实话实说。
AI能做的:
- ✅ 24小时监控,不错过机会
- ✅ 纪律执行,不情绪化
- ✅ 多维度分析,决策更全面
- ✅ 自学习优化,避免重复错误
AI做不到的:
- ❌ 预测黑天鹅事件
- ❌ 对抗市场大趋势
- ❌ 100%胜率
实际表现(用户反馈):
- 震荡市/牛市:60%用户盈利
- 熊市:约40%用户盈利
- 年化收益:-20%到+50%不等
重要: 只投入你能承受损失的资金!
Q8:API密钥安全吗?
答: 遵守安全规则就安全。
安全措施:
- ✅ 只开"合约交易"权限,不开"提现"
- ✅ 绑定IP白名单
- ✅ 定期更换API密钥
- ✅ 不要分享给任何人
- ✅ config.json不要上传到公开仓库
即使泄露:
- 黑客最多只能帮你交易(亏损)
- 无法提现你的资金
- 发现后立即在币安端删除API
Q9:可以用于股票/期货吗?
答: 目前不行,但未来会支持。
当前支持:
- ✅ 加密货币合约(币安、Hyperliquid、Aster)
计划支持(Roadmap):
- 🔜 美股、A股
- 🔜 商品期货
- 🔜 外汇市场
- 🔜 期权交易
架构上支持扩展,只需要对接新的交易所API。
Q10:系统开源吗?
答: 完全开源!
- GitHub:https://github.com/tinkle-community/nofx
- 代码可审计、可修改
- MIT许可证
- 欢迎贡献代码
好处:
- 透明,没有后门
- 社区驱动,持续改进
- 可以自己定制功能
附录A:快速参考卡
常用命令
# Docker 管理 docker compose up -d --build # 启动系统 docker compose down # 停止系统 docker compose restart # 重启系统 docker compose logs -f # 查看日志 docker compose ps # 查看状态 # 数据备份 cp config.db config.db.backup # 备份数据库 cp config.json config.json.bak # 备份配置 # 系统访问 http://localhost:3000 # Web界面 http://localhost:8080/api/health # API健康检查 关键配置
{ "admin_mode": true, "use_default_coins": true, "api_server_port": 8080, "jwt_secret": "你的64位随机字符串", "leverage": { "btc_eth_leverage": 5, "altcoin_leverage": 5 }, "max_daily_loss": 10.0, "max_drawdown": 20.0 } 重要端口
| 服务 | 端口 | 用途 |
|---|---|---|
| 前端 | 3000 | Web界面 |
| 后端API | 8080 | API服务 |
目录结构
nofx/ ├── config.json # 系统配置 ├── config.db # SQLite数据库 ├── decision_logs/ # AI决策日志 │ └── {trader_id}/ # 按交易员分类 ├── docker-compose.yml # Docker配置 └── web/ # 前端代码 附录B:支持资源
官方资源
- GitHub: https://github.com/tinkle-community/nofx
- Twitter: @nofx_ai
- Telegram: NOFX Developer Community
- 文档: https://github.com/tinkle-community/nofx/tree/main/docs
学习资源
- 量化交易入门:《量化投资:以Python为工具》
- 技术分析:《日本蜡烛图技术》
- 风险管理:《交易心理分析》
- 加密货币:CoinMarketCap学院
社区支持
- 问题反馈: GitHub Issues
- 功能建议: GitHub Discussions
- Telegram群: 实时交流,快速响应
- 故障排查: 官方文档
附录C:更新日志
v3.0.0 (2025-10-30) - 重大更新
核心改进:
- ✅ 完全数据库驱动(SQLite)
- ✅ Web界面配置(无需编辑JSON)
- ✅ 用户认证系统(JWT + 2FA)
- ✅ 多AI模型、多交易所灵活组合
- ✅ 增强的API层
详细更新:
结语
恭喜你读完这份使用手册!🎉
现在你应该已经掌握了:
- ✅ NOFX的基本原理和工作流程
- ✅ 如何部署和配置系统
- ✅ 如何创建和管理交易员
- ✅ 如何监控和分析交易表现
- ✅ 常见问题的解决方法
- ✅ 最佳实践和风险控制策略
记住最重要的三点:
- 从小做起 - 用100-200U测试,不要着急投入大资金
- 持续学习 - 每周复盘AI决策日志,理解其逻辑
- 风险控制 - 设置止损阈值,不要贪婪,保护本金
下一步建议:
1. 注册币安账户和DeepSeek API(如果还没有) 2. 按照第三部分完成系统部署 3. 创建第一个交易员,开始测试 4. 每天花5-10分钟查看监控面板 5. 一周后复盘表现,调整策略 6. 加入Telegram社区,和其他用户交流 需要帮助?
祝你使用愉快,交易顺利!🚀