From 2c78de67bd520b3e64c95f3b37962fbf672eff9a Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Thu, 19 Feb 2026 22:54:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E4=BC=9A=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E9=BB=98=E8=AE=A4=E7=9A=84=20MyCoolRLModel?= =?UTF-8?q?=20=E6=A8=A1=E5=9E=8B=EF=BC=8C=E8=80=8C=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E5=8F=82=E6=95=B0=E7=BC=BA=E5=A4=B1=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/backtest.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/tools/backtest.sh b/tools/backtest.sh index 80fbae00..d42bbfee 100755 --- a/tools/backtest.sh +++ b/tools/backtest.sh @@ -122,16 +122,21 @@ fi # Parse dates if [[ "$START_DATE_RAW" == *" "* ]]; then - START_DATE=$(date -d "$START_DATE_RAW" +"%s") + START_DATE_TS=$(date -d "$START_DATE_RAW" +"%s") + START_DATE_STR=$(date -d "$START_DATE_RAW" +"%Y-%m-%d") else - # 兼容旧格式:20250616 -> 转换为 2025-06-16 00:00:00 再转为时间戳 - START_DATE=$(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 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") + 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=$(date -d "$END_DATE_RAW" +"%s") + END_DATE_TS=$(date -d "$END_DATE_RAW" +"%s") + END_DATE_STR=$(date -d "$END_DATE_RAW" +"%Y-%m-%d") else - END_DATE=$(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 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") + END_DATE_STR="${END_DATE_RAW:0:4}-${END_DATE_RAW:4:2}-${END_DATE_RAW:6:2}" fi # 处理交易对参数:优先级为 --pairRemoteList > --pairs > 默认值 @@ -219,7 +224,7 @@ docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \ --strategy-path /freqtrade/templates \ --enable-protections \ --strategy $STRATEGY_NAME \ - --timerange $START_DATE-$END_DATE \ + --timerange $START_DATE_STR-$END_DATE_STR \ --fee 0.0008 \ --breakdown day \ --cache none >output.log 2>&1