Helius
2021-04-14 f8ecaf91e230b322a73a75299d76b071ab7ba894
src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -205,7 +205,10 @@
    }
    /**
     * 权益-维持保证金+开仓价*张数*规格-开仓价*费率-(总账户-维持保证金) / 规格*张数
     * 多:
     * (开仓价*数量*规格 - 其他币种保证金 - (总账户金额-维持保证金) - (权益 - 维持保证金)) / 数量*规格
     * 空:
     * (开仓价*数量*规格 - 其他币种保证金 + (总账户金额-维持保证金) + (权益 - 维持保证金)) / 数量*规格
     *
     * @param memberEntity
     * @param contractHoldOrderEntity
@@ -232,7 +235,7 @@
                }
                BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
                BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
                if (type == 2) {
                    log.info("newPrice : {}", newPrice);
                }
@@ -266,13 +269,14 @@
            BigDecimal ratio = contractHoldOrderEntity.getOpeningPrice().multiply(new BigDecimal("0.005"));
            // 总账户 - 维持保证金
            BigDecimal orderProfitOrLoss = walletContract.getTotalBalance().subtract(holdBond);
            // 权益
            BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss);
            // 权益 - 维持保证金
            BigDecimal qy = walletContract.getTotalBalance().add(totalProfitOrLoss).subtract(holdBond);
//            BigDecimal qy = BigDecimal.ZERO;
            BigDecimal prefix = cost.subtract(ratio);
            BigDecimal prefix = cost.subtract(totalBondAmount);
            BigDecimal divideChild;
            if (ContractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
                divideChild = cost.subtract(orderProfitOrLoss).subtract(qy);
                divideChild = prefix.subtract(orderProfitOrLoss).subtract(qy);
            } else {
                divideChild = prefix.add(orderProfitOrLoss).add(qy);
            }