| | |
| | | public static void orderEvent(WebSocketClient webSocketClient, RedisUtils redisUtils, String side) { |
| | | |
| | | log.info("开始执行TradeOrderWs......"); |
| | | if (StrUtil.isBlank( side)){ |
| | | log.warn("止损了,下次再战..."); |
| | | return; |
| | | } |
| | | String live = (String) redisUtils.get(ORDERWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state"); |
| | | if (!CoinEnums.ORDER_LIVE.getCode().equals( live)){ |
| | | log.warn("正在下单中,等待下单结束..."); |
| | | } |
| | | |
| | | String buyCnt = null; |
| | | String ctval = getRedisValue(redisUtils, InstrumentsWs.INSTRUMENTSWS_CHANNEL, ":ctVal"); |
| | | String buyCntNormal = getRedisValue(redisUtils, PositionsWs.POSITIONSWS_CHANNEL, ":buyCnt"); |
| | | String pos = getRedisValue(redisUtils, PositionsWs.POSITIONSWS_CHANNEL, ":pos"); |
| | | if (OrderParamEnums.ORDERING.getValue().equals(side)) { |
| | | log.warn("正在下单中,等待下单结束..."); |
| | | return; |
| | | } else if (OrderParamEnums.HOLDING.getValue().equals(side)) { |
| | | return; |
| | | } else if (OrderParamEnums.INIT.getValue().equals(side)) { |
| | | side = OrderParamEnums.BUY.getValue(); |
| | | if (StrUtil.isNotBlank(buyCntNormal) && BigDecimal.ZERO.compareTo(new BigDecimal(buyCntNormal)) > 0) { |
| | | if (StrUtil.isNotBlank(buyCntNormal) && new BigDecimal(buyCntNormal).compareTo(BigDecimal.ZERO) > 0) { |
| | | buyCnt = buyCntNormal; |
| | | }else{ |
| | | buyCnt = ctval; |
| | |
| | | buyCnt = pos; |
| | | } else if (OrderParamEnums.BUY.getValue().equals(side)){ |
| | | side = OrderParamEnums.BUY.getValue(); |
| | | if (StrUtil.isNotBlank(buyCntNormal) && BigDecimal.ZERO.compareTo(new BigDecimal(buyCntNormal)) > 0) { |
| | | if (StrUtil.isNotBlank(buyCntNormal) && new BigDecimal(buyCntNormal).compareTo(BigDecimal.ZERO) > 0) { |
| | | buyCnt = buyCntNormal; |
| | | }else{ |
| | | buyCnt = ctval; |