| | |
| | | List<ContractOrderEntity> orders = contractOrderDao.selectFollowOrderListByMemberId(tradeMemberId); |
| | | traderInfoProfit.setTotalOrderCnt(CollUtil.isNotEmpty(orders) ? orders.size() : 0); |
| | | // 近三周胜率 |
| | | Integer winCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, 1); |
| | | Integer allCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, null); |
| | | |
| | | if (winCnt != null && allCnt != null && allCnt!=0) { |
| | | BigDecimal winRate = BigDecimal.valueOf(winCnt).divide(BigDecimal.valueOf(allCnt), 4, BigDecimal.ROUND_DOWN); |
| | | traderInfoProfit.setWinRate(winRate); |
| | | BigDecimal winCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, 1); |
| | | winCnt = (winCnt == null?BigDecimal.ZERO:winCnt.setScale(2, BigDecimal.ROUND_DOWN)); |
| | | BigDecimal allCnt = contractOrderDao.selectFollowOrderCntForWinRate(tradeMemberId, null); |
| | | allCnt = (allCnt == null?BigDecimal.ZERO:allCnt.setScale(2, BigDecimal.ROUND_DOWN)); |
| | | BigDecimal winRate = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_DOWN); |
| | | if (allCnt.compareTo(BigDecimal.ZERO) > 0) { |
| | | winRate = winCnt.divide(allCnt, 2, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN); |
| | | } |
| | | traderInfoProfit.setWinRate(winRate); |
| | | Date date = new Date(); |
| | | DateTime offsetDay = DateUtil.offsetDay(new Date(), -30); |
| | | //30天胜率(30天盈利总单数/30平仓总单数) |