diff --git a/build.gradle.kts b/build.gradle.kts index cd1770c..e9ef4d6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -63,6 +63,9 @@ dependencies { compose.desktop { application { mainClass = "MainKt" + buildTypes.release.proguard { + isEnabled.set(false) // 임시로 false 설정 + } nativeDistributions { targetFormats(TargetFormat.Dmg) packageName = "AutoTradeAI" diff --git a/src/main/kotlin/service/AutoTradingManager.kt b/src/main/kotlin/service/AutoTradingManager.kt index b72edf1..c451dc8 100644 --- a/src/main/kotlin/service/AutoTradingManager.kt +++ b/src/main/kotlin/service/AutoTradingManager.kt @@ -362,8 +362,8 @@ object FinancialAnalyzer { val isDebtSafe = fs.debtRatio < 200.0 // 부채비율 200% 미만 val isLiquiditySafe = fs.quickRatio > 80.0 // 당좌비율 80% 이상 val isNotDeficit = fs.isNetIncomePositive // 당기순이익은 일단 흑자여야 함 -//&& isNotDeficit - return isDebtSafe && isLiquiditySafe + + return isDebtSafe && isLiquiditySafe && isNotDeficit } /** diff --git a/src/main/kotlin/ui/IntegratedOrderSection.kt b/src/main/kotlin/ui/IntegratedOrderSection.kt index 473542f..d0239c6 100644 --- a/src/main/kotlin/ui/IntegratedOrderSection.kt +++ b/src/main/kotlin/ui/IntegratedOrderSection.kt @@ -209,6 +209,7 @@ fun IntegratedOrderSection( println("basePrice : $basePrice, oneTickLowerPrice : $oneTickLowerPrice, finalPrice : $finalPrice") tradeService.postOrder(stockCode, orderQty, finalPrice.toLong().toString(), isBuy = true) .onSuccess { realOrderNo -> // KIS 서버에서 생성된 실제 주문번호 + println("주문 성공: $realOrderNo ${stockCode} $orderQty $finalPrice") onOrderResult("주문 성공: $realOrderNo", true) if (willEnableAutoSell) { // 1. 기본 설정값 파싱 @@ -246,7 +247,10 @@ fun IntegratedOrderSection( onOrderResult("매수 및 감시 설정 완료 (목표 수익률: ${String.format("%.4f", effectiveProfitRate)}%): $realOrderNo", true) } } - .onFailure { onOrderResult(it.message ?: "매수 실패", false) } + .onFailure { + println("매수 실패: ${it.message} ${stockCode} $orderQty $finalPrice") + onOrderResult(it.message ?: "매수 실패", false) + } } } LaunchedEffect(completeTradingDecision) {