Files
kis_bot/scripts/run_optuna_after_scalp_4d_20260721_24.sh
2026-07-30 18:05:07 +09:00

55 lines
2.0 KiB
Bash
Executable File

#!/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"