From 269e8765fabd893d47a1ce276304256650c8e99e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Dec 2025 18:08:03 +0800
Subject: [PATCH] fix(okxWs): 调整账户持仓为空时的处理逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListEnum.java | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListEnum.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListEnum.java
new file mode 100644
index 0000000..87bb55b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListEnum.java
@@ -0,0 +1,70 @@
+package com.xcong.excoin.modules.okxNewPrice.okxWs.wanggeList;
+
+import lombok.Getter;
+
+import java.math.BigDecimal;
+
+/**
+ * @author Administrator
+ * 网格数据枚举 数据
+ * todo 后期考虑优化为可配置项
+ */
+@Getter
+public enum WangGeListEnum {
+ UP("上层做空", "2", "2950", "2940", "2", "short", "2950"),
+ CENTER("中间指定一个方向", "2", "2940", "2930", "2", "long", "2930"),
+ DOWN("下层做多", "2", "2930", "2920", "2", "long", "2920"),
+ DOWN_ONE("下层做空", "2", "2920", "2910", "2", "short", "2920");
+
+ private String name;
+ private String xiaoshu_weishu;
+ private String jiage_shangxian;
+ private String jiage_xiaxian;
+ private String jian_ju;
+ private String fang_xiang;
+ private String zhi_sun_dian;
+
+ WangGeListEnum(String name, String xiaoshu_weishu, String jiage_shangxian, String jiage_xiaxian, String jian_ju, String fang_xiang, String zhi_sun_dian) {
+ this.name = name;
+ this.xiaoshu_weishu = xiaoshu_weishu;
+ this.jiage_shangxian = jiage_shangxian;
+ this.jiage_xiaxian = jiage_xiaxian;
+ this.jian_ju = jian_ju;
+ this.fang_xiang = fang_xiang;
+ this.zhi_sun_dian = zhi_sun_dian;
+ }
+
+ /**
+ * 根据价格获取匹配的网格信息
+ * @param price 待比较的价格
+ * @return 匹配的网格枚举信息,如果没有匹配项则返回null
+ */
+ public static WangGeListEnum getGridByPrice(BigDecimal price) {
+ for (WangGeListEnum grid : WangGeListEnum.values()) {
+ BigDecimal upperLimit = new BigDecimal(grid.jiage_shangxian);
+ BigDecimal lowerLimit = new BigDecimal(grid.jiage_xiaxian);
+
+ // 确保上限大于下限
+ if (upperLimit.compareTo(lowerLimit) > 0) {
+ // 检查价格是否在区间内
+ if (price.compareTo(lowerLimit) > 0 && price.compareTo(upperLimit) <= 0) {
+ return grid;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 根据枚举名称获取枚举
+ */
+ public static WangGeListEnum getByName(String name) {
+ for (WangGeListEnum grid : WangGeListEnum.values()) {
+ if (grid.name.equals(name)) {
+ return grid;
+ }
+ }
+ return null;
+ }
+
+}
--
Gitblit v1.9.1