用一个 Web 界面管理多个交易机器人:配置动态网格或 DCA 策略、运行回测、监控持仓、追踪交易事件,并执行统一风控与机器人间联合止盈。
Freqtrade 负责执行交易策略,FreqHedge 负责把多个 Freqtrade 实例组织起来,让策略从“写好并运行”变成一个更容易使用的完整工作流:
配置策略 → 准备数据 → 回测验证 → 启动机器人 → 实时监控 → 复盘与调整
它适合希望使用 Web 界面管理量化交易的个人用户和小型团队,尤其适合同时运行多策略、多交易对或多方向机器人的场景。通过多币种、多方向的独立机器人组合,可以把资金和策略暴露分散到不同市场,再配合全局风控管理组合级风险。
-
不再为每个机器人手动维护配置文件、端口和启动命令;
-
不再在多个终端和日志文件之间切换查看持仓;
-
不再只看最终收益,可以在 K 线上复盘每次加仓、减仓和退出;
-
不再让回测参数与运行参数分离,保存的配置可以直接用于回测和启动;
-
不再只依赖单笔交易止损,可以按机器人整体收益执行止盈、止损和追踪止损。
-
不再只能单独管理每个机器人,可以按全部机器人合计收益执行联合止盈、止损和追踪止损。
FreqHedge 是交易管理工具,不承诺收益,也不构成投资建议。接入真实账户前,请先使用
dry_run,并自行验证策略、手续费、滑点和交易所配置。
K 线上集中展示信号开仓、DCA 补仓、网格加仓/减仓、止盈、止损和全局平仓等事件。不同机器人使用各自对应的事件类型,你可以直接看到策略为什么在某个时间点调整仓位,而不必从长日志中人工还原交易过程。
根据机器人类型,通过表单配置 DCA 参数或网格区间、启动方式、止损、指标和 ROI 规则。保存后由 FreqHedge 自动生成对应实例的 Freqtrade 配置,无需手动编辑复杂 JSON。
在一个仪表盘中查看多个 bot 的持仓、方向、盈亏、杠杆和保证金,并按 bot、方向或交易对筛选。
使用当前策略配置发起回测,查看收益、回撤、胜率、盈亏比和退出原因,再决定是否启动模拟盘或真实交易实例。
每个 bot 都是独立的运行单元,可以单独配置、启动、停止、重启和查看状态。一个 bot 可以按需启用 Long、Short,两个方向使用独立的 Freqtrade 进程:
Bot #N
├── Long → 独立端口 → 独立配置 → 独立数据库与日志
└── Short → 独立端口 → 独立配置 → 独立数据库与日志
- 实例之间互不覆盖,适合运行多个策略和参数组合;
- 配置、日志、交易记录按 bot 隔离;
- 启动后自动检查 Freqtrade RPC 是否可用;
- 支持后台启动、状态查询、方向重启和健康监控;
- 可按交易所账户、交易对、资金和杠杆创建不同 bot。
独立机器人组合可以覆盖多个币种、多个策略和多个方向:某一币种出现单边行情时,其他币种或方向仍可能保持独立运行,从组合层面降低对单一市场的依赖。全局止盈、止损、追踪止盈和多空持仓差风控会对机器人组合进行统一约束,避免单个机器人风险无限扩大。
交易所持仓限制:独立进程不等于可以在同一交易对同时持有多空仓位。当前同一交易对不能多空双向持仓,不能仅通过创建 Long/Short 两个 bot 绕过交易所限制。
策略参数通过 Web 表单统一管理,并保存为可复用的 bot 配置:
| 配置范围 | 可配置内容 |
|---|---|
| 交易基础 | 交易对、资金、单笔金额、杠杆、最大持仓 |
| DCA 机器人 | 入场指标、分层补仓、每层加仓金额、金额/百分比模式、冷却时间 |
| 退出规则 | ROI 阶梯、止损、DCA 止盈、TP/KDJ 减仓金额、时间止损 |
| 行情保护 | 高周期趋势过滤、Pump 保护、单交易对仓位上限 |
| 网格机器人 | 价格上下限、网格数量、等差/等比间距、每格加仓/减仓金额、启动模式 |
| 实例风控 | bot 级止盈、止损、追踪止损和触发后自动停止 |
| 组合风控 | 多机器人联合止盈、联合止损、联合追踪止盈和多空持仓差限制 |
配置流程:
Web 表单 → 保存参数 → 生成 bot/方向配置 → 回测 → 启动实例
DCA 机器人适合希望按价格回撤分层补仓、等待反弹退出的交易场景:
- 分层补仓:按价格偏移触发下一层补仓,支持自动或手动层级;
- 分层金额:每个加仓层可独立配置金额或账户百分比,不同层级可以使用不同投入规模;
- 灵活减仓:止盈、KDJ 减仓或风控触发时,可以按固定金额、比例或目标仓位部分减仓,也可以直接全平;
- 仓位控制:支持固定金额或账户百分比,配置基础金额、倍率、最大次数和冷却时间;
- 入场过滤:可使用 RSI、KDJ、MACD、EMA 和布林带组合条件;
- 多级止盈:支持 ROI 阶梯、浮亏反弹止盈、分段减仓和时间止损;
- 高周期保护:支持 4h、12h、1d 趋势过滤,减少逆势开仓和补仓。
网格机器人面向单个交易对,在设定的绝对价格区间内自动低买高卖,适合有明确震荡区间判断的场景。与 DCA 机器人不同,网格机器人不依赖 DCA 分层或趋势加仓,而是围绕预先生成的网格线管理多个网格仓位。
- 价格区间:设置网格下限价和上限价,系统在区间内生成网格线;
- 网格间距:支持等差和等比两种间距算法,网格数量可配置;
- 动态网格:以当前持仓和已成交网格为锚点动态推进,不依赖固定一次性挂满所有订单;价格向区间边缘运行时继续生成相邻网格,成交后更新网格状态;
- 网格交易:多头价格下跌触发加仓、上涨到相邻网格止盈;空头逻辑相反;
- 启动方式:支持网格触发、触发价启动和立即启动;
- 仓位限制:支持最大同时持有网格数,并按资金和网格数量计算每格规模;
- 区间止损:可配置价格跌破下沿时清空多头仓位,作为网格区间失效保护;
- 网格预览:配置页面展示网格线、格距、单格预期利润和预计投入,便于启动前检查;
网格每一格都保留独立的入场价格、数量和状态,支持多格同时止盈或减仓;当多个网格同时达到条件时,策略会合并处理可执行的减仓,减少碎片订单。网格使用市价单逻辑,模拟盘和回测按 taker 费率估算,实盘以交易所成交回报为准。
网格机器人的典型流程:
设置价格区间 → 选择间距与启动模式 → 预览网格 → 回测 → 启动机器人
回测和历史数据下载由 FreqHedge 统一管理:
- 检查本地 K 线是否覆盖交易对、周期和时间范围;
- 缺少数据时触发下载,并显示任务进度;
- 后台执行 Freqtrade,不阻塞 Web 请求;
- 支持查询、取消和查看任务日志;
- 对配置错误、数据缺失、进程异常和无回测报告明确提示;
- 使用与机器人相同的配置,减少回测与实际运行之间的偏差。
- 汇总多个 bot 的账户、持仓、已平仓收益和浮动收益;
- 查看资金曲线、收益曲线、保证金和风险暴露;
- 按 bot、方向和交易对筛选持仓;
- 支持手动开仓、平仓以及机器人启停;
- 将交易事件保存并映射到 K 线,方便定位每次策略动作。
风控以 bot 为单位计算“轮次收益”,同时考虑已实现收益和浮动收益:
- 按金额或收益率触发止盈、止损;
- 支持盈利回撤和亏损方向的追踪止损;
- 触发后执行全量平仓,并等待持仓确认清空;
- 可按配置自动停止 bot;
- 避免同一个风控条件重复触发。
在 bot 级风控之外,FreqHedge 还支持机器人间联合止盈:把多个独立 bot 的已实现收益和浮动收益汇总为组合收益,达到金额或收益率目标后统一平仓;也可以配置组合级止损、盈利回撤追踪和触发后自动停止。这样可以让盈利的机器人为暂时亏损的机器人提供组合缓冲,但不能消除市场风险,也不能突破交易所的保证金、持仓模式或同一交易对单向持仓限制。
推荐的组合方式是:将不同币种、不同方向或不同策略拆成独立 bot,单个 bot 设置局部仓位和止损,组合层再设置全局风险上限。不要把多个 bot 配置到同一交易对的相反方向并假设它们能够对冲;当前同一交易对无法同时持有多空仓位。
┌────────────────────┐
│ Vue Web 控制台 │ 配置 / 仪表盘 / K线 / 回测
└─────────┬──────────┘
│ REST API
┌─────────▼──────────┐
│ FastAPI 管理服务 │ bot / 配置 / 回测 / 风控 / 监控
└────┬──────────┬────┘
│ │
┌────▼─────┐ ┌──▼──────────────────┐
│ 本地数据 │ │ Freqtrade 实例池 │
│ 用户/事件 │ │ 每个 bot × 方向独立 │
└──────────┘ └────────────────────┘
FreqHedge 使用 Vue 3、FastAPI、SQLite、SQLAlchemy、APScheduler 和 Freqtrade 构建。它不替换 Freqtrade 的交易执行能力,而是提供配置、编排、观测和风控层。
请按照以下步骤在本地运行 FreqHedge。
请确保您的系统已安装以下软件:
- Python 3.10+(安装时请勾选 "Add Python to PATH")
- Node.js 18+ 与 pnpm(前端包管理器)
- Git
# 克隆仓库到本地
git clone https://github.com/typhonun/FreqHedge
cd FreqHedge
# 创建 Python 虚拟环境
python -m venv venv
# 激活虚拟环境 (Windows)
venv\Scripts\activate
# 安装 Freqtrade 相关依赖
cd freqtrade
pip install -r requirements.txt
# 将 Freqtrade 作为包安装到当前虚拟环境
pip install -e .
cd ..
# 安装 FreqHedge 后端依赖
cd backend
pip install -r requirements.txtcd frontend
pnpm install# 如果虚拟环境未激活,请先运行 venv\Scripts\activate
venv\Scripts\activate
cd backend
uvicorn app.main:app --reload --port 9000cd frontend
pnpm dev打开浏览器访问 http://localhost:5173,即可进入 FreqHedge 控制台。创建 bot 后配置交易对、方向、资金和策略参数。
FreqHedge/
├── backend/
│ ├── app/api/ # bot、回测、图表、持仓、风控、日志接口
│ ├── app/services/ # 实例、进程、配置、回测、RPC、风控服务
│ ├── app/models/ # 用户、交易事件、收益和资金快照
│ └── config/settings.py # 项目路径与运行配置
├── frontend/src/
│ ├── features/ # dashboard、策略配置等功能模块
│ ├── views/ # 仪表盘、持仓、图表、bot 和设置页面
│ ├── api/ # 后端接口封装
│ └── stores/ # Pinia 状态管理
└── freqtrade/user_data/
├── strategies/ # DCA/网格策略基类、方向策略和事件记录器
│ ├── DcaTpBotBase.py # DCA 机器人基础策略
│ └── GridBotBase.py # 网格机器人基础策略
├── bots/{bot_id}/ # 实例配置、日志和交易数据库
└── config_template.json # Freqtrade 配置模板
FreqHedge 仅用于软件工程实践、量化研究和学习交流,不保证任何收益,也不构成投资建议。加密货币交易具有高风险,使用者应自行承担 API Key、资金、策略和交易风险。
如果 FreqHedge 对你有帮助,欢迎点一个 Star。