| | |
| | | * 全仓模式 -- 预估强平价
|
| | | * 开仓价 - (权益 - 其他币种成本)/当前币种成本 * (开仓价 * 杠杆)
|
| | | */
|
| | | public static void getForceSetPriceForWhole(@NotNull String aa, @NotNull MemberEntity memberEntity) {
|
| | | public static BigDecimal getForceSetPriceForWhole(@NotNull String currentSymbol, @NotNull MemberEntity memberEntity) {
|
| | | ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
|
| | | MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class);
|
| | |
|
| | |
| | | MemberWalletContractEntity walletContract = walletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
|
| | | List<ContractHoldOrderEntity> holdOrderEntities = holdOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberId, null);
|
| | | List<String> symbols = holdOrderDao.selectWholeHoldOrderSymbolsByMemberId(memberId);
|
| | | |
| | | BigDecimal result = BigDecimal.ZERO;
|
| | | if (CollUtil.isNotEmpty(holdOrderEntities)) {
|
| | |
|
| | | for (String symbol : symbols) {
|
| | |
| | | BigDecimal forcePrice = openPrice.subtract(divide.multiply(divide2));
|
| | | log.info("forcePrice -- {}", forcePrice);
|
| | | holdOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberId, symbol);
|
| | |
|
| | | if (currentSymbol.equalsIgnoreCase(symbol)) {
|
| | | result = forcePrice;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | return result;
|
| | | }
|
| | |
|
| | | private static BigDecimal calProfitOrLoss(ContractHoldOrderEntity holdOrderEntity, MemberEntity memberEntity) {
|