| | |
| | | private FollowTraderLabelDao followTraderLabelDao; |
| | | @Resource |
| | | private MemberSettingDao memberSettingDao; |
| | | |
| | | // |
| | | // @Test |
| | | // public void traderProfitUpdate() { |
| | | // log.info("交易员定时任务执行"); |
| | |
| | | // List<ContractOrderEntity> orders = contractOrderDao.selectFollowOrderListByMemberId(tradeMemberId); |
| | | // traderInfoProfit.setTotalOrderCnt(CollUtil.isNotEmpty(orders) ? orders.size() : 0); |
| | | // // 近三周胜率 |
| | | // 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); |
| | | // 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); |
| | | // } |
| | | // Date date = new Date(); |
| | | // DateTime offsetDay = DateUtil.offsetDay(new Date(), -30); |
| | | // //30天胜率(30天盈利总单数/30平仓总单数) |
| | |
| | | // BigDecimal thirtyWinCnt = contractOrderDao.selectThirtyWinCntByMemberId(tradeMemberId,date,offsetDay); |
| | | // BigDecimal thirtyTotalCntRatio = (thirtyTotalCnt == null?BigDecimal.ZERO:thirtyTotalCnt.setScale(2, BigDecimal.ROUND_DOWN)); |
| | | // BigDecimal thirtyWinCntRatio = (thirtyWinCnt == null?BigDecimal.ZERO:thirtyWinCnt.setScale(2, BigDecimal.ROUND_DOWN)); |
| | | // BigDecimal thirtyProfitRatio = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_DOWN); |
| | | // BigDecimal thirtyProfitRatio = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_DOWN);; |
| | | // if(thirtyTotalCnt.compareTo(BigDecimal.ZERO) > 0) { |
| | | // thirtyProfitRatio = thirtyWinCntRatio.divide(thirtyTotalCntRatio, 2, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN); |
| | | // } |