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", "3500"), // UP("上层做空", "2", "3300", "3000", "4", "short", "3300"), // CENTER("中间做空", "2", "3000", "2700", "4", "short", "3000"), // DOWN("下层做空", "2", "2700", "2200", "4", "short", "2700"), // DOWN_ONE("下层做多", "2", "2200", "1800", "4", "long", "1800"); 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; } }