update download.sh

This commit is contained in:
zhangkun9038@dingtalk.com 2025-11-07 08:08:47 +08:00
parent 153935cd09
commit 4a29296df0
2 changed files with 13 additions and 15 deletions

View File

@ -58,27 +58,22 @@ get_csv_param_value() {
}
if [[ "$@" == *"--timerange"* ]] && [[ "$@" == *"--days"* ]]; then
echo "Error: Both --timerange and --days cannot be provided."
echo "Error: Both --timerange and --days cannot be provided at the same time."
echo "Please use either --timerange or --days, but not both."
exit 1
fi
# ... existing code ...
# Get timerange or days from parameters
timerange=""
days="50" # Default to 50 days
days=""
if [[ "$@" == *"--timerange"* ]]; then
timerange=$(get_param_value "--timerange" "$@")
elif [[ "$@" == *"--days"* ]]; then
days=$(get_param_value "--days" "$@")
fi
# Convert days to timerange to fix freqtrade bug with --days parameter
if [[ -z "$timerange" ]]; then
end_date=$(date -u +%Y%m%d) # Current date in YYYYMMDD format
start_date=$(date -u -d "$days days ago" +%Y%m%d) # Date X days ago
timerange="${start_date}-${end_date}"
echo "Converting --days=$days to --timerange=$timerange"
fi
# Get pairs and timeframe from parameters or use defaults
pairs=$(get_csv_param_value "--pairs" "$@")
timeframe=$(get_csv_param_value "--timeframe" "$@")
@ -255,10 +250,14 @@ if [[ -n "$prepend" ]]; then
cmd+=" $prepend"
fi
# Add timerange
# Add timerange or days if provided
if [[ -n "$timerange" ]]; then
cmd+=" --timerange='$timerange'"
fi
if [[ -n "$days" ]]; then
cmd+=" --days=$days"
fi
# Execute the command
eval "$cmd"

View File

@ -7,7 +7,7 @@
## 默认值
- **配置文件**`--config /freqtrade/config_examples/basic.json`(无需指定)
- **下载天数**`--days 50`(无需指定,除非要修改
- **下载天数**无默认值freqtrade 默认为 30 天
- **时间框架**`--timeframe 3m,15m,30m,1h,4h,6h,12h,1d`(无需指定)
- **Prepend 模式**:默认启用(无需指定,除非要禁用)
@ -50,8 +50,7 @@ BTC/USDT TON/USDT DOT/USDT XRP/USDT OKB/USDT SOL/USDT DOGE/USDT WCT/USDT TRUMP/U
## 时间范围参数
- `--days INT`:下载指定天数的数据(默认 50 天)
- 脚本会自动转换为 `--timerange` 以规避 freqtrade bug
- `--days INT`下载指定天数的数据如果不提供freqtrade 默认为 30 天)
- 示例:`./download.sh --local-pairlist --days 100`
- `--timerange TIMERANGE`:指定绝对时间范围
@ -117,6 +116,6 @@ BTC/USDT TON/USDT DOT/USDT XRP/USDT OKB/USDT SOL/USDT DOGE/USDT WCT/USDT TRUMP/U
- 如果同时指定了 `--pairs``--local-pairlist``--pairs` 参数优先
- 如果既没有指定 `--pairs` 也没有指定 `--local-pairlist`,脚本会尝试从 API 获取交易对列表
- `--local-pairlist` 参数不需要指定值,直接使用代码中定义的默认交易对列表
- `--days` 参数会自动转换为 `--timerange` 以规避 freqtrade 的 bug
- `--days` 参数会直接传递给 freqtrade如果不提供则 freqtrade 默认为 30 天
- 默认启用 `--prepend` 模式,如需禁用请使用 `--no-prepend`
- 不能同时指定 `--days``--timerange`