atrade/src/main/kotlin/util/MarketUtil.kt
2026-02-24 13:14:11 +09:00

44 lines
1.2 KiB
Kotlin

package util
import java.time.LocalTime
import java.time.ZoneId
object MarketUtil {
fun isKoreanMarketOpen(): Boolean {
// 한국 시간대 기준 현재 시간 가져오기
val now = LocalTime.now(ZoneId.of("Asia/Seoul"))
val start = LocalTime.of(9, 0)
val end = LocalTime.of(15, 30)
// 주말 제외 로직은 필요시 추가 (일단 시간대 우선)
return now.isAfter(start) && now.isBefore(end)
}
fun getTickSize(price: Double): Double {
return when {
price < 2000 -> 1.0
price < 5000 -> 5.0
price < 20000 -> 10.0
price < 50000 -> 50.0
price < 200000 -> 100.0
price < 500000 -> 500.0
else -> 1000.0
}
}
fun roundToTickSize(price: Double): Double {
val tick = when {
price < 2000 -> 1.0
price < 5000 -> 5.0
price < 20000 -> 10.0
price < 50000 -> 50.0
price < 200000 -> 100.0
price < 500000 -> 500.0
else -> 1000.0
}
// 가장 가까운 호가 단위로 반올림
return Math.round(price / tick) * tick
}
}