[2026-05-18] KIS API rate limit 수정 — 모의투자 1건/초, 진입체크 불필요 호출 제거

This commit is contained in:
2026-05-18 13:05:17 +09:00
parent 4697286c8e
commit f2ce17ba48
2 changed files with 13 additions and 18 deletions
+8 -13
View File
@@ -239,13 +239,15 @@ class StockBot:
continue
if len(self.positions) >= MAX_POSITIONS:
break
# 목표가 미계산 종목 스킵 (불필요한 API 호출 방지)
if self.strategy.get_target(ticker) <= 0:
continue
try:
price_info = await self.kis.get_price(ticker)
price_info = await self.kis.get_price(ticker) # rate limiter가 자동 throttle
current = price_info["current"]
name = price_info.get("name", ticker)
# 전략 신호 체크
signal = self.strategy.check_entry(
ticker=ticker,
name=name,
@@ -255,15 +257,11 @@ class StockBot:
if not signal["signal"]:
continue
# 포지션 사이즈 계산
balance = await self.kis.get_balance()
cash = balance["cash"]
invest = self.risk.get_pos_size(
cash, signal.get("multiplier", 1.0)
)
qty = max(1, int(invest // current))
balance = await self.kis.get_balance()
cash = balance["cash"]
invest = self.risk.get_pos_size(cash, signal.get("multiplier", 1.0))
qty = max(1, int(invest // current))
# 매수 실행
result = await self.executor.buy(
ticker=ticker, name=name,
qty=qty, reason=signal["reason"],
@@ -273,7 +271,6 @@ class StockBot:
if result["success"]:
entry_price = result["price"] or current
sl_price = entry_price * (1 - self.risk.get_sl_pct())
tp1_price = entry_price * (1 + 0.02)
self.positions[ticker] = {
"name" : name,
@@ -293,8 +290,6 @@ class StockBot:
boosted=signal.get("boosted", False),
)
await asyncio.sleep(1.1)
except Exception as e:
logger.error(f"진입 체크 오류 {ticker}: {e}")