ls증권 히스토리 구독 넣음

This commit is contained in:
Your Name
2026-07-30 18:05:07 +09:00
parent 61bec4bd1d
commit 67eab24603
1593 changed files with 135733 additions and 1232 deletions

View File

@@ -149,10 +149,28 @@ class MomentumStrategy(BaseStrategy):
if not sig:
return None
_defer = self._defer_mid_enroll_entry(
code,
sig.get("entry_bar_key"),
int(self.candle_tf or 1),
self._engine_params,
)
if _defer:
self.logger.info("🔍 [%s] %s(%s)", _defer, name, code)
return None
align_on = get_env_bool("MOMENTUM_LIVE_BACKTEST_ALIGN", True)
entry_open = float(sig.get("entry_price", 0) or 0)
entry_src = "ohlc_open"
if align_on and entry_open > 0:
curr_price = entry_open
from kis_trader.engine.tail_tick_replay import live_align_entry_price
curr_price, entry_src = live_align_entry_price(
self.ws,
code,
entry_open,
entry_bar_key=str(sig.get("entry_bar_key") or "")[:12],
tf_min=int(self.candle_tf or 1),
)
else:
latest = candles[-1]
curr_price = float(latest["close"])
@@ -166,6 +184,10 @@ class MomentumStrategy(BaseStrategy):
pass
if curr_price <= 0 or curr_price < self.min_price:
return None
# entry_src: ws_ticks | ohlc_open — 수량/손절 계산가 출처 (시장가 체결가와 별개)
if entry_src:
sig = dict(sig)
sig["entry_src"] = entry_src
hard_cap = get_env_int("MOMENTUM_MAX_BUY_AMOUNT", 0) or get_env_int(
"MAX_BUY_AMOUNT_PER_STOCK", 0,
@@ -185,8 +207,9 @@ class MomentumStrategy(BaseStrategy):
target_price = curr_price * (1 + eff_tp)
self.logger.info(
"🎯 [MOMENTUM 시그널] %s(%s) price=%.0f qty=%d RSI=%.1f",
"🎯 [MOMENTUM 시그널] %s(%s) price=%.0f qty=%d RSI=%.1f entry_src=%s",
name, code, curr_price, qty, sig.get("rsi", 0),
str(sig.get("entry_src") or entry_src),
)
return {
"code": code,