| | |
| | | if (wholeHoldOrder != null) { |
| | | BigDecimal totalPrice = openingPrice.multiply(BigDecimal.valueOf(submitOrderDto.getSymbolCnt())); |
| | | // (当前开仓价*张数 + 原开仓价 * 原可平张数) / (张数 + 原可平张数) |
| | | BigDecimal newOpenPrice = totalPrice.add(wholeHoldOrder.getOpeningPrice().multiply(BigDecimal.valueOf(wholeHoldOrder.getSymbolCnt()))).divide(BigDecimal.valueOf(submitOrderDto.getSymbolCnt() + wholeHoldOrder.getSymbolCntSale()), 8, BigDecimal.ROUND_DOWN); |
| | | BigDecimal newOpenPrice = totalPrice.add(wholeHoldOrder.getOpeningPrice().multiply(BigDecimal.valueOf(wholeHoldOrder.getSymbolCntSale()))).divide(BigDecimal.valueOf(submitOrderDto.getSymbolCnt() + wholeHoldOrder.getSymbolCntSale()), 8, BigDecimal.ROUND_DOWN); |
| | | log.info("计算后开仓价:{}", newOpenPrice); |
| | | BigDecimal fee = openFeePrice.add(wholeHoldOrder.getOpeningFeeAmount()); |
| | | log.info("手续费相加:{}", fee); |