diff --git a/tools/backtest.sh b/tools/backtest.sh index d42bbfee..0934f4c3 100755 --- a/tools/backtest.sh +++ b/tools/backtest.sh @@ -121,21 +121,20 @@ if [ -z "$END_DATE_RAW" ]; then fi # Parse dates +START_DATE_STR="" +END_DATE_STR="" + if [[ "$START_DATE_RAW" == *" "* ]]; then - START_DATE_TS=$(date -d "$START_DATE_RAW" +"%s") START_DATE_STR=$(date -d "$START_DATE_RAW" +"%Y-%m-%d") else - # 兼容旧格式:20260118 -> 转换为 2026-01-18 00:00:00 再转为时间戳和日期字符串 - START_DATE_TS=$(date -d "${START_DATE_RAW:0:4}-${START_DATE_RAW:4:2}-${START_DATE_RAW:6:2} 00:00:00" +"%s") + # 兼容旧格式:20260118 -> 转换为 2026-01-18 START_DATE_STR="${START_DATE_RAW:0:4}-${START_DATE_RAW:4:2}-${START_DATE_RAW:6:2}" fi if [[ "$END_DATE_RAW" == *" "* ]]; then - END_DATE_TS=$(date -d "$END_DATE_RAW" +"%s") END_DATE_STR=$(date -d "$END_DATE_RAW" +"%Y-%m-%d") else - # 兼容旧格式:20260218 -> 转换为 2026-02-18 00:00:00 再转为时间戳和日期字符串 - END_DATE_TS=$(date -d "${END_DATE_RAW:0:4}-${END_DATE_RAW:4:2}-${END_DATE_RAW:6:2} 00:00:00" +"%s") + # 兼容旧格式:20260218 -> 转换为 2026-02-18 END_DATE_STR="${END_DATE_RAW:0:4}-${END_DATE_RAW:4:2}-${END_DATE_RAW:6:2}" fi @@ -204,6 +203,11 @@ rm result/* hyperopt_config="${STRATEGY_NAME%.py}.json" +# Debug: Print date variables to check format +echo "DEBUG: START_DATE_STR = '$START_DATE_STR'" +echo "DEBUG: END_DATE_STR = '$END_DATE_STR'" +echo "DEBUG: Timerange format would be: $START_DATE_STR-$END_DATE_STR" + echo "docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \ --logfile /freqtrade/user_data/logs/freqtrade.log \ --freqaimodel $FREQAI_MODEL \ @@ -211,7 +215,7 @@ echo "docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \ --config /freqtrade/config_examples/$CONFIG_FILE \ --strategy-path /freqtrade/templates \ --strategy $STRATEGY_NAME \ - --timerange $START_DATE-$END_DATE \ + --timerange $START_DATE_STR-$END_DATE_STR \ --fee 0.0008 \ --breakdown day \ --cache none >output.log"