dryrun.sh update

This commit is contained in:
zhangkun9038@dingtalk.com 2026-02-24 18:25:09 +08:00
parent 40b259df53
commit 68762c0f1d

View File

@ -218,9 +218,25 @@ if [[ "$current_branch" == *"dryrun"* ]]; then
echo "✅ Git工作区已清理" >&2
fi
# 解析命令行参数:如果提供则覆盖默认值
# 初始化手动指定的币对列表
MANUAL_PAIRS=""
# 解析命令行参数:获取手动指定的币对列表、远程 URL 和模型
while [[ $# -gt 0 ]]; do
case "$1" in
--pairs=*)
MANUAL_PAIRS="${1#*=}"
shift
;;
--pairs)
if [[ -n "$2" && "$2" != -* ]]; then
MANUAL_PAIRS="$2"
shift 2
else
echo "错误:--pairs需要指定值" >&2
exit 1
fi
;;
--pairRemoteList=*)
PAIR_REMOTE_LIST_URL="${1#*=}"
shift
@ -267,6 +283,9 @@ echo "使用模型: $FREQAI_MODEL" >&2
### 核心:处理币对列表 ###
# 定义写死的币对白名单与live.sh保持一致
DEFAULT_PAIRS="BTC/USDT ETH/USDT XRP/USDT XAUT/USDT SOL/USDT BNB/USDT TRUMP/USDT PEPE/USDT TRB/USDT DOGE/USDT AVAX/USDT BCH/USDT SUI/USDT FIL/USDT LTC/USDT IP/USDT UNI/USDT WLD/USDT XLM/USDT TON/USDT ADA/USDT"
# 1. 获取数据库币对(使用绝对路径)
db_path="/home/ubuntu/freqtrade/user_data/tradesv3.sqlite"
db_pairs=$(get_open_trades_pairs "$db_path")
@ -274,11 +293,20 @@ db_pairs=$(get_open_trades_pairs "$db_path")
# 2. 获取远程币对
remote_pairs=$(get_remote_pairs "$PAIR_REMOTE_LIST_URL")
# 3. 合并去重
merged_pairs=$(merge_and_deduplicate_pairs "$db_pairs" "$remote_pairs")
# 3. 处理手动指定的币对或使用合并逻辑
if [ -n "$MANUAL_PAIRS" ]; then
# 如果手动指定了币对,直接使用手动指定的币对
final_pairs=$(echo "$MANUAL_PAIRS" | tr ',' ' ')
echo "使用手动指定的币对: $final_pairs" >&2
else
# 合并三个来源:数据库 + 远程 + 默认白名单
intermediate_pairs=$(merge_and_deduplicate_pairs "$db_pairs" "$remote_pairs")
final_pairs=$(merge_and_deduplicate_pairs "$intermediate_pairs" "" "$DEFAULT_PAIRS")
echo "使用合并后的币对列表作为最终列表 (数据库 + 远程 + 默认白名单)" >&2
fi
# 4. 更新配置文件
update_live_json_pair_whitelist "../config_examples/live.json" "$merged_pairs"
update_live_json_pair_whitelist "../config_examples/live.json" "$final_pairs"
### 启动容器 ###