"""
kiwwom_trader/scalping_logic.py
키움 스캘핑 봇이 사용할 공통 매매 로직 래퍼.

핵심 계산/판단은 모두 kis_bot/scalping_engine.py 를 그대로 호출해서 사용하고,
봇 쪽에서는 이 모듈만 임포트해서 매수/매도 시그널을 판단한다.
"""

from typing import Any, Dict, List, Optional, Tuple

from kis_trader.engine import scalping_engine as _se


def load_defaults_from_db() -> Dict[str, Any]:
    """
    env_config 최신 행에서 스캘핑 관련 기본값 로드.
    kis_bot/scalping_engine.get_scalping_defaults_from_db 를 그대로 래핑.
    """
    return _se.get_scalping_defaults_from_db()


def check_buy_signal(
    candles: List[Dict[str, Any]],
    params: Dict[str, Any],
    state: Dict[str, Any],
) -> Tuple[Optional[str], Optional[str], Optional[Dict[str, Any]]]:
    """
    실시간 매수 시그널 판단.
    kis_bot/scalping_engine.check_buy_signal_live 를 그대로 사용.
    """
    return _se.check_buy_signal_live(candles, params, state)


def check_sell_signal(
    position: Dict[str, Any],
    current_candle: Dict[str, Any],
    params: Dict[str, Any],
    is_eod: bool = False,
) -> Optional[Tuple[str, float]]:
    """
    실시간 매도 시그널 판단.
    kis_bot/scalping_engine.check_sell_signal_live 를 그대로 사용.
    """
    return _se.check_sell_signal_live(position, current_candle, params, is_eod)

