diff --git a/src/main/kotlin/service/AutoTradingManager.kt b/src/main/kotlin/service/AutoTradingManager.kt index ebf3e46..dec4bbc 100644 --- a/src/main/kotlin/service/AutoTradingManager.kt +++ b/src/main/kotlin/service/AutoTradingManager.kt @@ -528,15 +528,20 @@ object AutoTradingManager { && holding.valuationProfitAmount.toDouble() >= KisSession.config.getValues(ConfigIndex.LOSS_MAX_MONEY)) { println("${holding.name} ${holding.profitRate.toDouble()} ${holding.valuationProfitAmount.toDouble()} ${KisSession.config.getValues(ConfigIndex.LOSS_MAX_MONEY)} , ${KisSession.config.getValues(ConfigIndex.LOSS_MINRATE)} , ${KisSession.config.getValues(ConfigIndex.STOP_LOSS)}") val profit = holding.profitRate.toDouble() + var targetPrice = holding.currentPrice.toDouble() + targetPrice = MarketUtil.roundToTickSize(targetPrice + (MarketUtil.getTickSize(targetPrice) * 3.0)) + tradeService.postOrder( stockCode = holding.code, qty = holding.availOrderCount, - price = "0", + price = targetPrice.toInt().toString(), isBuy = false, ).onSuccess { newOrderNo -> println("✅ [보유 주식 손절 처리] 수익률($profit%) -> ${holding.valuationProfitAmount} 손해 중이며 현제 손절 가이드에 적합함 시장가 매도.") - }.onFailure { + }.onFailure { err-> + println("✅ [보유 주식 손절 처리] 실패 ${err.message}") } + TradingLogStore.addNotice( "보유주식[${holding.name}]", holding.code, @@ -767,9 +772,7 @@ object AutoTradingManager { } if (KisSession.config.take_profit) currentBalance?.let { resumePendingSellOrders(KisTradeService, it) } - if (KisSession.tradeConfig.auto_cancel_pending_buy) { - checkAndCancelPendingBuyOrders() - } + if (KisSession.tradeConfig.auto_cancel_pending_buy) { checkAndCancelPendingBuyOrders() } } else { } }