第12篇|🔌 Freqtrade 交易所接入全解:API、WebSocket、限频配置详解

第12篇|🔌 Freqtrade 交易所接入全解:API、WebSocket、限频配置详解

Freqtrade 通过 config.json 中的 exchangeccxt_config 配置项与交易所建立连接。这一步是策略执行的前提,涉及 API 密钥、WebSocket、频率控制等多个关键参数。

本文将详细介绍如何配置交易所接入参数,以及启用更高效、稳定连接的推荐做法。


🚀 想学量化交易?

👉 点击访问:www.itrade.icu 这里有 Freqtrade 基础教程策略实战指标解析 等丰富内容,助你轻松掌握量化交易技巧!


🏦 exchange 配置项详解

json 复制代码
"exchange": {
  "name": "binance",               // 交易所名称,如 binance、bybit、okx 等
  "key": "your_api_key",           // 你的 API Key
  "secret": "your_api_secret",     // API 密钥
  "password": "your_password",     // 某些交易所(如 OKX)必填,其他可省略
  "ccxt_config": { ... },          // CCXT 扩展配置(详见下节)
  "pair_whitelist": [ "BTC/USDT" ],// 可交易的币对列表
  "pair_blacklist": [ "*/BNB" ]    // 屏蔽的币对(可选)
}
📌 参数说明
字段名 描述
name 交易所英文名称(必须支持 CCXT)
key 交易所提供的 API Key,用于交易权限
secret 与 key 配套的密钥
password 第三项认证,适用于 OKX、bitget 等(非必填)
pair_whitelist 白名单,只允许交易列表内币对
pair_blacklist 黑名单,排除部分币对(如低流动性或不稳定币)
🧠 使用建议
  • API 权限需包含 读取+交易,否则无法实盘下单;
  • 为不同策略使用独立 API 密钥,便于权限隔离和风险控制;
  • 请不要将 config.json 上传到 GitHub 或其他公共平台!

⚙️ ccxt_config --- 高级连接控制项

ccxt_configFreqtrade 调用 CCXT 库时的配置项,可对数据请求频率、实时性、市场类型等进行优化。

json 复制代码
"exchange": {
    "ccxt_config": {
        "enableRateLimit": true,          //  开启限速 防止IP被封
    },
    "enable_ws": true,                //  是否启用 WebSocket 连接,提升数据实时性
    "markets_refresh_interval": 60    //  交易对列表刷新间隔,单位为秒
}

⛓️ enableRateLimit --- 启用请求限频(推荐开启)

enableRateLimit --- 启用请求限频(推荐开启)

json 复制代码
"exchange": {
    "enableRateLimit": true
}
  • 控制是否让 Freqtrade 自动遵守交易所的 API 速率限制;
  • 防止触发交易所封 IP / 禁止交易的风控机制;
  • 强烈建议开启!

📡 enable_ws --- 启用 WebSocket 实时数据

json 复制代码
"exchange": {
    "enable_ws": false,
},
  • 启用后,Freqtrade 会通过 WebSocket 获取实时行情和订单状态;
  • 比 REST API 更快、延迟更低,适合高频策略;
  • 需交易所支持,且部分交易所需额外权限(如 OKX);
  • 若策略无高频需求,也可关闭。

🔁 markets_refresh_interval --- 市场信息刷新间隔

json 复制代码
"exchange": {
    "markets_refresh_interval": 60    //  交易对列表刷新间隔,单位为秒
}
  • 单位为秒;
  • 控制多久重新拉取一次交易对数据;
  • 默认 60 秒,足够稳定;
  • 设置太低可能导致 API 频率过高被限流。

🧪 检查配置是否生效

配置完成后,可使用如下命令测试交易所是否连接成功:

bash 复制代码
freqtrade list-markets --config user_data/config.json

✅ 成功返回交易对列表,说明 API Key、市场类型配置正常 ❌ 如果提示 authentication error403,请检查:

  • 是否填写正确的 API Key / Secret
  • 是否赋予交易权限
  • 是否启用了两步验证限制了 API 使用

✅ 推荐配置组合

json 复制代码
"exchange": {
    "name": "binance",
    "key": "your_api_key",
    "secret": "your_api_secret",
    "enable_ws": true,
    "markets_refresh_interval": 60,
    "ccxt_config": {
        "enableRateLimit": true,
        "options": {
            "defaultType": "spot"
        }
    }
}

🧠 小结清单

参数名 功能描述 建议设置
exchange.name 连接交易所名 binance, bybit
exchange.key/secret API 授权信息 必填
enableRateLimit 是否限制请求频率,防止被风控 true
enable_ws 是否启用 WebSocket 实时数据 true(如支持)
markets_refresh_interval 多久刷新一次币对信息 一般设置为 60
相关推荐
烂蜻蜓34 分钟前
Flask入门教程(十二):表单处理——从基础到Flask-WTF完整实践
后端·python·flask
jay神1 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
满怀冰雪2 小时前
24-PaddleClas 模型评估、导出与推理部署入门
大数据·人工智能·python·深度学习·paddle
DeepVisionary7 小时前
谷歌 Gemini Omni 1.1 Flash 正式发布:4K 视频、40 秒场景延伸,视频生成进入按 token 计费时代
python·自动化
阡之尘埃8 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
cvcode_study8 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
星核0penstarry9 小时前
试一试用gr.Workflow把AI多步骤串联变成可视化画布
人工智能·python·ai作画·api·ai编程·工作流·api聚合平台
taller_20009 小时前
【005】PiE 与传统 VBA 的核心区别
python·vba·pie·py
海兰10 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(一)
javascript·python·金融