| | |
| | | .subtract(d.multiply(new BigDecimal(2))) |
| | | .setScale(8, RoundingMode.HALF_UP); |
| | | |
| | | log.debug("KDJ计算结果 - K: {}, D: {}, J: {}", k, d, j); |
| | | log.info("KDJ计算结果 - K: {}, D: {}, J: {}", k, d, j); |
| | | } |
| | | |
| | | /** |
| | | * 判断超买(K > 80) |
| | | * 判断超买(J > 85) |
| | | * @return 是否超买 |
| | | */ |
| | | public boolean isOverbought() { |
| | | return k.compareTo(new BigDecimal(80)) > 0; |
| | | return j.compareTo(new BigDecimal(85)) > 0; |
| | | } |
| | | |
| | | /** |
| | | * 判断超卖(K < 20) |
| | | * 判断超卖(J < 15) |
| | | * @return 是否超卖 |
| | | */ |
| | | public boolean isOversold() { |
| | | return k.compareTo(new BigDecimal(20)) < 0; |
| | | return j.compareTo(new BigDecimal(15)) < 0; |
| | | } |
| | | |
| | | /** |