1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
| package com.xcong.excoin.modules.okxNewPrice.okxWs.wanggeList;
|
| import lombok.Getter;
|
| import java.math.BigDecimal;
|
| /**
| * @author Administrator
| * 网格数据枚举 数据
| * todo 后期考虑优化为可配置项
| */
| @Getter
| public enum WangGeListEnum {
| // UP_ONE("上层做空", "2", "3500", "3300", "4", "long", "3280"),
| // UP("上层做空", "2", "3300", "3000", "4", "short", "3320"),
| // CENTER("中间做空", "2", "3000", "2700", "4", "long", "2680"),
| // DOWN("下层做空", "2", "2700", "2200", "4", "short", "2720"),
| // DOWN_ONE("下层做多", "2", "2200", "1800", "4", "long", "1780");
| UP_ONE("上层做long", "2", "3450", "3400", "4", "long", "3380"),
| UP("上层做short", "2", "3400", "3350", "4", "short", "3420"),
| CENTER("中间做long", "2", "3350", "3300", "4", "long", "3280"),
| DOWN("下层做空", "2", "3300", "3250", "4", "short", "3320"),
| DOWN_ONE("下层做多", "2", "3250", "3200", "4", "long", "3180");
|
| 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;
| }
|
| }
|
|