73 lines
1.7 KiB
Bash
Executable File
73 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# ============================================
|
||
# 只同步策略,不需要重启 Docker
|
||
# vnpy 支持动态加载策略,所以同步完成后直接就能在 UI 里加载新策略
|
||
# ============================================
|
||
|
||
set -e
|
||
|
||
# 配置信息
|
||
NAS_IP="192.168.2.154"
|
||
NAS_USER="admin"
|
||
LOCAL_PROJECT="/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live"
|
||
NAS_TARGET="/volume1/stock/sanguo_vnpy"
|
||
|
||
# 颜色
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
NC='\033[0m'
|
||
|
||
log_info() {
|
||
echo -e "${GREEN}[INFO]${NC} $1"
|
||
}
|
||
|
||
log_warn() {
|
||
echo -e "${YELLOW}[WARN]${NC} $1"
|
||
}
|
||
|
||
log_error() {
|
||
echo -e "${RED}[ERROR]${NC} $1"
|
||
}
|
||
|
||
echo "============================================"
|
||
echo " 同步策略到 NAS(不重启 Docker)"
|
||
echo " vnpy 支持动态加载,同步完直接在 UI 加载新策略"
|
||
echo "============================================"
|
||
echo ""
|
||
|
||
# 检查参数
|
||
if [ $# -eq 0 ]; then
|
||
log_error "请指定要同步的策略目录"
|
||
echo ""
|
||
echo "使用方法:"
|
||
echo " ./sync_strategy_only.sh strategies/pangtong-value/strategy_A"
|
||
echo ""
|
||
exit 1
|
||
fi
|
||
|
||
STRATEGY_PATH="$1"
|
||
|
||
log_info "1/2: 同步策略 $STRATEGY_PATH 到 NAS"
|
||
rsync -av --delete \
|
||
"$LOCAL_PROJECT/$STRATEGY_PATH"/ \
|
||
"$NAS_USER@$NAS_IP:$NAS_TARGET/$STRATEGY_PATH"/ \
|
||
--exclude='__pycache__' \
|
||
--exclude='*.pyc' \
|
||
--exclude='.ipynb_checkpoints' \
|
||
--exclude='.DS_Store'
|
||
|
||
log_info "✅ 同步完成"
|
||
echo ""
|
||
log_info "2/2: 完成!"
|
||
echo ""
|
||
echo "🎯 下一步:"
|
||
echo " 1. 在 vnpy UI 里刷新策略"
|
||
echo " 2. 加载你的策略 $STRATEGY_PATH"
|
||
echo " 3. 运行回测"
|
||
echo " 4. 结果自动保存到 $STRATEGY_PATH/backtest_results/"
|
||
echo ""
|
||
echo "✅ 完成!不需要重启 Docker!直接用就行!"
|
||
echo ""
|