...
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user