From b441177b45a2dcef05bbc01e8cab229d11372fa7 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 26 Aug 2020 11:11:52 +0800
Subject: [PATCH] modify entrust close queue
---
src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
index 12cb840..1aab16d 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
@@ -55,8 +55,6 @@
DescBigDecimal b = queue.peek();
// 当前价格
DescBigDecimal now = new DescBigDecimal(price);
- log.info("--->{}", JSONObject.toJSONString(b));
- log.info("--->{}", JSONObject.toJSONString(now));
List<DescBigDecimal> list = new ArrayList<DescBigDecimal>();
// 找到比当前价格还大的就是需要操作的 开多止损
// 即最大的币当前价大 那么需要开多止损
@@ -88,12 +86,14 @@
for (AscBigDecimal asc : list) {
String key = asc.getValue().toPlainString();
assert orderMap != null;
+ log.info("----->->{}, --> {}", JSONObject.toJSONString(orderMap), key);
if (orderMap.containsKey(key)) {
orderModelList.addAll(orderMap.get(key));
orderMap.remove(key);
}
}
+ log.info("------>{}", JSONObject.toJSONString(orderModelList));
if (CollectionUtils.isEmpty(orderModelList)) {
return;
}
@@ -111,9 +111,14 @@
List<OrderModel> bcList = new ArrayList<OrderModel>();
// 开空
List<OrderModel> wtkkList = new ArrayList<OrderModel>();
+ // 委托平多
+ List<OrderModel> wtpdList = new ArrayList<>();
switch (model.getType()) {
case 3:
wtkkList.add(model);
+ break;
+ case 4:
+ wtpdList.add(model);
break;
case 7:
bcList.add(model);
@@ -144,6 +149,9 @@
if (CollectionUtils.isNotEmpty(wtkkList)) {
orderProducer.sendLimit(JSONObject.toJSONString(wtkkList));
}
+ if (CollectionUtils.isNotEmpty(wtpdList)) {
+ orderProducer.sendLimitClose(JSONObject.toJSONString(wtpdList));
+ }
}
}
}
@@ -159,6 +167,7 @@
for (DescBigDecimal desc : list) {
String key = desc.getValue().toPlainString();
assert orderMap != null;
+ log.info("----->->{}, --> {}", JSONObject.toJSONString(orderMap), key);
if (orderMap.containsKey(key)) {
orderModelList.addAll(orderMap.get(key));
orderMap.remove(key);
@@ -183,9 +192,14 @@
List<OrderModel> bcList = new ArrayList<OrderModel>();
// 开多委托
List<OrderModel> wtkdList = new ArrayList<OrderModel>();
+ // 委托平空
+ List<OrderModel> wtpkList = new ArrayList<>();
switch (model.getType()) {
case 2:
wtkdList.add(model);
+ break;
+ case 5:
+ wtpkList.add(model);
break;
case 6:
bcList.add(model);
@@ -214,7 +228,9 @@
}
if (CollectionUtils.isNotEmpty(wtkdList)) {
orderProducer.sendLimit(JSONObject.toJSONString(wtkdList));
-
+ }
+ if (CollectionUtils.isNotEmpty(wtpkList)) {
+ orderProducer.sendLimitClose(JSONObject.toJSONString(wtpkList));
}
}
}
--
Gitblit v1.9.1