[03:16:41] === market_open_sim_smoke START === [03:16:41] log=/home/hoon/kis_bot/logs/market_open_sim_smoke.log [03:16:41] πŸ“Œ target_candidates_history ν…Œμ΄λΈ” 확인/생성 [03:16:41] πŸ“Œ ws_price_validation ν…Œμ΄λΈ” 확인/생성 [03:16:41] πŸ“Œ stock_share_meta ν…Œμ΄λΈ” 확인/생성 [03:16:41] πŸ“Š DB ν…Œμ΄λΈ” 생성/확인 μ™„λ£Œ [03:16:41] βœ… TradeDB μ΄ˆκΈ°ν™” μ™„λ£Œ: MariaDB 192.168.0.141:3306/kis_quant_db [03:16:41] βœ… 달λ ₯: today=2026-07-16 next_open=2026-07-17 prev_td=2026-07-16 web_defaults=2026-07-09~2026-07-16 [03:16:41] βœ… μ „λž΅ ON=['SCALP', 'SHORT', 'MOMENTUM', 'BREAKOUT'] OFF=['RANGE_BREAK', 'UPDOW', 'DBBAND'] [03:16:41] βœ… TAIL_SKIP_HTS_SCAN_DUPES=false [03:16:41] βœ… SHORT_SKIP_HTS_SCAN_DUPES=false [03:16:41] βœ… MOMENTUM_SKIP_HTS_SCAN_DUPES=false [03:16:41] βœ… BREAKOUT_SKIP_HTS_SCAN_DUPES=false [03:16:41] βœ… SCALP_SKIP_HTS_SCAN_DUPES=false [03:16:41] βœ… μž₯μ‹œκ°„ νŒμ • (fake 2026-07-17 09:05:00): market=True buy=True guard=True [03:16:41] βœ… μ—”μ§„ DB κΈ°λ³Έκ°’ λ‘œλ“œ: tail_keys=82 mom=49 scalp=41 bo=44 [03:16:41] βœ… active_trades HOLDING: (μ—†μŒ) [03:16:41] πŸ”‘ λͺ¨μ˜ 토큰 유효 (10.9h λ‚¨μŒ) β†’ μž¬μ‚¬μš© [03:16:41] βœ… KISClient 생성 ok mock=True acct=***0245 [03:16:41] βœ… μž”κ³  쑰회 응닡 type=dict [03:16:41] βœ… μž₯μ‹œμž‘ 리포트 λ¬Έμžμ—΄ 생성 OK (미전솑) === λͺ¨λ©˜ν…€ (MOMENTUM) === ν•„λ“œ canonical(μ‹€λ§€/νŒŒμ„œμΉ˜) web 왕볡후 νŒμ • ------------------------------------------------------------------------------ sl_pct(μ†μ ˆ) 0.05 0.05 OK λΉ„μœ¨ tp_pct(읡절) 0.03 0.03 OK λΉ„μœ¨ tp_max_pct(μ΅μ ˆμƒν•œ) 0.05 0.05 OK λΉ„μœ¨ shoulder_min_high 0.03 0.03 OK λΉ„μœ¨ shoulder_cut_pct 0.004 0.004 OK λΉ„μœ¨ mom_rsi_min 52 52 OK κ·ΈλŒ€λ‘œ mom_rsi_max 100 100 OK κ·ΈλŒ€λ‘œ mom_vol_mult 3 3 OK κ·ΈλŒ€λ‘œ mom_vol_win 5 5 OK μ •μˆ˜ max_daily 30 30 OK μ •μˆ˜ [03:16:41] βœ… verify_momentum parity OK === 돌파 (BREAKOUT) === [A] μ›Ή vs param_search (동일 ν•¨μˆ˜μ—¬μ•Ό 100% 일치) OK β€” 곡톡 42개 ν‚€ μ „λΆ€ 일치 [B] μ›Ή μ—”μ§„λΉ„μœ¨ vs μ‹€λ§€ DB λΉ„μœ¨ ν•„λ“œ canonical(μ‹€λ§€/νŒŒμ„œμΉ˜) web 왕볡후 νŒμ • ------------------------------------------------------------------------------ BREAKOUT_STOP_LOSS_PCT 0.05 0.05 OK λΉ„μœ¨ [03:16:41] βœ… verify_breakout parity OK === μŠ€μΊ˜ν•‘ (SCALP) === ν•„λ“œ canonical(μ‹€λ§€/νŒŒμ„œμΉ˜) web 왕볡후 νŒμ • ------------------------------------------------------------------------------ sl_pct(μ†μ ˆ) 0.035 0.035 OK λΉ„μœ¨ tp_pct(읡절) 0.03 0.03 OK λΉ„μœ¨ tp_max_pct(μ΅μ ˆμƒν•œ) 0.04 0.04 OK λΉ„μœ¨ drop_rate(낙폭) 0.01 0.01 OK λΉ„μœ¨ shoulder_min_high 0.03 0.03 OK λΉ„μœ¨ shoulder_cut_pct 0.001 0.001 OK λΉ„μœ¨ rsi_oversold 23 23 OK κ·ΈλŒ€λ‘œ rsi_period 3 3 OK μ •μˆ˜ max_daily 100 100 OK μ •μˆ˜ use_macd_cross False False OK bool skip_hts_scan_dupes False False OK bool [B] param_search _ui_to_engine vs μ‹€λ§€ λΉ„μœ¨ ν•„λ“œ canonical(μ‹€λ§€/νŒŒμ„œμΉ˜) web 왕볡후 νŒμ • ------------------------------------------------------------------------------ sl_pct 0.035 0.035 OK λΉ„μœ¨ tp_pct 0.03 0.03 OK λΉ„μœ¨ tp_max_pct 0.04 0.04 OK λΉ„μœ¨ drop_rate 0.01 0.01 OK λΉ„μœ¨ shoulder_min_high 0.03 0.03 OK λΉ„μœ¨ shoulder_cut_pct 0.001 0.001 OK λΉ„μœ¨ [03:16:41] βœ… verify_scalping parity OK === 꼬리 (TAIL/SHORT) === ν•„λ“œ canonical(μ‹€λ§€/νŒŒμ„œμΉ˜) web 왕볡후 νŒμ • ------------------------------------------------------------------------------ sl_pct 0.03 0.03 OK λΉ„μœ¨ tp_pct 0.05 0.05 OK λΉ„μœ¨ shoulder_min_high 0.007 0.007 OK λΉ„μœ¨ shoulder_cut_pct 0.0015 0.0015 OK λΉ„μœ¨ rsi_threshold 78 78 OK κ·ΈλŒ€λ‘œ rsi_period 14 14 OK μ •μˆ˜ max_daily 10 10 OK μ •μˆ˜ stop_atr_mult 2 2 OK κ·ΈλŒ€λ‘œ target_atr_mult 1.5 1.5 OK κ·ΈλŒ€λ‘œ [03:16:41] βœ… verify_tail parity OK [03:16:41] βœ… μ‹€λ§€β†”μ›Ήβ†”νŒŒλžŒ λ³€ν™˜ μ •ν•© 슀λͺ¨ν¬ 톡과 [03:16:41] πŸ“Š orders ν…Œμ΄λΈ” 확인/생성 μ™„λ£Œ [03:16:42] βœ… 꼬리 λ°±ν…Œ 2026-07-16: trades=0 pnl=0 [03:16:42] ⚠️ ws_ticks 데이터 μ—†μŒ β€” Bμ•ˆ OHLC high 폴백 (ν‹± μˆ˜μ§‘ ν›„ μž¬λ°±ν…Œ ꢌμž₯) [03:16:42] βœ… 돌파 λ°±ν…Œ 2026-07-16: trades=0 pnl=0 [03:16:42] === SUMMARY ok=20 err=0 === [03:16:42] RESULT: PASS