From 1b61755558f1c2470cd5dac30500d9d3c7f0208d Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Fri, 16 May 2025 13:03:22 +0000 Subject: [PATCH] dryrun.sh --- tools/dryrun.sh | 72 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 tools/dryrun.sh diff --git a/tools/dryrun.sh b/tools/dryrun.sh new file mode 100644 index 00000000..98b2e31c --- /dev/null +++ b/tools/dryrun.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# 检查 .env 文件 +if [ ! -f ".env" ]; then + echo "⚠️ 本地缺少 .env 文件,请创建并配置。示例内容如下:" + echo "" + echo "STRATEGY_NAME=TheForceV7" + echo "CONFIG_FILE=basic.json" + echo "TEST_BRANCH=theforce-noai-test" + echo "DRYRUN_BRANCH=theforce-noai-dryrun" + echo "" + exit 1 +fi + +# 加载 .env 文件中的变量 +export $(grep -v '^#' .env | xargs) +# 设置默认值 +STRATEGY_NAME=${STRATEGY_NAME:-TheForceV7} +CONFIG_FILE=${CONFIG_FILE:-basic.json} + +echo "Using strategy: $STRATEGY_NAME" +echo "Using config: $CONFIG_FILE" +echo "Using testBranch: $TEST_BRANCH" +# Parse command line arguments +START_DATE=${1:-$(date -d "2 days ago" +"%Y%m%d")} +END_DATE=${2:-$(date -d "tomorrow" +"%Y%m%d")} + +cd ../ +source .venv/bin/activate +rm -rf user_data/models/* +rm -rf ./freqtrade/user_data/data/backtest_results/* +rm -fr ./user_data/dryrun_results/* +rm result/* + +hyperopt_config="${STRATEGY_NAME%.py}.json" +#docker-compose -f docker-compose_backtest.yml run --rm freqtrade >output.log 2>&1 +docker-compose run --rm -p 8080:8080 freqtrade trade \ + --logfile /freqtrade/user_data/logs/freqtrade.log \ + --db-url sqlite:////freqtrade/user_data/tradesv3.sqlite \ + --freqaimodel LightGBMRegressor \ + --config /freqtrade/config_examples/$CONFIG_FILE \ + --strategy $STRATEGY_NAME \ + --strategy-path /freqtrade/templates + +#python3 tools/filter.py + +rm ./result/*.json -fr +rm ./result/*.py -fr +mv ./user_data/backtest_results/* ./result/ + +cd ./result +# 查找当前目录下的所有 zip 文件 +zip_files=(*.zip) + +# 检查是否只有一个 zip 文件 +if [ ${#zip_files[@]} -eq 1 ]; then + # 解压缩该 zip 文件到当前目录 + unzip "${zip_files[0]}" + rm *.zip + rm *.feather +else + echo "当前目录下没有 zip 文件或者有多个 zip 文件,无法操作。" +fi + +cd - +sed -i 's/\x1B\[[0-9;]*m//g' output.log +#python3 ../filter.py +cp output.log result/ -f +cd tools/ +python tradestocsv.py +python analytic.py >../result/analytic.log +cd ../