freqai model customization

This commit is contained in:
zhangkun9038@dingtalk.com 2026-02-10 23:26:10 +08:00
parent d1b3ac3ae2
commit 4918795d2a
4 changed files with 39 additions and 6 deletions

View File

@ -21,7 +21,8 @@ UTC_PLUS_8 = timezone(timedelta(hours=8))
class FreqaiPrimer(IStrategy):
# 策略参数 - 使用custom_roi替代minimal_roi字典
loglevel = "warning"
minimal_roi = {}self.add_position_callback.value
minimal_roi = {}
add_position_callback = True
# 启用自定义ROI回调函数
use_custom_roi = True

View File

@ -65,6 +65,7 @@ START_DATE_RAW=""
END_DATE_RAW=""
PAIRS_ARG=""
PAIR_REMOTE_LIST_URL=""
FREQAI_MODEL="LightGBMRegressorMultiTarget"
# Parse parameters based on whether we have named parameters
if [ "$HAS_NAMED_PARAMS" = true ]; then
@ -73,6 +74,7 @@ if [ "$HAS_NAMED_PARAMS" = true ]; then
END_DATE_RAW=$(get_param_value "--end-date" "$@")
PAIRS_ARG=$(get_param_value "--pairs" "$@")
PAIR_REMOTE_LIST_URL=$(get_param_value "--pairRemoteList" "$@")
FREQAI_MODEL=$(get_param_value "--freqaimodel" "$@")
else
# Use positional parameter parsing
if [ $# -gt 0 ]; then
@ -187,7 +189,7 @@ hyperopt_config="${STRATEGY_NAME%.py}.json"
echo "docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \
--logfile /freqtrade/user_data/logs/freqtrade.log \
--freqaimodel LightGBMRegressorMultiTarget \
--freqaimodel $FREQAI_MODEL \
--config /freqtrade/config_examples/$CONFIG_FILE \
--config /freqtrade/templates/freqaiprimer.json \
--strategy-path /freqtrade/templates \
@ -199,7 +201,7 @@ echo "docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \
docker-compose run --rm freqtrade backtesting $PAIRS_FLAG \
--logfile /freqtrade/user_data/logs/freqtrade.log \
--freqaimodel LightGBMRegressorMultiTarget \
--freqaimodel $FREQAI_MODEL \
--config /freqtrade/config_examples/$CONFIG_FILE \
--config /freqtrade/templates/freqaiprimer.json \
--strategy-path /freqtrade/templates \

View File

@ -221,6 +221,19 @@ while [[ $# -gt 0 ]]; do
exit 1
fi
;;
--freqaimodel=*)
FREQAI_MODEL="${1#*=}"
shift
;;
--freqaimodel)
if [[ -n "$2" && "$2" != -* ]]; then
FREQAI_MODEL="$2"
shift 2
else
echo "错误:--freqaimodel需要指定值" >&2
exit 1
fi
;;
*)
shift
;;
@ -230,12 +243,14 @@ done
# 加载策略配置
STRATEGY_NAME=${STRATEGY_NAME:-TheForceV7}
CONFIG_FILE=${CONFIG_FILE:-freqaiprimer.json} # 修改:使用 freqaiprimer.json 作为基础配置
FREQAI_MODEL=${FREQAI_MODEL:-LightGBMRegressorMultiTarget}
PARAMS_NAME=$(echo "$STRATEGY_NAME" | tr '[:upper:]' '[:lower:]')
echo "使用策略: $STRATEGY_NAME" >&2
echo "使用配置: $CONFIG_FILE" >&2
echo "测试分支: $TEST_BRANCH" >&2
echo "远程币对列表URL: $PAIR_REMOTE_LIST_URL" >&2 # 显示当前使用的URL
echo "使用模型: $FREQAI_MODEL" >&2
### 核心:处理币对列表 ###
@ -290,7 +305,7 @@ docker run -d --restart=always \
--logfile /freqtrade/user_data/logs/freqtrade.log \
--db-url sqlite:////freqtrade/user_data/tradesv3.sqlite \
--dry-run \
--freqaimodel LightGBMRegressorMultiTarget \
--freqaimodel $FREQAI_MODEL \
--config /freqtrade/config_examples/$CONFIG_FILE \
--config /freqtrade/config_examples/dryrun.json \
--strategy $STRATEGY_NAME \

View File

@ -207,7 +207,7 @@ if [[ "$current_branch" == *"dryrun"* ]]; then
echo "✅ Git工作区已清理" >&2
fi
# 解析命令行参数:获取手动指定的币对列表和远程 URL
# 解析命令行参数:获取手动指定的币对列表、远程 URL 和模型
MANUAL_PAIRS=""
while [[ $# -gt 0 ]]; do
case "$1" in
@ -237,6 +237,19 @@ while [[ $# -gt 0 ]]; do
exit 1
fi
;;
--freqaimodel=*)
FREQAI_MODEL="${1#*=}"
shift
;;
--freqaimodel)
if [[ -n "$2" && "$2" != -* ]]; then
FREQAI_MODEL="$2"
shift 2
else
echo "错误:--freqaimodel需要指定值" >&2
exit 1
fi
;;
*)
shift
;;
@ -246,6 +259,7 @@ done
# 加载策略配置
STRATEGY_NAME=${STRATEGY_NAME:-TheForceV7}
CONFIG_FILE=${CONFIG_FILE:-freqaiprimer.json} # 修改:使用 freqaiprimer.json 作为基础配置
FREQAI_MODEL=${FREQAI_MODEL:-LightGBMRegressorMultiTarget}
PARAMS_NAME=$(echo "$STRATEGY_NAME" | tr '[:upper:]' '[:lower:]')
echo "使用策略: $STRATEGY_NAME" >&2
@ -257,6 +271,7 @@ echo " 2. /freqtrade/templates/${PARAMS_NAME}.json" >&2
echo " 3. /freqtrade/config_examples/live.json" >&2
echo "测试分支: $TEST_BRANCH" >&2
echo "远程币对列表URL: $PAIR_REMOTE_LIST_URL" >&2
echo "使用模型: $FREQAI_MODEL" >&2
### 核心:处理币对列表 ###
@ -341,7 +356,7 @@ docker run -d --restart=always \
trade \
--logfile /freqtrade/user_data/logs/freqtrade.log \
--db-url sqlite:////freqtrade/user_data/tradesv3.sqlite \
--freqaimodel LightGBMRegressorMultiTarget \
--freqaimodel $FREQAI_MODEL \
--fee 0.0008 \
--config /freqtrade/config_examples/$CONFIG_FILE \
--config /freqtrade/templates/${PARAMS_NAME}.json \