웹소켓 연결 완료

This commit is contained in:
2026-02-26 11:19:23 +09:00
parent ec02f27200
commit dbd2c4648b
9 changed files with 312 additions and 70 deletions

View File

@@ -51,6 +51,13 @@ MARKET_CLOSE = time(15, 30)
# ── 데이터 클래스 ─────────────────────────────────────────────────────────────
ENTRY_CUTOFF = _get_entry_cutoff()
EOD_FLAT = _get_eod_flat()
MAX_POSITIONS = settings.DAY_TRADE_MAX_POSITIONS
MAX_DAY_TRADE_RATIO = settings.DAY_TRADE_MAX_CAPITAL_RATIO
MAX_CAPITAL_RATIO = settings.DAY_TRADE_MAX_RATIO_DT
DAILY_LOSS_LIMIT = -settings.DAY_TRADE_DAILY_LOSS_LIMIT / 100
MARKET_CLOSE = time(15, 30)
@dataclass
class MinuteCandle:
@@ -491,3 +498,13 @@ def is_daily_loss_exceeded(
if total_assets <= 0:
return False
return (realized_pnl_today / total_assets) <= DAILY_LOSS_LIMIT
# 동적 시간 설정 (settings에서 읽음)
def _get_entry_cutoff() -> time:
"""신규 진입 마감 시간 (.env: DAY_TRADE_ENTRY_CUTOFF_HOUR, DAY_TRADE_ENTRY_CUTOFF_MIN)"""
return time(settings.DAY_TRADE_ENTRY_CUTOFF_HOUR, settings.DAY_TRADE_ENTRY_CUTOFF_MIN)
def _get_eod_flat() -> time:
"""EOD 강제 청산 시작 시간 (.env: DAY_TRADE_EOD_HOUR, DAY_TRADE_EOD_MIN)"""
return time(settings.DAY_TRADE_EOD_HOUR, settings.DAY_TRADE_EOD_MIN)