From c8bbb87364e02f3ffe538173f98b2a2192e9f974 Mon Sep 17 00:00:00 2001 From: zainali5120 <512061637@qq.com> Date: Thu, 12 Nov 2020 19:58:39 +0800 Subject: [PATCH] 同步ROC代码 --- src/main/java/com/xcong/excoin/trade/TradePlate.java | 2 +- src/main/java/com/xcong/excoin/trade/CoinTrader.java | 37 +++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/xcong/excoin/trade/CoinTrader.java b/src/main/java/com/xcong/excoin/trade/CoinTrader.java index 8ab6f28..20300e2 100644 --- a/src/main/java/com/xcong/excoin/trade/CoinTrader.java +++ b/src/main/java/com/xcong/excoin/trade/CoinTrader.java @@ -376,7 +376,7 @@ BigDecimal leftTurnover = order.getEntrustAmount().subtract(order.getDealAmount()); if(leftTurnover.divide(dealPrice,coinScale,BigDecimal.ROUND_DOWN) .compareTo(BigDecimal.ZERO)==0){ - //order.setDealAmount(order.getEntrustAmount()); + order.setDealAmount(order.getEntrustAmount()); return leftTurnover; } } @@ -425,20 +425,6 @@ // 用户单成交金额 focusedOrder.setDealAmount(focusedOrder.getDealAmount().add(turnover)); - // 判断两个单是否完成 - if(matchOrder.getEntrustAmount()!=null &&matchOrder.getEntrustAmount().compareTo(BigDecimal.ZERO)>0 && matchOrder.getEntrustAmount().compareTo(matchOrder.getDealAmount())<=0){ - matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); - } - if(matchOrder.getEntrustCnt()!=null &&matchOrder.getEntrustCnt().compareTo(BigDecimal.ZERO)>0 && matchOrder.getEntrustCnt().compareTo(matchOrder.getDealCnt())<=0){ - matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); - } - - if(focusedOrder.getEntrustAmount()!=null && focusedOrder.getEntrustAmount().compareTo(BigDecimal.ZERO)>0 && focusedOrder.getEntrustAmount().compareTo(focusedOrder.getDealAmount())<=0){ - focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); - } - if(focusedOrder.getEntrustCnt()!=null &&focusedOrder.getEntrustCnt().compareTo(BigDecimal.ZERO)>0 && focusedOrder.getEntrustCnt().compareTo(focusedOrder.getDealCnt())<=0){ - focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); - } //创建成交记录 ExchangeTrade exchangeTrade = new ExchangeTrade(); @@ -454,10 +440,25 @@ //校正市价单剩余成交额 if (OrderCoinsEntity.TRADETYPE_MARKETPRICE == focusedOrder.getTradeType() && focusedOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { BigDecimal adjustTurnover = adjustMarketOrderTurnover(focusedOrder, dealPrice); - exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); - } else if (OrderCoinsEntity.TRADETYPE_MARKETPRICE == matchOrder.getTradeType() && matchOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { + //exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); + } + if (OrderCoinsEntity.TRADETYPE_MARKETPRICE == matchOrder.getTradeType() && matchOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { BigDecimal adjustTurnover = adjustMarketOrderTurnover(matchOrder, dealPrice); - exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); + //exchangeTrade.setBuyTurnover(turnover.add(adjustTurnover)); + } + // 判断两个单是否完成 + if(matchOrder.getEntrustAmount()!=null &&matchOrder.getEntrustAmount().compareTo(BigDecimal.ZERO)>0 && matchOrder.getEntrustAmount().compareTo(matchOrder.getDealAmount())<=0){ + matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); + } + if(matchOrder.getEntrustCnt()!=null &&matchOrder.getEntrustCnt().compareTo(BigDecimal.ZERO)>0 && matchOrder.getEntrustCnt().compareTo(matchOrder.getDealCnt())<=0){ + matchOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); + } + + if(focusedOrder.getEntrustAmount()!=null && focusedOrder.getEntrustAmount().compareTo(BigDecimal.ZERO)>0 && focusedOrder.getEntrustAmount().compareTo(focusedOrder.getDealAmount())<=0){ + focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); + } + if(focusedOrder.getEntrustCnt()!=null &&focusedOrder.getEntrustCnt().compareTo(BigDecimal.ZERO)>0 && focusedOrder.getEntrustCnt().compareTo(focusedOrder.getDealCnt())<=0){ + focusedOrder.setOrderStatus(OrderCoinsEntity.ORDERSTATUS_DONE); } if (focusedOrder.getOrderType() == OrderCoinsEntity.ORDERTYPE_BUY) { diff --git a/src/main/java/com/xcong/excoin/trade/TradePlate.java b/src/main/java/com/xcong/excoin/trade/TradePlate.java index fe24e0b..31d82df 100644 --- a/src/main/java/com/xcong/excoin/trade/TradePlate.java +++ b/src/main/java/com/xcong/excoin/trade/TradePlate.java @@ -17,7 +17,7 @@ public class TradePlate { private LinkedList<TradePlateItem> items; //最大深度 - private int maxDepth = 100; + private int maxDepth = 200; //方向 订单类型 1、买入2、卖出 private int direction; private String symbol; -- Gitblit v1.9.1