📖 目录
第一部分:系统概述
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:
-
下载对应系统的安装包
-
双击安装,一路"下一步"
-
重启计算机
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)币安账户(必需)
步骤:
-
注册账户
-
使用邮箱或手机号注册
-
完成邮箱/手机验证
-
完成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(性价比最高)
-
使用邮箱注册
-
进入"余额充值",充值$20-50(推荐)
-
进入"API Keys",点击"创建新密钥"
-
立即复制保存密钥 (格式:
sk-xxxxxxxxxxxxxxxxxx)
费用参考:
-
价格:$0.14 / 百万tokens
-
日消耗:约$1-2(24小时运行,3分钟决策间隔)
-
$50可用约1个月
备选:通义千问 Qwen
-
使用阿里云账号登录(需要中国手机号)
-
开通"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:
-
创建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
解决步骤:
-
检查API密钥
- 确认API Key和Secret Key正确 - 没有多余的空格 - 注意大小写 -
检查API权限
- 币安后台确认勾选了"合约交易"权限 - 未勾选"提现"权限(安全起见) -
检查IP白名单
- 如果设置了IP白名单,确认当前IP在列表中 - 可以临时取消白名单测试 - 测试通过后再重新添加 -
检查时间同步
# Linux检查系统时间 date # 如果时间不准,同步时间 sudo ntpdate -u time.nist.gov
问题5:Web界面无法访问
错误信息:
无法访问此网站 localhost 拒绝了我们的连接请求
解决方法:
-
检查服务是否运行
docker compose ps # 确认nofx-frontend状态为Up -
检查端口映射
docker compose logs nofx-frontend # 查看是否有错误信息 -
尝试其他端口
http://localhost:3000 http://127.0.0.1:3000 http://你的服务器IP:3000
问题6:持仓数据不更新
症状:
-
权益曲线不动
-
持仓盈亏不变化
解决方法:
-
强制刷新页面
Ctrl + F5(Windows) Cmd + Shift + R(Mac) -
检查后端连接
# 测试API是否正常 curl http://localhost:8080/api/health -
重启系统
docker compose restart
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:系统开源吗?
答: 完全开源!
-
代码可审计、可修改
-
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:支持资源
官方资源
-
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社区,和其他用户交流
需要帮助?
祝你使用愉快,交易顺利!🚀
