hyperopt_org update+4
This commit is contained in:
parent
050df8c95a
commit
78664afecb
@ -92,7 +92,6 @@ for arg in "$@"; do
|
||||
HAS_NAMED_PARAMS=true
|
||||
break
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# Initialize variables
|
||||
@ -179,29 +178,27 @@ else
|
||||
fi
|
||||
|
||||
# Set default values if parameters not provided
|
||||
# macOS兼容的date命令
|
||||
# Ubuntu/Linux 兼容的date命令 (UTC时间)
|
||||
if [ -z "$START_DATE_RAW" ]; then
|
||||
START_DATE_RAW=$(date -v -2d +"%Y-%m-%d %H:%M:%S")
|
||||
START_DATE_RAW=$(date -u +"%Y-%m-%d %H:%M:%S")
|
||||
fi
|
||||
|
||||
if [ -z "$END_DATE_RAW" ]; then
|
||||
END_DATE_RAW=$(date -v +1d +"%Y-%m-%d %H:%M:%S")
|
||||
END_DATE_RAW=$(date -u +"%Y-%m-%d %H:%M:%S")
|
||||
fi
|
||||
|
||||
# Parse dates
|
||||
# 增强日期格式校验
|
||||
if [[ "$START_DATE_RAW" =~ ^[0-9]{8}$ ]]; then
|
||||
# 处理YYYYMMDD格式
|
||||
START_DATE=$(date -j -f "%Y%m%d" "$START_DATE_RAW" +"%s" 2>/dev/null)
|
||||
# 处理YYYYMMDD格式 (Linux/GNU date)
|
||||
START_DATE=$(date -u -d "${START_DATE_RAW:0:4}-${START_DATE_RAW:4:2}-${START_DATE_RAW:6:2}" +"%s" 2>/dev/null)
|
||||
if [ -z "$START_DATE" ]; then
|
||||
echo "错误:无效的起始日期格式 $START_DATE_RAW,请使用 YYYY-MM-DD 或 YYYYMMDD"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$START_DATE_RAW" == *" "* ]]; then
|
||||
# 处理带空格的日期格式 (YYYY-MM-DD HH:MM:SS)
|
||||
DATE_PART=$(echo "$START_DATE_RAW" | cut -d' ' -f1)
|
||||
TIME_PART=$(echo "$START_DATE_RAW" | cut -d' ' -f2)
|
||||
START_DATE=$(date -j -f "%Y-%m-%d %H:%M:%S" "$DATE_PART $TIME_PART" +"%s" 2>/dev/null)
|
||||
START_DATE=$(date -u -d "$START_DATE_RAW" +"%s" 2>/dev/null)
|
||||
if [ -z "$START_DATE" ]; then
|
||||
echo "错误:无效的起始日期格式 $START_DATE_RAW"
|
||||
exit 1
|
||||
@ -211,18 +208,24 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 先检查是否为YYYYMMDD格式
|
||||
# 处理结束日期
|
||||
if [[ "$END_DATE_RAW" =~ ^[0-9]{8}$ ]]; then
|
||||
# 直接处理YYYYMMDD格式
|
||||
END_DATE=$(date -j -f "%Y%m%d" "$END_DATE_RAW" +"%s")
|
||||
# 处理YYYYMMDD格式 (Linux/GNU date)
|
||||
END_DATE=$(date -u -d "${END_DATE_RAW:0:4}-${END_DATE_RAW:4:2}-${END_DATE_RAW:6:2}" +"%s" 2>/dev/null)
|
||||
if [ -z "$END_DATE" ]; then
|
||||
echo "错误:无效的截止日期格式 $END_DATE_RAW,请使用 YYYY-MM-DD 或 YYYYMMDD"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ "$END_DATE_RAW" == *" "* ]]; then
|
||||
# 处理带空格的日期格式 (YYYY-MM-DD HH:MM:SS)
|
||||
DATE_PART=$(echo "$END_DATE_RAW" | cut -d' ' -f1)
|
||||
TIME_PART=$(echo "$END_DATE_RAW" | cut -d' ' -f2)
|
||||
END_DATE=$(date -j -f "%Y-%m-%d %H:%M:%S" "$DATE_PART $TIME_PART" +"%s")
|
||||
END_DATE=$(date -u -d "$END_DATE_RAW" +"%s" 2>/dev/null)
|
||||
if [ -z "$END_DATE" ]; then
|
||||
echo "错误:无效的截止日期格式 $END_DATE_RAW"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# 尝试处理YYYY-MM-DD格式
|
||||
END_DATE=$(date -j -f "%Y-%m-%d" "$END_DATE_RAW" +"%s")
|
||||
echo "错误:未知的截止日期格式 $END_DATE_RAW"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 处理交易对参数:优先级为 --pairRemoteList > --pairs > 默认值
|
||||
@ -334,19 +337,19 @@ if [ -z "$STRATEGY_CLASS_NAME" ]; then
|
||||
STRATEGY_CLASS_NAME="$STRATEGY_NAME"
|
||||
fi
|
||||
|
||||
# 在参数处理完成后输出最终使用的值
|
||||
# 显示完整使用帮助
|
||||
# 在参数处理完成后输出最终使用的值
|
||||
# 显示完整使用帮助
|
||||
echo "正确用法示例:"
|
||||
echo "位置参数模式:"
|
||||
echo " $0 20230901 20231001 MartinGale BTC/USDT"
|
||||
echo "命名参数模式:"
|
||||
echo " $0 --start-date=20230901 --end-date=20231001 -t MartinGale --spaces \"buy sell\""
|
||||
echo " $0 --start-date=20230901 --end-date=20231001 -t MartinGale --spaces \"buy sell\" --epochs 200 --random-state 42"
|
||||
echo "Using strategy: $STRATEGY_NAME"
|
||||
echo "Using config: $CONFIG_FILE"
|
||||
echo "Using testBranch: $TEST_BRANCH"
|
||||
echo "Using hyperopt spaces: $SPACES" # 再次确认
|
||||
echo "Using hyperopt spaces: $SPACES"
|
||||
echo "Using epochs: $EPOCHS"
|
||||
echo "Using random-state: $RANDOM_STATE"
|
||||
|
||||
# 直接在当前目录工作,不使用不存在的.venv
|
||||
cd ../
|
||||
@ -370,8 +373,8 @@ echo "docker-compose run --rm freqtrade hyperopt $PAIRS_FLAG \
|
||||
--enable-protections \
|
||||
--strategy-path /freqtrade/templates \
|
||||
--timerange ${START_DATE}-${END_DATE} \
|
||||
--random-state 19 \
|
||||
--epochs 100 \
|
||||
--random-state $RANDOM_STATE \
|
||||
--epochs $EPOCHS \
|
||||
-j 4 \
|
||||
--hyperopt-loss CalmarHyperOptLoss \
|
||||
--spaces $SPACES \
|
||||
@ -392,4 +395,3 @@ docker-compose run --rm freqtrade hyperopt $PAIRS_FLAG \
|
||||
--hyperopt-loss CalmarHyperOptLoss \
|
||||
--spaces $SPACES \
|
||||
--fee 0.001
|
||||
|
||||
|
||||
0
user_data/models/.gitkeep
Normal file
0
user_data/models/.gitkeep
Normal file
Loading…
x
Reference in New Issue
Block a user