default strategy FreqaiPrimer
This commit is contained in:
parent
9ad6d112f6
commit
69f0fde7d1
@ -19,7 +19,8 @@ if [ -f .env ]; then
|
||||
set +a
|
||||
fi
|
||||
# 设置默认值
|
||||
STRATEGY_NAME=${STRATEGY_NAME:-TheForceV7}
|
||||
# 设置默认策略名称
|
||||
STRATEGY_NAME=${STRATEGY_NAME:-FreqaiPrimer}
|
||||
CONFIG_FILE=${CONFIG_FILE:-basic.json}
|
||||
TEST_BRANCH=${TEST_BRANCH:-develop}
|
||||
|
||||
@ -41,14 +42,16 @@ get_param_value() {
|
||||
if [ $((i + 1)) -lt ${#args[@]} ] && [[ "${args[$((i + 1))]}" != -* ]]; then
|
||||
echo "${args[$((i + 1))]}"
|
||||
return 0
|
||||
else
|
||||
echo "Error: Missing value for parameter $param" >&2
|
||||
exit 1
|
||||
fi
|
||||
# 如果参数存在但没有值,返回特殊标识"PARAM_WITHOUT_VALUE"
|
||||
echo "PARAM_WITHOUT_VALUE"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
i=$((i + 1))
|
||||
done
|
||||
# 如果参数不存在,返回空字符串
|
||||
echo ""
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -194,12 +197,12 @@ else
|
||||
echo "No pairs parameter provided, using default pairs: $DEFAULT_PAIRS"
|
||||
fi
|
||||
|
||||
# 如果命令行提供了策略参数,覆盖.env文件设置
|
||||
if [ -n "$STRATEGY_ARG" ]; then
|
||||
# 如果命令行提供了有效的策略参数,覆盖.env文件设置
|
||||
if [ -n "$STRATEGY_ARG" ] && [ "$STRATEGY_ARG" != "PARAM_WITHOUT_VALUE" ]; then
|
||||
# 策略类名保持不变(如MyStrategy),但文件名使用小写
|
||||
STRATEGY_CLASS_NAME="$STRATEGY_ARG"
|
||||
STRATEGY_FILE_NAME="$(echo "$STRATEGY_ARG" | tr '[:upper:]' '[:lower:]').py"
|
||||
STRATEGY_NAME="$STRATEGY_FILE_NAME"
|
||||
STRATEGY_NAME="$STRATEGY_CLASS_NAME"
|
||||
echo "Overriding strategy with command line parameter: $STRATEGY_CLASS_NAME"
|
||||
echo "Strategy class name: $STRATEGY_CLASS_NAME"
|
||||
echo "Strategy file name: $STRATEGY_FILE_NAME"
|
||||
@ -236,6 +239,18 @@ else
|
||||
echo "Config file found: freqtrade/templates/$CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# 最后确认STRATEGY_NAME有值
|
||||
if [ -z "$STRATEGY_NAME" ]; then
|
||||
echo "Warning: STRATEGY_NAME is empty, using default FreqaiPrimer"
|
||||
STRATEGY_NAME="FreqaiPrimer"
|
||||
fi
|
||||
|
||||
# 确保STRATEGY_CLASS_NAME有值
|
||||
if [ -z "$STRATEGY_CLASS_NAME" ]; then
|
||||
echo "Warning: STRATEGY_CLASS_NAME is empty, setting to STRATEGY_NAME value"
|
||||
STRATEGY_CLASS_NAME="$STRATEGY_NAME"
|
||||
fi
|
||||
|
||||
# 在参数处理完成后输出最终使用的值
|
||||
echo "Using strategy: $STRATEGY_NAME"
|
||||
echo "Using config: $CONFIG_FILE"
|
||||
@ -253,8 +268,8 @@ echo "docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \
|
||||
--freqaimodel LightGBMRegressorMultiTarget \
|
||||
--config /freqtrade/config_examples/$CONFIG_FILE \
|
||||
--config /freqtrade/templates/$CONFIG_FILE \
|
||||
--strategy $STRATEGY_NAME \
|
||||
--strategy-path /freqtrade/templates \
|
||||
--strategy $STRATEGY_CLASS_NAME \
|
||||
--timerange $START_DATE-$END_DATE \
|
||||
--fee 0.0008 \
|
||||
--breakdown day \
|
||||
@ -265,9 +280,9 @@ docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \
|
||||
--freqaimodel LightGBMRegressorMultiTarget \
|
||||
--config /freqtrade/config_examples/$CONFIG_FILE \
|
||||
--config /freqtrade/templates/$CONFIG_FILE \
|
||||
--strategy $STRATEGY_CLASS_NAME \
|
||||
--strategy-path /freqtrade/templates \
|
||||
--enable-protections \
|
||||
--strategy $STRATEGY_CLASS_NAME \
|
||||
--timerange $START_DATE-$END_DATE \
|
||||
--fee 0.0008 \
|
||||
--breakdown day \
|
||||
|
||||
@ -41,14 +41,16 @@ get_param_value() {
|
||||
if [ $((i + 1)) -lt ${#args[@]} ] && [[ "${args[$((i + 1))]}" != -* ]]; then
|
||||
echo "${args[$((i + 1))]}"
|
||||
return 0
|
||||
else
|
||||
echo "Error: Missing value for parameter $param" >&2
|
||||
exit 1
|
||||
fi
|
||||
# 如果参数存在但没有值,返回特殊标识"PARAM_WITHOUT_VALUE"
|
||||
echo "PARAM_WITHOUT_VALUE"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
i=$((i + 1))
|
||||
done
|
||||
# 如果参数不存在,返回空字符串
|
||||
echo ""
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -235,8 +237,8 @@ else
|
||||
echo "No pairs parameter provided, using default pairs: $DEFAULT_PAIRS"
|
||||
fi
|
||||
|
||||
# 如果命令行提供了策略参数,覆盖.env文件设置
|
||||
if [ -n "$STRATEGY_ARG" ]; then
|
||||
# 如果命令行提供了有效的策略参数,覆盖.env文件设置
|
||||
if [ -n "$STRATEGY_ARG" ] && [ "$STRATEGY_ARG" != "PARAM_WITHOUT_VALUE" ]; then
|
||||
# 策略类名保持不变(如MyStrategy),但文件名使用小写
|
||||
STRATEGY_CLASS_NAME="$STRATEGY_ARG"
|
||||
STRATEGY_FILE_NAME="$(echo "$STRATEGY_ARG" | tr '[:upper:]' '[:lower:]').py"
|
||||
@ -277,6 +279,18 @@ else
|
||||
echo "Config file found: freqtrade/templates/$CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# 最后确认STRATEGY_NAME有值
|
||||
if [ -z "$STRATEGY_NAME" ]; then
|
||||
echo "Warning: STRATEGY_NAME is empty, using default TheForceV7"
|
||||
STRATEGY_NAME="TheForceV7"
|
||||
fi
|
||||
|
||||
# 确保STRATEGY_CLASS_NAME有值
|
||||
if [ -z "$STRATEGY_CLASS_NAME" ]; then
|
||||
echo "Warning: STRATEGY_CLASS_NAME is empty, setting to STRATEGY_NAME value"
|
||||
STRATEGY_CLASS_NAME="$STRATEGY_NAME"
|
||||
fi
|
||||
|
||||
# 在参数处理完成后输出最终使用的值
|
||||
# 显示完整使用帮助
|
||||
echo "正确用法示例:"
|
||||
@ -325,7 +339,11 @@ docker-compose run --rm freqtrade hyperopt $PAIRS_FLAG \
|
||||
-e 2500 \
|
||||
-j 4 \
|
||||
--hyperopt-loss SharpeHyperOptLossDaily \
|
||||
<<<<<<< Updated upstream
|
||||
--spaces roi stoploss trailing \
|
||||
=======
|
||||
--spaces sell \
|
||||
>>>>>>> Stashed changes
|
||||
--fee 0.001
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user