package com.yami.trading.huobi.constants;
|
|
import cn.hutool.core.util.StrUtil;
|
|
public enum KlinePeriodEnum {
|
|
PERIOD_1MIN("1min", 60L, 2880, 300),
|
|
PERIOD_5MIN("5min", 300L, 1152, 200),
|
|
PERIOD_15MIN("15min", 900L, 576, 200),
|
|
PERIOD_30MIN("30min", 1800L, 576, 200),
|
|
PERIOD_60MIN("60min", 3600L, 576, 200),
|
|
PERIOD_2HOUR("120min", 7200L, 576, 100),
|
|
PERIOD_4HOUR("4hour", 14400L, 576, 100),
|
|
PERIOD_1DAY("1day", 24L * 3600L, 500, 100),
|
|
PERIOD_5DAY("5day", 5L * 24L * 3600L, 500, 100),
|
|
PERIOD_1MON("1mon", 30L * 24L * 3600L, 500, 50),
|
|
PERIOD_1WEEK("1week", 7L * 24L * 3600L, 500, 50),
|
|
PERIOD_QUARTER("quarter", 3L * 30L * 24L * 3600L, 100, 50),
|
|
PERIOD_YEAR("year", 365L * 24L * 3600L, 50, 30),
|
|
;
|
|
private String line;
|
|
private long seconds;
|
|
// 缓存中保持最近的记录数量,超过的旧记录可以删除
|
private int maxSize;
|
|
// 列表中最多展示出来的记录数量
|
private int showSize;
|
|
private KlinePeriodEnum(String line, long seconds, int maxSize, int showSize) {
|
this.line = line;
|
this.seconds = seconds;
|
this.maxSize = maxSize;
|
this.showSize = showSize;
|
}
|
|
public static KlinePeriodEnum lineOf(String line) {
|
if (StrUtil.isBlank(line)) {
|
return null;
|
}
|
|
KlinePeriodEnum[] values = KlinePeriodEnum.values();
|
for (KlinePeriodEnum oneValue : values) {
|
if (oneValue.getLine().equalsIgnoreCase(line)) {
|
return oneValue;
|
}
|
}
|
|
return null;
|
}
|
|
public String getLine() {
|
return line;
|
}
|
|
public long getSeconds() {
|
return seconds;
|
}
|
|
public int getMaxSize() {
|
return maxSize;
|
}
|
|
public int getShowSize() {
|
return showSize;
|
}
|
}
|