| | |
| | | import com.yami.trading.huobi.data.internal.TrendTimeObject; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | */ |
| | | private volatile static Map<String, KlineTimeObject> kline = new ConcurrentHashMap<String, KlineTimeObject>(); |
| | | |
| | | |
| | | /** |
| | | * 上一条K线数据 |
| | | */ |
| | | private volatile static Map<String, Kline> lastKline = new ConcurrentHashMap<String, Kline>(); |
| | | /** |
| | | * 24小时的历史记录 |
| | | */ |
| | |
| | | * 最新的实时价格信息缓存 <币种code, RealTime> |
| | | */ |
| | | public static Map<String, Realtime> latestRealTime = new ConcurrentHashMap<>(); |
| | | public static Map<String, BigDecimal> latestOpen = new ConcurrentHashMap<>(); |
| | | //股票时区暂存 |
| | | public static Map<String, StockMarket> realMarketMap = new ConcurrentHashMap<>(); |
| | | public static void depthToTrade(Depth depth) { |
| | |
| | | key = key + "_" + line; |
| | | } |
| | | return kline.get(key); |
| | | } |
| | | |
| | | public static Map<String, Kline> getLastKline() { |
| | | return lastKline; |
| | | } |
| | | |
| | | public static TrendTimeObject getTrend(String symbol) { |
| | |
| | | public static void putLatestRealTime(String symbol, Realtime model) { |
| | | latestRealTime.put(symbol, model); |
| | | } |
| | | |
| | | public static void putLatestOpen(String symbol, BigDecimal open) { |
| | | latestOpen.put(symbol, open); |
| | | } |
| | | |
| | | public static BigDecimal getLatestOpen(String symbol) { |
| | | BigDecimal open = latestOpen.get(symbol); |
| | | if (open == null) { |
| | | if (StringUtils.isAllLowerCase(symbol)) { |
| | | symbol = symbol.toUpperCase(); |
| | | } else if (StringUtils.isAllUpperCase(symbol)) { |
| | | symbol = symbol.toLowerCase(); |
| | | } |
| | | return latestOpen.get(symbol); |
| | | } else { |
| | | return open; |
| | | } |
| | | } |
| | | } |