| | |
| | | difValues.add(dif); |
| | | } |
| | | |
| | | // 4. 计算DEA(基于有效DIF数据的EMA) |
| | | List<BigDecimal> deaValues = EMACalculator.calculateEMA(difValues, signalPeriod, false); |
| | | // 4. 计算DEA(基于有效DIF数据的EMA),欧意平台使用SMA作为初始值 |
| | | List<BigDecimal> deaValues = EMACalculator.calculateEMA(difValues, signalPeriod, true); |
| | | |
| | | // 5. 构建并填充结果(包含所有MACD数据) |
| | | List<PriceData> result = new ArrayList<>(deaValues.size()); |
| | |
| | | // 设置DIF、DEA和MACD柱状图 |
| | | data.setDif(difValues.get(i)); |
| | | data.setDea(deaValues.get(i)); // DEA索引直接对应 |
| | | data.setMacdHist(data.getDif().subtract(data.getDea())); // MACD柱状图 = DIF - DEA |
| | | data.setMacdHist(data.getDif().subtract(data.getDea()).multiply(BigDecimal.valueOf(2))); // MACD柱状图 = (DIF - DEA) × 2 (欧意平台标准) |
| | | |
| | | result.add(data); |
| | | } |