From 95f43e105dec0ebfc57505ab6a08aea491a44adf Mon Sep 17 00:00:00 2001 From: JUNGGWAN KIM Date: Fri, 8 May 2026 10:59:13 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=90=EB=A7=A4=20=EB=A1=9C=EA=B7=B8=20>=20?= =?UTF-8?q?=EC=86=90=EC=A0=88=20=EC=B2=98=EB=A6=AC=20=EB=A1=9C=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/service/AutoTradingManager.kt | 16 +++++++++++----- src/main/kotlin/ui/TradingDecisionLog.kt | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/service/AutoTradingManager.kt b/src/main/kotlin/service/AutoTradingManager.kt index dec4bbc..dbba32b 100644 --- a/src/main/kotlin/service/AutoTradingManager.kt +++ b/src/main/kotlin/service/AutoTradingManager.kt @@ -538,15 +538,21 @@ object AutoTradingManager { isBuy = false, ).onSuccess { newOrderNo -> println("✅ [보유 주식 손절 처리] 수익률($profit%) -> ${holding.valuationProfitAmount} 손해 중이며 현제 손절 가이드에 적합함 시장가 매도.") + TradingLogStore.addSellLog( + holding.code, + targetPrice.toString(), + "SELL", + "☠️ 보유 주식 손절 처리 [수익률 : ${profit}%] ${holding.valuationProfitAmount} 손해 중이며 현시세{${holding.currentPrice}}로 기준 호가 위 매도[$targetPrice] 주문 완료" + ) }.onFailure { err-> println("✅ [보유 주식 손절 처리] 실패 ${err.message}") } - TradingLogStore.addNotice( - "보유주식[${holding.name}]", - holding.code, - "수익률($profit%) -> ${holding.valuationProfitAmount} 손해 중이며 현제 손절 가이드에 적합함 시장가 매도." - ) +// TradingLogStore.addNotice( +// "보유주식[${holding.name}]", +// holding.code, +// "수익률($profit%) -> ${holding.valuationProfitAmount} 손해 중이며 현제 손절 가이드에 적합함 시장가 매도." +// ) } analyzeDeepLossHoldingsAfterMarket(holding , true) } diff --git a/src/main/kotlin/ui/TradingDecisionLog.kt b/src/main/kotlin/ui/TradingDecisionLog.kt index b80badc..e9d128d 100644 --- a/src/main/kotlin/ui/TradingDecisionLog.kt +++ b/src/main/kotlin/ui/TradingDecisionLog.kt @@ -219,14 +219,14 @@ fun TradingDecisionLog() { elevation = 2.dp ) { Column(modifier = Modifier.padding(12.dp)) { - Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.fillMaxWidth()) { + Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = M odifier.fillMaxWidth()) { Text("${log.time} - ${log.stockName}", fontWeight = FontWeight.Bold) Text( text = log.decision, color = when (log.decision) { - "BUY" -> Color.Red + "BUY" -> Color(0xFF800080) "SETTING" -> Color(0xFFFFA500) - "SELL" -> Color(0xFF800080) + "SELL" -> if (log.reason.contains("손절 처리")) Color.Blue else Color.Red "HOLD" -> Color.DarkGray "ANALYZER" -> Color.Green "PASS" -> Color.Yellow