| | |
| | | } |
| | | String state = detail.getString("state"); |
| | | String accFillSz = detail.getString("accFillSz"); |
| | | String fillPnl = detail.getString("fillPnl"); |
| | | String pnl = detail.getString("pnl"); |
| | | String posSide = detail.getString("posSide"); |
| | | String avgPx = detail.getString("avgPx"); |
| | | String clOrdId = detail.getString("clOrdId"); |
| | | |
| | | log.info("[{}] 订单, 方向:{}, 状态:{}, 成交量:{}, 均价:{}, 盈亏:{}, 编号:{}", |
| | | CHANNEL_NAME, posSide, state, accFillSz, avgPx, fillPnl, clOrdId); |
| | | CHANNEL_NAME, posSide, state, accFillSz, avgPx, pnl, clOrdId); |
| | | |
| | | if ("filled".equals(state) && accFillSz != null && new BigDecimal(accFillSz).compareTo(BigDecimal.ZERO) > 0) { |
| | | if (gridTradeService != null) { |
| | | BigDecimal pnl = fillPnl != null ? new BigDecimal(fillPnl) : BigDecimal.ZERO; |
| | | gridTradeService.onOrderFilled(posSide, new BigDecimal(accFillSz), pnl); |
| | | BigDecimal pnlVal = pnl != null ? new BigDecimal(pnl) : BigDecimal.ZERO; |
| | | gridTradeService.onOrderFilled(posSide, new BigDecimal(accFillSz), pnlVal); |
| | | } |
| | | } |
| | | } |