第9篇:Freqtrade量化交易之config.json 基础入门与初始化

第9篇:Freqtrade量化交易之config.json 基础入门与初始化

📁 Freqtrade 最关键文件 config.json 全解析(附实用技巧)

在使用 Freqtrade 进行策略回测、数据下载或实盘交易前,最核心的准备就是创建并配置好 config.json 文件。它是整个交易框架的"总指挥",决定了你连接哪个交易所、如何交易、策略如何运行、使用多少交易资金、如何分配余额等。

本篇将带你系统了解 config.json 的作用、生成方式、文件结构与编辑技巧,帮助你快速上手并少走弯路。


🚀 想学量化交易?

👉 访问:https://www.itrade.icu


🧱 config.json 是什么?

config.json 是 Freqtrade 的主配置文件,用于集中管理整个项目的运行参数。它是一份标准的 JSON 格式文本文件,包含了如下信息:

  • 交易所账号信息(API Key/Secret)
  • 交易币种与金额设置
  • 策略运行规则(如最大持仓数、是否做空等)
  • 数据周期、回测设置
  • 限价单 / 市价单的控制逻辑
  • 风控相关配置(止损、止盈、滑点控制等)
  • Webhook / Telegram 等通知渠道(可选)

无论你是做数据分析、回测优化,还是实盘部署,这份配置文件都是不可或缺的基础。


🆕 如何生成 config.json?

Freqtrade 提供了一个命令行工具,可一键生成默认配置模板,非常适合初学者快速开始。

bash 复制代码
freqtrade new-config --config user_data/config.json
  • --config 后接你的目标路径(推荐使用 user_data/config.json)
  • 如果目录不存在会自动创建
  • 文件生成后可使用任意文本编辑器进行修改

📂 推荐的文件结构

Freqtrade 项目推荐的基本目录结构如下:

plaintext 复制代码
freqtrade/
├── user_data/
│   ├── config.json         ← ✅ 主配置文件
│   ├── strategies/         ← 策略文件夹(.py)
│   ├── logs/               ← 日志输出
│   ├── ...
├── freqtrade/              ← 项目本体代码(或虚拟环境)

将 config.json 放在 user_data/ 文件夹下是官方推荐做法,有助于路径一致性和备份管理。

🐳 Docker 运行下的目录结构

如果你是通过官方推荐方式使用 Docker 启动 Freqtrade(推荐!),那么目录结构是由 Docker 映射 volume(数据卷)控制的,和普通本地运行略有差异。

plaintext 复制代码
ft_userdata/
├── user_data/
│   ├── config.json          ← ✅ 主配置文件(用于修改运行参数)
│   ├── strategies/          ← 策略文件夹(.py)
│   ├── hyperopt/            ← 参数优化结果
│   ├── logs/                ← 日志输出
│   ├── ...
├── docker-compose.yml       ← 启动服务的入口配置

🔍 初学者预览示例

下面是一个最基础版本的 config.json 配置预览(截取前部分):

json 复制代码
{
  "max_open_trades": 3,
  "stake_currency": "USDT",
  "stake_amount": 100,
  "tradable_balance_ratio": 0.95,
  "dry_run": true,
  "exchange": {
    "name": "binance",
    "key": "your_api_key",
    "secret": "your_api_secret",
    "password": "your_api_password"  // 仅部分交易所如 OKX Kraken 需要
  }
}

字段解释:

  • max_open_trades:最多允许几个仓位同时打开(防止爆仓)
  • stake_currency:交易资金使用的基础币种,通常是 USDT
  • stake_amount:每次交易使用多少资金
  • dry_run:是否开启模拟交易(true 表示不动真金白银)

🛠️ 修改配置时的调试技巧

  1. ✅ 修改后可用以下命令检查配置的EXCHANGE API key 是否有效:
bash 复制代码
freqtrade list-markets --config user_data/config.json
是否配置 API Key list-markets 能否执行? 是否能交易? 说明
✅ 已配置 ✅ 支持 ✅ 支持 可用于实盘交易,支持完整功能
❌ 未配置 ✅ 视交易所而定 ❌ 否 仅部分交易所允许匿名查看市场列表
  1. ✅ 也可以在回测前先跑一次策略初始化看有没有报错:
bash 复制代码
freqtrade backtesting --config user_data/config.json

🧠 小结

关键点 建议
配置文件名称 固定为 config.json,推荐放在 user_data/
生成命令 freqtrade new-config --config 路径
出错排查 使用 backtestinglist-markets 检查
是否版本控制 ✅ 强烈建议将 config.json 纳入 Git 管理
相关推荐
小江的记录本8 分钟前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
贵沫末8 分钟前
python——打包自己的库并安装
开发语言·windows·python
这儿有一堆花15 分钟前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
白羊by21 分钟前
YOLOv1~v11 全版本核心演进总览
深度学习·算法·yolo
爱学习的小邓同学38 分钟前
MySQL --- MySQL数据类型
数据库·mysql
weixin_5806140040 分钟前
MySQL存储过程中如何防止SQL注入_使用参数化查询规范
jvm·数据库·python
2401_8371638941 分钟前
PHP源码开发用台式机还是笔记本更合适_硬件选型对比【方法】
jvm·数据库·python
.Cnn43 分钟前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
baidu_340998821 小时前
mysql修改列名会导致程序报错吗_Change Column语法与兼容性
jvm·数据库·python
醉酒的李白、1 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js