...
This commit is contained in:
@@ -38,6 +38,21 @@ cntg_vol : $cntg_vol
|
||||
acml_tr_pbmn : $acml_tr_pbmn
|
||||
""".trimIndent()
|
||||
}
|
||||
|
||||
/**
|
||||
* 시가 대비 현재가 변동률(%)을 계산하여 반환합니다.
|
||||
*/
|
||||
fun getFluctuationRate(): Double {
|
||||
val openPrice = stck_oprc.toDoubleOrNull() ?: 0.0
|
||||
val currentPrice = stck_prpr.toDoubleOrNull() ?: 0.0
|
||||
|
||||
// 시가가 0이거나 데이터가 없는 경우 0.0 반환 (0으로 나누기 방지)
|
||||
if (openPrice == 0.0) return 0.0
|
||||
|
||||
// 변동률 계산 공식: ((현재가 - 시가) / 시가) * 100
|
||||
return ((currentPrice - openPrice) / openPrice) * 100
|
||||
}
|
||||
|
||||
}
|
||||
@Serializable
|
||||
data class OverseasCandleData(
|
||||
|
||||
@@ -968,7 +968,7 @@ object AutoTradingManager {
|
||||
}.filter {
|
||||
val rate = it.prdy_ctrt.toDouble()
|
||||
val corpInfo = DartCodeManager.getCorpCode(it.code)
|
||||
val isOk = (rate > 0 && rate < KisSession.tradeConfig.plusFilter) || (rate < 0 && rate > (KisSession.tradeConfig.minusFilter * -1))
|
||||
val isOk = (rate > 0 && rate < KisSession.tradeConfig.plusFilter) || (rate < 0 && rate > (abs(KisSession.tradeConfig.minusFilter) * -1))
|
||||
|
||||
if (corpInfo?.cName.isNullOrEmpty()) {
|
||||
false
|
||||
|
||||
Reference in New Issue
Block a user