Helius
2021-01-29 bee6b602b0bf4dfb7956a61b39ba03a240d89d6f
modify
2 files modified
7 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/CalculateUtil.java 4 ●●●● patch | view | raw | blame | history
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));
    }
}