src/main/java/com/xcong/excoin/utils/CalculateUtil.java | ●●●●● patch | view | raw | blame | history | |
src/test/java/com/xcong/excoin/WholeTest.java | ●●●●● patch | view | raw | blame | history |
src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -230,25 +230,7 @@ totalBondAmount = totalBondAmount.add(holdOrderEntity.getBondAmount()); } // 盈亏 BigDecimal rewardRatio = BigDecimal.ZERO; // 开多 if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) { // (最新价-开仓价)*规格*张数 rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(contractHoldOrderEntity.getSymbolSku()).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale())); // 开空 } else { // (开仓价-最新价)*规格*张数 rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(contractHoldOrderEntity.getSymbolSku()).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale())); } if (memberEntity.getIsProfit() == MemberEntity.IS_PROFIT_Y) { PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting(); if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) { rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam())); } } totalProfitOrLoss = totalProfitOrLoss.add(rewardRatio); totalProfitOrLoss = totalProfitOrLoss.add(calProfitOrLoss(holdOrderEntity, memberEntity)); } // 维持保证金 src/test/java/com/xcong/excoin/WholeTest.java
@@ -17,6 +17,7 @@ import com.xcong.excoin.rabbit.pricequeue.WebsocketPriceService; import com.xcong.excoin.rabbit.producer.OrderProducer; import com.xcong.excoin.utils.CalculateUtil; import com.xcong.excoin.utils.CoinTypeConvert; import com.xcong.excoin.utils.RedisUtils; import com.xcong.excoin.utils.ThreadPoolUtils; import lombok.SneakyThrows; @@ -200,10 +201,12 @@ @Test public void wholeForceNewTest() { MemberEntity memberEntity = memberDao.selectById(15L); ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(724L); BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey("BTC/USDT"))); System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 1, BigDecimal.ZERO)); MemberEntity memberEntity = memberDao.selectById(22L); ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(743L); System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 1, newPrice)); } @Test