This commit is contained in:
2026-09-15 16:17:45 +09:00
parent 1a2fe8b6e6
commit 84f2202f17
5 changed files with 20 additions and 13 deletions
@@ -116,7 +116,7 @@ object AutoTradingManager {
val globalCallback = { completeTradingDecision: TradingDecision?, isSuccess: Boolean ->
val seoulZone = ZoneId.of("Asia/Seoul")
val now = LocalTime.now(ZoneId.of("Asia/Seoul"))
if (KisSession.isMarketOpenTime(now) && isSuccess && completeTradingDecision != null) {
if (KisSession.isMarketAnalyzerTime(now) && isSuccess && completeTradingDecision != null) {
val decision = completeTradingDecision
println("${decision.stockName} ${decision.decision}")
@@ -1262,7 +1262,7 @@ object AutoTradingManager {
while (iterator.hasNext()) {
totalCount--
val stock = iterator.next()
if (KisSession.isMarketOpenTime(now)) {
if (KisSession.isMarketAnalyzerTime(now)) {
if (BLACKLISTEDSTOCKCODES.contains(stock.code)) {
println("❌ 차단 처리된 주식 : ${stock.name}")
} else {
@@ -1385,7 +1385,7 @@ object AutoTradingManager {
// 🌟 [핵심] 물타기 대상 여부 플래그 식별
val targetHolding = currentBalance?.getHoldings()?.firstOrNull {
it.code == stock.code && it.quantity.toInt() > 0
it.code == stock.code && it.quantity.toInt() > KisSession.tradeConfig.lowerAverageTargetCount
}
val isWatering = targetHolding != null && KisSession.tradeConfig.lowerAveragePrice
@@ -1450,7 +1450,7 @@ object AutoTradingManager {
val tempAnalyzer = TechnicalAnalyzer().apply { this.daily = dailyData }
val volatility = tempAnalyzer.calculateVolatilityForecast(dailyData, 20)
val expectedProfitRate = ((volatility.realisticHigh - currentPrice) / currentPrice) * 100.0
val dailyStats = tempAnalyzer.calculateDynamicReboundStats(dailyData, 5.0)
val dailyStats = tempAnalyzer.calculateDynamicReboundStats(dailyData, 3.0)
// 🌟 [완화 3] 기대수익률 및 진입 타이밍 이원화
val isProfitable: Boolean