fix(backtest): IDE 자동 저장으로 유실되었던 핫핑크 하이라이트 및 비교 모달 UI 등 롤백 내역 재복구
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user