Helius
2021-02-02 c4aabe264e8f2a6002116a20b3f0b27db99c0afd
src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -80,7 +80,7 @@
    /**
     * 全仓模式 -- 预估强平价
     * 开仓价 - (权益 - 其他币种成本)/当前币种成本 * (开仓价 * 杠杆)
     * 开仓价 - (权益 - 其他币种成本)/当前币种成本 * (开仓价 * 1/杠杆)
     */
    public static BigDecimal getForceSetPriceForWhole(String currentSymbol, @NotNull MemberEntity memberEntity) {
        ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
@@ -166,7 +166,7 @@
        return result;
    }
    private static BigDecimal calProfitOrLoss(ContractHoldOrderEntity holdOrderEntity, MemberEntity memberEntity) {
    public static BigDecimal calProfitOrLoss(ContractHoldOrderEntity holdOrderEntity, MemberEntity memberEntity) {
        CacheSettingUtils cacheSettingUtils = SpringContextHolder.getBean(CacheSettingUtils.class);
        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
        BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(holdOrderEntity.getSymbol());
@@ -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()).multiply(BigDecimal.ONE.divide(new BigDecimal(contractHoldOrder.getLeverRatio()), 2, BigDecimal.ROUND_DOWN));
        return contractHoldOrder.getOpeningPrice().multiply(new BigDecimal(contractHoldOrder.getSymbolCntSale())).multiply(holdBondRatio).multiply(contractHoldOrder.getSymbolSku());
    }
}