第一步需下载数据:
1、币种用空格隔开:
docker compose run --rm freqtrade download-data --pairs BTC/USDT:USDT ETH/USDT:USDT SOL/USDT:USDT --exchange binance --days 5 -t 1h
解析:
docker compose run --rm freqtrade:
docker compose run:在 Docker Compose 环境中运行一个服务。
--rm:命令执行完毕后自动删除 Docker 容器,避免容器堆积。
freqtrade:这是你要运行的容器服务,表示你正在调用 Freqtrade,一个用于加密货币交易策略回测和自动交易的框架。
download-data:
该命令告诉 Freqtrade 下载市场数据。它是 Freqtrade 提供的命令之一,用于从指定交易所(如 Binance)下载历史数据。
--pairs BTC/USDT:USDT ETH/USDT:USDT SOL/USDT:USDT:
--pairs:指定要下载的数据币对,这里下载了以下币对的数据:
BTC/USDT:比特币和 USDT(泰达币)的交易对
ETH/USDT:以太坊和 USDT 的交易对
SOL/USDT:Solana 和 USDT 的交易对
你可以根据需要下载其他币对的数据,多个币对之间用空格分隔。
--exchange binance:
--exchange:指定数据来源的交易所。在这个命令中,数据是从 Binance(币安)交易所获取的。
Freqtrade 支持多个交易所,因此你可以指定不同的交易所(如 Coinbase、Binance、Kraken 等)。
--days 5:
--days:指定要下载的数据的时间跨度。这里的 5 表示下载过去 5 天的数据。
你可以修改这个值来下载不同时间段的数据,比如过去 30 天或更长时间的数据。
-t 1h:
-t:指定下载数据的时间间隔。这里的 1h 表示数据的时间粒度是每小时(1小时)。
你也可以选择其他时间间隔,例如:5m(每5分钟)、15m(每15分钟)、30m(每30分钟)、1d(每天数据)等。
2、回测
docker compose run --rm freqtrade backtesting --config user_data/config.json --strategy SampleStrategy --timerange 20250630-20250704 -i 1h
解析:
docker compose run --rm freqtrade:
docker compose run:在 Docker Compose 中启动一个单独的服务。
--rm:表示容器执行完后自动删除,避免不必要的容器积累。
freqtrade:这是容器中执行的服务名称,表示使用 Freqtrade(一个加密货币交易策略回测和交易框架)进行操作。
backtesting:
表示运行回测(backtesting)操作,回测是用来测试你在历史数据上交易策略表现的过程。
--config user_data/config.json:
--config:指定配置文件路径,这里是 user_data/config.json。该文件包含 Freqtrade 配置项,如 API 密钥、交易所设置等。
--strategy SampleStrategy:
--strategy:指定使用的交易策略,这里使用的是名为 SampleStrategy 的策略。你可以根据实际情况更换成你自己定义的策略名称。
--timerange 20250630-20250704:
--timerange:指定回测的时间范围,格式为 YYYYMMDD-YYYYMMDD。
这个例子中,时间范围是 2025年6月30日到2025年7月4日,即回测会使用这段时间内的历史数据来评估策略表现。
-i 1h:
-i:指定回测的时间间隔。
1h 表示每小时的数据,回测将使用每小时的市场数据进行模拟交易。