| | |
| | | holdOrderListVo.setReturnRate(returnRate); |
| | | holdOrderListVo.setProfitOrLoss(rewardRatio); |
| | | long start = System.currentTimeMillis(); |
| | | log.info("开始时间 -- {}", start); |
| | | // log.info("开始时间 -- {}", start); |
| | | BigDecimal forcePrice = CalculateUtil.getForceSetPriceForWhole(symbol, memberEntity); |
| | | long end = System.currentTimeMillis(); |
| | | log.info("结束时间 -- {}", end); |
| | | log.info("时间差 -- {}", end - start); |
| | | // log.info("结束时间 -- {}", end); |
| | | // log.info("时间差 -- {}", end - start); |
| | | holdOrderListVo.setForceClosingPrice(forcePrice); |
| | | resultList.add(holdOrderListVo); |
| | | totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio); |
| | |
| | | profitOrLoss = profitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity));
|
| | | }
|
| | |
|
| | | log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolBondAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio);
|
| | | // log.info("{}, {}, {}, {}, {}, {}", totalBondAmount, symbolBondAmount, symbolFeeAmount, openPrice, profitOrLoss, leverRatio);
|
| | | BigDecimal sub = walletContract.getTotalBalance().add(profitOrLoss).subtract(symbolFeeAmount).subtract(totalBondAmount);
|
| | | log.info("sub -- {}", sub);
|
| | | // log.info("sub -- {}", sub);
|
| | | BigDecimal divide = sub.divide(symbolBondAmount, 8, BigDecimal.ROUND_DOWN);
|
| | | log.info("divide -- {}", divide);
|
| | | // log.info("divide -- {}", divide);
|
| | | BigDecimal divide2 = openPrice.divide(BigDecimal.valueOf(leverRatio), 8, BigDecimal.ROUND_DOWN);
|
| | | log.info("divide2 -- {}", divide2);
|
| | | // log.info("divide2 -- {}", divide2);
|
| | |
|
| | | BigDecimal forcePrice = openPrice.subtract(divide.multiply(divide2));
|
| | | log.info("forcePrice -- {}", forcePrice);
|
| | | // log.info("forcePrice -- {}", forcePrice);
|
| | | if (StrUtil.isBlank(currentSymbol)) {
|
| | | holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol);
|
| | | }
|