| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | |
| | | private static final String STATE_KEY = "state"; |
| | | private static final String FILLFEE_KEY = "fillFee"; |
| | | private static final String POSSIDE_KEY = "posSide"; |
| | | public static TradeRequestParam handleEvent(JSONObject response, RedisUtils redisUtils, String accountName) { |
| | | public static List<TradeRequestParam> handleEvent(JSONObject response, RedisUtils redisUtils, String accountName) { |
| | | |
| | | log.info("开始执行OrderInfoWs......"); |
| | | try { |
| | |
| | | |
| | | log.info("{}: 订单详情已完成: {}, 自定义编号: {}", accountName, CoinEnums.HE_YUE.getCode(), clOrdId); |
| | | |
| | | |
| | | List<TradeRequestParam> tradeRequestParamList = new ArrayList<>(); |
| | | |
| | | TradeRequestParam tradeRequestParam = new TradeRequestParam(); |
| | | tradeRequestParam.setAccountName(accountName); |
| | |
| | | tradeRequestParam.setSide(CoinEnums.POSSIDE_LONG.getCode().equals(posSide) ? CoinEnums.SIDE_SELL.getCode() : CoinEnums.SIDE_BUY.getCode()); |
| | | tradeRequestParam.setClOrdId(WsParamBuild.getOrderNum(side)); |
| | | tradeRequestParam.setSz(accFillSz); |
| | | return tradeRequestParam; |
| | | tradeRequestParamList.add(tradeRequestParam); |
| | | |
| | | // 1. 判断当前价格属于哪个网格去限价止损 |
| | | WangGeListEnum gridByPriceNew = WangGeListEnum.getGridByPrice(new BigDecimal(avgPx)); |
| | | if (gridByPriceNew != null) { |
| | | TradeRequestParam tradeRequestParamZhiSun = new TradeRequestParam(); |
| | | tradeRequestParamZhiSun.setAccountName(accountName); |
| | | tradeRequestParamZhiSun.setMarkPx(String.valueOf(gridByPriceNew.getZhi_sun_dian())); |
| | | tradeRequestParamZhiSun.setInstId(CoinEnums.HE_YUE.getCode()); |
| | | tradeRequestParamZhiSun.setTdMode(CoinEnums.CROSS.getCode()); |
| | | tradeRequestParamZhiSun.setPosSide(posSide); |
| | | tradeRequestParamZhiSun.setOrdType(CoinEnums.ORDTYPE_LIMIT.getCode()); |
| | | tradeRequestParamZhiSun.setTradeType(OrderParamEnums.TRADE_YES.getValue()); |
| | | tradeRequestParamZhiSun.setSide(CoinEnums.POSSIDE_LONG.getCode().equals(posSide) ? CoinEnums.SIDE_SELL.getCode() : CoinEnums.SIDE_BUY.getCode()); |
| | | tradeRequestParamZhiSun.setClOrdId(WsParamBuild.getOrderNum(side)); |
| | | tradeRequestParamZhiSun.setSz(accFillSz); |
| | | tradeRequestParamList.add(tradeRequestParamZhiSun); |
| | | } |
| | | return tradeRequestParamList; |
| | | |
| | | } |
| | | return null; |