live.sh
This commit is contained in:
parent
deb6d9d969
commit
a61714ce46
48
config_examples/live.json
Normal file
48
config_examples/live.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"exchange": {
|
||||
"name": "okx",
|
||||
"key": "314e75b0-1113-47e8-ad01-1fca7e3c0496",
|
||||
"secret": "9C8B170390F46EA6FB87592AD46F5A34",
|
||||
"password": "nekFoylf:Om0",
|
||||
"enable_ws": false,
|
||||
"ccxt_config": {
|
||||
"enableRateLimit": true,
|
||||
"rateLimit": 500,
|
||||
"options": {
|
||||
"defaultType": "spot"
|
||||
}
|
||||
},
|
||||
"ccxt_async_config": {
|
||||
"enableRateLimit": true,
|
||||
"rateLimit": 3000,
|
||||
"timeout": 20000
|
||||
},
|
||||
"pair_whitelist": ["BTC/USDT", "ETH/USDT", "SOL/USDT", "DOT/USDT", "OKB/USDT", "TON/USDT"],
|
||||
"pair_blacklist": []
|
||||
},
|
||||
"pairlists": [
|
||||
{
|
||||
"method": "StaticPairList"
|
||||
}
|
||||
],
|
||||
"order_types": {
|
||||
"entry": "market",
|
||||
"exit": "market",
|
||||
"stoploss": "limit",
|
||||
"stoploss_on_exchange": false
|
||||
},
|
||||
"order_time_in_force": {
|
||||
"entry": "gtc",
|
||||
"exit": "gtc"
|
||||
},
|
||||
"entry_pricing": {
|
||||
"price_side": "other",
|
||||
"use_order_book": false,
|
||||
"price_last_balance": 0.0
|
||||
},
|
||||
"exit_pricing": {
|
||||
"price_side": "other",
|
||||
"use_order_book": false
|
||||
},
|
||||
"fee": 0.0008
|
||||
}
|
||||
91
tools/live.sh
Executable file
91
tools/live.sh
Executable file
@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e # 出错立即停止
|
||||
# 检查 .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 文件中的变量(位于项目根目录)
|
||||
if [ -f ".env" ]; then
|
||||
export $(grep -v '^#' .env | xargs)
|
||||
else
|
||||
echo "⚠️ 缺少 .env 文件,请创建并配置 TEST_BRANCH 和 DRYRUN_BRANCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 获取当前分支名
|
||||
current_branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
# 检查当前分支是否匹配 TEST_BRANCH 或 DRYRUN_BRANCH
|
||||
if [[ "$current_branch" != "$TEST_BRANCH" && "$current_branch" != "$DRYRUN_BRANCH" ]]; then
|
||||
echo "⚠️ 错误:当前分支 '$current_branch' 不符合环境变量配置要求。"
|
||||
echo "请确保当前分支与 .env 文件中的 TEST_BRANCH 或 DRYRUN_BRANCH 配置一致。"
|
||||
echo "TEST_BRANCH=$TEST_BRANCH"
|
||||
echo "DRYRUN_BRANCH=$DRYRUN_BRANCH"
|
||||
exit 1
|
||||
else
|
||||
echo "✅ 当前分支 '$current_branch' 符合环境变量配置要求。"
|
||||
fi
|
||||
|
||||
# 如果当前分支名称包含 "dryrun",执行 git reset --hard
|
||||
if [[ "$CURRENT_BRANCH" == *"dryrun"* ]]; then
|
||||
echo "当前分支为 '$CURRENT_BRANCH',正在执行 git reset --hard 以确保代码干净..."
|
||||
git reset --hard
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "⚠️ 执行 git reset --hard 失败,请检查 Git 状态。"
|
||||
exit 1
|
||||
fi
|
||||
echo "Git 工作区已清理。"
|
||||
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/* || true
|
||||
|
||||
hyperopt_config="${STRATEGY_NAME%.py}.json"
|
||||
docker rm $(docker ps -aq) -f || true
|
||||
|
||||
# 获取当前 Git Commit 的前 8 位
|
||||
GIT_COMMIT_SHORT=$(git rev-parse HEAD | cut -c 1-8)
|
||||
echo "docker-compose run -d --rm --name freqtrade-dryrun-${GIT_COMMIT_SHORT} -p 8080:8080 freqtrade trade \
|
||||
--logfile /freqtrade/user_data/logs/freqtrade.log \
|
||||
--db-url sqlite:////freqtrade/user_data/tradesv3.sqlite \
|
||||
--freqaimodel LightGBMRegressorMultiTarget \
|
||||
--fee 0.0008
|
||||
--config /freqtrade/config_examples/$CONFIG_FILE \
|
||||
--config /freqtrade/config_examples/live.json \
|
||||
--strategy $STRATEGY_NAME \
|
||||
--strategy-path /freqtrade/templates"
|
||||
|
||||
docker-compose run -d --rm --name freqtrade-dryrun-${GIT_COMMIT_SHORT} -p 8080:8080 freqtrade trade \
|
||||
--logfile /freqtrade/user_data/logs/freqtrade.log \
|
||||
--db-url sqlite:////freqtrade/user_data/tradesv3.sqlite \
|
||||
--freqaimodel LightGBMRegressorMultiTarget \
|
||||
--fee 0.0008 \
|
||||
--config /freqtrade/config_examples/$CONFIG_FILE \
|
||||
--config /freqtrade/config_examples/live.json \
|
||||
--strategy $STRATEGY_NAME \
|
||||
--strategy-path /freqtrade/templates
|
||||
Loading…
x
Reference in New Issue
Block a user