src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -500,7 +500,7 @@ BigDecimal rewardRatio = holdOrderDataModel.getRewardAmount().divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN); contractOrderEntity.setRewardRatio(rewardRatio); contractOrderEntity.setRewardAmount(holdOrderDataModel.getRewardAmount()); contractOrderEntity.setRewardAmount(holdOrderDataModel.getRewardAmount().add(contractOrderEntity.getBondAmount())); contractOrderEntity.setClosingPrice(holdOrderDataModel.getClosingPrice()); // contractOrderEntity.setForceClosingPrice(holdOrderDataModel.getClosingPrice()); @@ -511,7 +511,6 @@ contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS); } contractOrderEntity.setClosingTime(new Date()); contractOrderEntity.setClosingFeeAmount(holdOrderEntity.getOpeningFeeAmount()); contractOrderDao.insert(contractOrderEntity); } src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -275,7 +275,7 @@ /** * 全仓模式下,维持保证金 * 维持保证金 = 持仓价值*维持保证金率= 面值*张数*开仓价格*维持保证金率 * 维持保证金 = 持仓价值*维持保证金率= 面值*张数*开仓价格*(1/杠杆倍率)*维持保证金率 * @param contractHoldOrder * @return */ @@ -289,6 +289,6 @@ redisUtils.set(AppContants.HOLD_BOND_RATIO, tradeSetting.getHoldBondRatio()); } return contractHoldOrder.getOpeningPrice().multiply(new BigDecimal(contractHoldOrder.getSymbolCntSale())).multiply(holdBondRatio).multiply(contractHoldOrder.getSymbolSku()); return contractHoldOrder.getOpeningPrice().multiply(new BigDecimal(contractHoldOrder.getSymbolCntSale())).multiply(holdBondRatio).multiply(contractHoldOrder.getSymbolSku()).multiply(BigDecimal.ONE.divide(new BigDecimal(contractHoldOrder.getLeverRatio()), 2, BigDecimal.ROUND_DOWN)); } }