#!/bin/bash # SCALP Optuna(현재 PID) 종료 후 → tail · momentum · breakout 순차 실행 # 기간 2026-07-21~24 · mode=tpe · trials=200 · apply-best 없음 · 호가 OFF # # nohup bash scripts/run_optuna_after_scalp_4d_20260721_24.sh >> logs/optuna_after_scalp_waiter.log 2>&1 & # tail -f logs/optuna_4strat_seq_*_master.log # 체인 시작 후 # cat logs/optuna_after_scalp_waiter_latest.logpath set -euo pipefail cd /home/hoon/kis_bot mkdir -p logs WAIT_PID="${WAIT_PID:-2656890}" START="${START:-2026-07-21}" END="${END:-2026-07-24}" MODE="${MODE:-tpe}" TRIALS="${TRIALS:-200}" # scalp 는 이미 돌고 있으므로 나머지 3개만 STRATEGIES="${STRATEGIES:-tail momentum breakout}" WAITER_LOG="logs/optuna_after_scalp_waiter_$(date +%Y%m%d_%H%M%S).log" echo "$WAITER_LOG" > logs/optuna_after_scalp_waiter_latest.logpath { echo "======== waiter start $(date -Is) ========" echo "WAIT_PID=$WAIT_PID (scalp 종료 대기)" echo "THEN: STRATEGIES=$STRATEGIES START=$START END=$END MODE=$MODE TRIALS=$TRIALS" echo "apply-best=OFF" } | tee -a "$WAITER_LOG" if kill -0 "$WAIT_PID" 2>/dev/null; then echo "$(date -Is) waiting for PID $WAIT_PID ..." | tee -a "$WAITER_LOG" while kill -0 "$WAIT_PID" 2>/dev/null; do sleep 30 done echo "$(date -Is) PID $WAIT_PID exited" | tee -a "$WAITER_LOG" else echo "$(date -Is) PID $WAIT_PID already gone — 바로 체인 시작" | tee -a "$WAITER_LOG" fi # 잔여 param_search_optuna 있으면 잠깐 더 대기 (락/중복 기동 방지) for _ in 1 2 3 4 5 6; do if pgrep -f 'param_search_optuna.py' >/dev/null 2>&1; then echo "$(date -Is) 다른 param_search_optuna 잔여 — 30s 대기" | tee -a "$WAITER_LOG" sleep 30 else break fi done export START END MODE TRIALS STRATEGIES echo "$(date -Is) launching 4strat seq (remaining) ..." | tee -a "$WAITER_LOG" bash scripts/run_optuna_4strat_seq_20260715_16.sh >> "$WAITER_LOG" 2>&1 echo "$(date -Is) chain finished rc=$?" | tee -a "$WAITER_LOG"