Skip to content
typhonunPublic

About

面向 Freqtrade 的多实例量化交易机器人。提供 DCA/网格策略配置、历史回测、实时监控与统一风控的 Web UI 界面。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

177 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreqHedge

用一个 Web 界面管理多个交易机器人:配置动态网格或 DCA 策略、运行回测、监控持仓、追踪交易事件,并执行统一风控与机器人间联合止盈。

快速了解 · 功能预览 · 核心能力 · 开始使用


FreqHedge 是什么

Freqtrade 负责执行交易策略,FreqHedge 负责把多个 Freqtrade 实例组织起来,让策略从“写好并运行”变成一个更容易使用的完整工作流:


配置策略 → 准备数据 → 回测验证 → 启动机器人 → 实时监控 → 复盘与调整

它适合希望使用 Web 界面管理量化交易的个人用户和小型团队,尤其适合同时运行多策略、多交易对或多方向机器人的场景。通过多币种、多方向的独立机器人组合,可以把资金和策略暴露分散到不同市场,再配合全局风控管理组合级风险。

FreqHedge 可以帮你解决什么

  • 不再为每个机器人手动维护配置文件、端口和启动命令;

  • 不再在多个终端和日志文件之间切换查看持仓;

  • 不再只看最终收益,可以在 K 线上复盘每次加仓、减仓和退出;

  • 不再让回测参数与运行参数分离,保存的配置可以直接用于回测和启动;

  • 不再只依赖单笔交易止损,可以按机器人整体收益执行止盈、止损和追踪止损。

  • 不再只能单独管理每个机器人,可以按全部机器人合计收益执行联合止盈、止损和追踪止损。

FreqHedge 是交易管理工具,不承诺收益,也不构成投资建议。接入真实账户前,请先使用 dry_run,并自行验证策略、手续费、滑点和交易所配置。

🎬 功能预览

实时 K 线与交易事件

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 机器人

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。

环境准备

请确保您的系统已安装以下软件:

创建虚拟环境

# 克隆仓库到本地
git clone https://github.com/typhonun/FreqHedge
cd FreqHedge

# 创建 Python 虚拟环境
python -m venv venv

# 激活虚拟环境 (Windows)
venv\Scripts\activate

安装 Python 依赖

# 安装 Freqtrade 相关依赖
cd freqtrade
pip install -r requirements.txt
# 将 Freqtrade 作为包安装到当前虚拟环境
pip install -e .
cd ..

# 安装 FreqHedge 后端依赖
cd backend
pip install -r requirements.txt

安装前端依赖

cd frontend
pnpm install

启动后端

# 如果虚拟环境未激活,请先运行 venv\Scripts\activate
venv\Scripts\activate
cd backend
uvicorn app.main:app --reload --port 9000

启动前端

cd 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。

About

面向 Freqtrade 的多实例量化交易机器人。提供 DCA/网格策略配置、历史回测、实时监控与统一风控的 Web UI 界面。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages