2352 字
12 分钟
Freqtrade环境搭建
安装 Freqtrade
# Download `develop` branch of freqtrade repositorygit clone https://github.com/freqtrade/freqtrade.git
# Enter downloaded directorycd freqtrade
# create virtualenv in directory /freqtrade/.venvpython3 -m venv .venv
# run virtualenvsource .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
# install freqtradepython3 -m pip install -e .验证 Freqtrade 安装
# 1. 检查版本freqtrade --version# 输出:freqtrade 2025.9
# 2. 查看帮助信息freqtrade --help# 输出:显示所有可用命令初始化 Freqtrade 项目
# 1. 创建项目目录mkdir ~/freqtrade-botcd ~/freqtrade-bot
# 2. 创建必要的子目录freqtrade create-userdir --userdir user_data
# 3. 查看目录结构tree user_data -L 2
# 输出:# user_data/# ├── backtest_results/# ├── data/# ├── freqaimodels/# ├── hyperopt_results/# ├── hyperopts/# ├── logs/# ├── notebooks/# ├── plot/# └── strategies/目录说明:
| 目录 | 用途 |
|---|---|
strategies/ | 存放交易策略文件 |
data/ | 存放下载的历史数据 |
backtest_results/ | 存放回测结果 |
logs/ | 存放日志文件 |
hyperopts/ | 存放参数优化配置 |
plot/ | 存放生成的图表 |
创建配置文件
注意:要在
freqtrade-bot文件夹下进行创建配置文件
# 1. 生成示例配置文件freqtrade new-config --config config.json
# 系统会询问一系列问题,建议设置如下:交互式配置(推荐设置)
? Do you want to use Dry-run (simulated trades)? 选择: Yes ← 模拟交易模式
? Please insert your stake currency: 输入: USDT ← 使用 USDT 作为计价货币
? Please insert your stake amount (Number or 'unlimited'): 输入: 100 ← 每笔交易 100 USDT
? Please insert max_open_trades (Integer or 'unlimited'): 输入: 3 ← 最多同时持仓 3 个
? Time Have your strategy define timeframe 输入: 5m ← 使用 5 分钟时间框架
? Please insert your display currency: 输入: USD ← 显示美元
? Select exchange 选择: binance ← 选择币安交易所
? Do you want to trade Futures? 选择: No ← 暂时不做合约
? Do you want to enable Telegram? 选择: No ← 暂时不配置 Telegram
? Do you want to enable the REST API? 选择: No ← 暂时不启用 API
? Do you want to enable the Plot dataframe 选择: Yes ← 启用图表功能生成的json:
{ "$schema": "https://schema.freqtrade.io/schema.json ", "max_open_trades": 3, // 最大同时持仓数量 "stake_currency": "USDT", // 交易计价货币 "stake_amount": 100, // 每笔交易投入金额 "tradable_balance_ratio": 0.99, // 可用于交易的资金比例(99%) "fiat_display_currency": "USD", // 法币显示货币 "dry_run": true, // 模拟交易模式(实盘设为false) "dry_run_wallet": 1000, // 模拟账户初始资金(USDT) "cancel_open_orders_on_exit": false, // 程序退出时是否取消未完成订单 "trading_mode": "futures", // 交易模式: 期货合约 "margin_mode": "isolated", // 保证金模式: 逐仓 "unfilledtimeout": { // 订单超时设置 "entry": 10, // 入场订单超时时间 "exit": 10, // 出场订单超时时间 "exit_timeout_count": 0, // 出场超时次数限制 "unit": "minutes" // 超时时间单位 }, "entry_pricing": { // 入场价格设置 "price_side": "same", // 价格方向: 同向 "use_order_book": true, // 使用订单簿定价 "order_book_top": 1, // 使用订单簿第1档价格 "price_last_balance": 0.0, // 最新价格平衡系数 "check_depth_of_market": { // 市场深度检查 "enabled": false, // 是否启用 "bids_to_ask_delta": 1 // 买卖盘价差阈值 } }, "exit_pricing": { // 出场价格设置 "price_side": "same", // 价格方向: 同向 "use_order_book": true, // 使用订单簿定价 "order_book_top": 1 // 使用订单簿第1档价格 }, "exchange": { // 交易所配置 "name": "binance", // 交易所名称: 币安 "key": "", // API密钥 "secret": "", // API密钥 "ccxt_config": {}, // CCXT同步配置 "ccxt_async_config": {}, // CCXT异步配置 "pair_whitelist": [ // 交易对白名单 "BTC/USDT", "ETH/USDT", "SOL/USDT", "XRP/USDT" ], "pair_blacklist": [ // 交易对黑名单 "BNB/.*" // 排除所有BNB相关交易对 ] }, "pairlists": [ // 交易对列表配置 { "method": "StaticPairList", // 只使用静态白名单的 pair_whitelist "number_assets": 20, // 选取前20个交易对 "sort_key": "quoteVolume", // 排序依据: 计价货币交易量 "min_value": 0, // 最小交易量阈值 "refresh_period": 1800 // 刷新周期(秒) } ], "telegram": { // Telegram通知配置 "enabled": false, // 是否启用 "token": "", // Bot Token "chat_id": "" // 聊天ID }, "api_server": { // API服务器配置 "enabled": false, // 是否启用 "listen_ip_address": "127.0.0.1", // 监听IP "listen_port": 8080, // 监听端口 "verbosity": "error", // 日志详细程度 "enable_openapi": false, // 是否启用OpenAPI "jwt_secret_key": "50396f9d15b36a130ea5aa1c7b3f82e890407817eb8fdf43b2a41b8625df3d64", // JWT密钥 "ws_token": "bTg6lfzaXkIcPBFlF4I8HGaFPW8UjCQOYQ", // WebSocket令牌 "CORS_origins": [], // 跨域来源 "username": "", // 用户名 "password": "" // 密码 }, "bot_name": "freqtrade", // 机器人名称 "initial_state": "running", // 初始状态: 运行中 "force_entry_enable": false, // 是否启用强制入场 "internals": { // 内部参数 "process_throttle_secs": 5 // 处理节流间隔(秒) }}注意事项
现货写法:
"pair_whitelist": [ "BTC/USDT", "ETH/USDT", "SOL/USDT", "XRP/USDT" ],合约写法:
"pair_whitelist": [ "BTC/USDT:USDT", "ETH/USDT:USDT", "SOL/USDT:USDT", "XRP/USDT:USDT" ],回测只使用静态白名单币种:
"pairlists": [ // 交易对列表配置 { "method": "StaticPairList", // 只使用静态白名单的 pair_whitelist下载示例策略
# 1. 下载官方策略仓库cd user_data/strategieswget https://raw.githubusercontent.com/freqtrade/freqtrade-strategies/main/user_data/strategies/Strategy001.py
# 2. 再次列出策略freqtrade list-strategies -c config.json测试数据下载
# 下载 BTC/USDT 最近 7 天的 5 分钟数据freqtrade download-data -c config.json --days 7 --timeframes 5m验证数据下载成功
ls user_data/data/binance/futures/
# 输出示列:BTC_USDT_USDT-1h-funding_rate.feather SOL_USDT_USDT-1h-funding_rate.featherBTC_USDT_USDT-1h-mark.feather SOL_USDT_USDT-1h-mark.featherBTC_USDT_USDT-5m-futures.feather SOL_USDT_USDT-5m-futures.featherETH_USDT_USDT-1h-funding_rate.feather XRP_USDT_USDT-1h-funding_rate.featherETH_USDT_USDT-1h-mark.feather XRP_USDT_USDT-1h-mark.featherETH_USDT_USDT-5m-futures.feather XRP_USDT_USDT-5m-futures.feather运行回测
freqtrade backtesting -c config.json --strategy Strategy001回测报告
"D:\CodeEditor\Projects\FreqTrade\freqtrade\freqtrade-bot\user_data\backtest_results\backtest-result-2026-02-08_10-44-11.meta.json"Result for strategy Strategy001 BACKTESTING REPORT┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓┃ ┃ ┃ ┃ ┃ ┃ ┃ Win Draw Loss ┃┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win% ┃┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩│ SOL/USDT:USDT │ 4 │ -1.03 │ -4.155 │ -0.42 │ 19:45:00 │ 3 0 1 ││ │ │ │ │ │ │ 75.0 ││ BTC/USDT:USDT │ 5 │ -1.41 │ -5.902 │ -0.59 │ 22:23:00 │ 4 0 1 ││ │ │ │ │ │ │ 80.0 ││ ETH/USDT:USDT │ 6 │ -1.04 │ -6.090 │ -0.61 │ 5:10:00 │ 4 0 2 ││ │ │ │ │ │ │ 66.7 ││ XRP/USDT:USDT │ 8 │ -3.05 │ -24.376 │ -2.44 │ 13:09:00 │ 4 0 4 ││ │ │ │ │ │ │ 50.0 ││ TOTAL │ 23 │ -1.82 │ -40.523 │ -4.05 │ 14:13:00 │ 15 0 8 ││ │ │ │ │ │ │ 65.2 │└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────┘ LEFT OPEN TRADES REPORT┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓┃ ┃ ┃ ┃ ┃ ┃ ┃ Win Draw Loss ┃┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win% ┃┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩│ BTC/USDT:USDT │ 1 │ 0.07 │ 0.046 │ 0.0 │ 14:00:00 │ 1 0 0 ││ │ │ │ │ │ │ 100 ││ ETH/USDT:USDT │ 1 │ -0.12 │ -0.121 │ -0.01 │ 0:35:00 │ 0 0 1 ││ │ │ │ │ │ │ 0 ││ XRP/USDT:USDT │ 1 │ -0.13 │ -0.135 │ -0.01 │ 0:50:00 │ 0 0 1 ││ │ │ │ │ │ │ 0 ││ TOTAL │ 3 │ -0.06 │ -0.210 │ -0.02 │ 5:08:00 │ 1 0 2 ││ │ │ │ │ │ │ 33.3 │└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────┘ ENTER TAG STATS┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩│ OTHER │ 23 │ -1.82 │ -40.523 │ -4.05 │ 14:13:00 │ 15 0 8 ││ │ │ │ │ │ │ 65.2 ││ TOTAL │ 23 │ -1.82 │ -40.523 │ -4.05 │ 14:13:00 │ 15 0 8 ││ │ │ │ │ │ │ 65.2 │└───────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────┴───────────────────────┘ EXIT REASON STATS┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓┃ ┃ ┃ ┃ ┃ ┃ ┃ Win Draw Loss ┃┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win% ┃┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩│ roi │ 14 │ 1.34 │ 17.771 │ 1.78 │ 2:18:00 │ 14 0 0 ││ │ │ │ │ │ │ 100 ││ force_exit │ 3 │ -0.06 │ -0.210 │ -0.02 │ 5:08:00 │ 1 0 2 ││ │ │ │ │ │ │ 33.3 ││ stop_loss │ 6 │ -10.07 │ -58.084 │ -5.81 │ 1 day, 22:36:00 │ 0 0 6 ││ │ │ │ │ │ │ 0 ││ TOTAL │ 23 │ -1.82 │ -40.523 │ -4.05 │ 14:13:00 │ 15 0 8 ││ │ │ │ │ │ │ 65.2 │└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────┘ MIXED TAG STATS┏━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓┃ ┃ ┃ ┃ ┃ Tot Profit ┃ ┃ ┃ Win Draw ┃┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ USDT ┃ Tot Profit % ┃ Avg Duration ┃ Loss Win% ┃┡━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩│ │ roi │ 14 │ 1.34 │ 17.771 │ 1.78 │ 2:18:00 │ 14 0 ││ │ │ │ │ │ │ │ 0 100 ││ │ force_exit │ 3 │ -0.06 │ -0.210 │ -0.02 │ 5:08:00 │ 1 0 ││ │ │ │ │ │ │ │ 2 33.3 ││ │ stop_loss │ 6 │ -10.07 │ -58.084 │ -5.81 │ 1 day, │ 0 0 ││ │ │ │ │ │ │ 22:36:00 │ 6 0 ││ TOTAL │ │ 23 │ -1.82 │ -40.523 │ -4.05 │ 14:13:00 │ 15 0 ││ │ │ │ │ │ │ │ 8 65.2 │└───────────┴─────────────┴────────┴──────────────┴──────────────┴──────────────┴──────────────┴─────────────┘ SUMMARY METRICS┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ Metric ┃ Value ┃┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩│ Backtesting from │ 2026-02-01 00:00:00 ││ Backtesting to │ 2026-02-08 02:30:00 ││ Trading Mode │ Isolated Futures ││ Max open trades │ 3 ││ │ ││ Total/Daily Avg Trades │ 23 / 3.29 ││ Starting balance │ 1000 USDT ││ Final balance │ 959.477 USDT ││ Absolute profit │ -40.523 USDT ││ Total profit % │ -4.05% ││ CAGR % │ -88.43% ││ Sortino │ -26.39 ││ Sharpe │ -23.15 ││ Calmar │ -196.76 ││ SQN │ -1.73 ││ Profit factor │ 0.31 ││ Expectancy (Ratio) │ -1.76 (-0.24) ││ Avg. daily profit │ -5.789 USDT ││ Avg. stake amount │ 93.036 USDT ││ Total trade volume │ 4243.198 USDT ││ │ ││ Best Pair │ SOL/USDT:USDT -0.42% ││ Worst Pair │ XRP/USDT:USDT -2.44% ││ Best trade │ XRP/USDT:USDT 3.00% ││ Worst trade │ BTC/USDT:USDT -10.10% ││ Best day │ 5.687 USDT ││ Worst day │ -26.157 USDT ││ Days win/draw/lose │ 2 / 2 / 4 ││ Min/Max/Avg. Duration Winners │ 0d 00:35 / 0d 14:00 / 0d 03:05 ││ Min/Max/Avg. Duration Losers │ 0d 00:35 / 3d 18:55 / 1d 11:08 ││ Max Consecutive Wins / Loss │ 13 / 3 ││ Rejected Entry signals │ 8 ││ Entry/Exit Timeouts │ 0 / 0 ││ │ ││ Min balance │ 944.725 USDT ││ Max balance │ 1000.991 USDT ││ Max % of account underwater │ 5.62% ││ Absolute drawdown │ 56.266 USDT (5.62%) ││ Drawdown duration │ 4 days 11:05:00 ││ Profit at drawdown start │ 0.991 USDT ││ Profit at drawdown end │ -55.275 USDT ││ Drawdown start │ 2026-02-01 13:10:00 ││ Drawdown end │ 2026-02-06 00:15:00 ││ Market change │ -14.37% │└───────────────────────────────┴────────────────────────────────┘
Backtested 2026-02-01 00:00:00 -> 2026-02-08 02:30:00 | Max open trades : 3 STRATEGY SUMMARY┏━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓┃ ┃ ┃ Avg Profit ┃ Tot Profit ┃ ┃ Avg ┃ Win Draw ┃ ┃┃ Strategy ┃ Trades ┃ % ┃ USDT ┃ Tot Profit % ┃ Duration ┃ Loss Win% ┃ Drawdown ┃┡━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩│ Strategy001 │ 23 │ -1.82 │ -40.523 │ -4.05 │ 14:13:00 │ 15 0 │ 56.266 USDT ││ │ │ │ │ │ │ 8 65.2 │ 5.62% │└─────────────┴────────┴─────────────┴─────────────┴──────────────┴─────────────┴──────────────┴─────────────┘支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
Freqtrade环境搭建
https://blog.smyb.fun/posts/aitrade/02_freqtrade环境搭建/ 最后更新于 2026-01-02,距今已过 47 天
部分内容可能已过时