fix(backtest): IDE 자동 저장으로 유실되었던 핫핑크 하이라이트 및 비교 모달 UI 등 롤백 내역 재복구

This commit is contained in:
Your Name
2026-09-01 03:00:19 +09:00
parent 9ba9ab73b6
commit e18817ec28
5 changed files with 430 additions and 40 deletions

View File

@@ -1,26 +1,68 @@
import sys
import os
sys.path.insert(0, '/home/hoon/kis_bot')
from datetime import datetime
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
from database import TradeDB
db = TradeDB()
today = "2026-08-11"
try:
# 1. LS 종목 7시 수집 통계 확인
print("\n[LS Ticks]")
ls_ticks = db.conn.execute("""
SELECT HOUR(timestamp) as hr, count(*)
FROM ls_ws_ticks
WHERE date(timestamp) = '2026-08-31'
GROUP BY HOUR(timestamp)
""").fetchall()
for row in ls_ticks: print(dict(row))
queries = {
" trade_history (오늘)": f"SELECT COUNT(*) FROM trade_history WHERE buy_date >= '{today} 00:00:00'",
" kis_ws_orderbook (오늘)": f"SELECT COUNT(*) FROM kis_ws_orderbook WHERE recv_ts >= '{today} 00:00:00'",
" ls_ws_orderbook (오늘)": f"SELECT COUNT(*) FROM ls_ws_orderbook WHERE recv_ts >= '{today} 00:00:00'",
" ws_orderbook (키움, 오늘)": f"SELECT COUNT(*) FROM ws_orderbook WHERE recv_ts >= '{today} 00:00:00'",
" ls_ws_ticks (오늘)": f"SELECT COUNT(*) FROM ls_ws_ticks WHERE ts >= '{today} 00:00:00'",
" ws_ticks (키움/KIS, 오늘)": f"SELECT COUNT(*) FROM ws_ticks WHERE recv_ts >= '{today} 00:00:00'",
" ls_ws_candles (오늘)": f"SELECT COUNT(*) FROM ls_ws_candles WHERE datetime >= '{today} 00:00:00'",
" ws_candles (오늘)": f"SELECT COUNT(*) FROM ws_candles WHERE candle_time >= '{today} 00:00:00'",
}
print("\n[LS Orderbooks]")
ls_obs = db.conn.execute("""
SELECT HOUR(timestamp) as hr, count(*)
FROM ls_ws_orderbook
WHERE date(timestamp) = '2026-08-31'
GROUP BY HOUR(timestamp)
""").fetchall()
for row in ls_obs: print(dict(row))
for name, q in queries.items():
print("\n[KIS Orderbooks]")
kis_obs = db.conn.execute("""
SELECT HOUR(timestamp) as hr, count(*)
FROM ws_orderbooks
WHERE date(timestamp) = '2026-08-31'
GROUP BY HOUR(timestamp)
""").fetchall()
for row in kis_obs: print(dict(row))
# 후보목록 (target_candidates)
print("\n[Target Candidates]")
# SHOW COLUMNS first as required
cols = [dict(r)["Field"] for r in db.conn.execute("SHOW COLUMNS FROM target_candidates").fetchall()]
print("target_candidates cols:", cols)
# Check if there is target_candidates for today
tc = db.conn.execute("""
SELECT HOUR(scan_time) as hr, count(*)
FROM target_candidates
WHERE date(scan_time) = '2026-08-31'
GROUP BY HOUR(scan_time)
""").fetchall()
for row in tc: print(dict(row))
# target_candidates_ls
print("\n[Target Candidates LS]")
try:
res = db.conn.execute(q).fetchone()
print(f"{name}: {res[0]:,}")
cols_ls = [dict(r)["Field"] for r in db.conn.execute("SHOW COLUMNS FROM target_candidates_ls").fetchall()]
print("target_candidates_ls cols:", cols_ls)
tc_ls = db.conn.execute("""
SELECT HOUR(scan_time) as hr, count(*)
FROM target_candidates_ls
WHERE date(scan_time) = '2026-08-31'
GROUP BY HOUR(scan_time)
""").fetchall()
for row in tc_ls: print(dict(row))
except Exception as e:
print(f"{name}: Error - {e}")
db.close()
print("Error checking target_candidates_ls:", e)
finally:
db.close()