| | |
| | | private NamedParameterJdbcOperations namedParameterJdbcTemplate; |
| | | |
| | | @Override |
| | | public void initBySql(String symbol) { |
| | | this.bulidBySql(symbol, Kline.PERIOD_1MIN); |
| | | this.bulidBySql(symbol, Kline.PERIOD_5MIN); |
| | | this.bulidBySql(symbol, Kline.PERIOD_15MIN); |
| | | this.bulidBySql(symbol, Kline.PERIOD_30MIN); |
| | | this.bulidBySql(symbol, Kline.PERIOD_60MIN); |
| | | this.bulidBySql(symbol, Kline.PERIOD_4HOUR); |
| | | this.bulidBySql(symbol, Kline.PERIOD_1DAY); |
| | | this.bulidBySql(symbol, Kline.PERIOD_1MON); |
| | | this.bulidBySql(symbol, Kline.PERIOD_1WEEK); |
| | | } |
| | | |
| | | @Override |
| | | public void init(String symbol) { |
| | | this.bulid(symbol, Kline.PERIOD_1MIN); |
| | | this.bulid(symbol, Kline.PERIOD_5MIN); |
| | |
| | | this.bulidInit(symbol, Kline.PERIOD_1DAY); |
| | | this.bulidInit(symbol, Kline.PERIOD_1MON); |
| | | this.bulidInit(symbol, Kline.PERIOD_1WEEK); |
| | | |
| | | } |
| | | |
| | | public void bulidBySql(String symbol, String line) { |
| | | RequestDataHelper.set("symbol", symbol); |
| | | LambdaQueryWrapper<Kline> queryWrapper = new LambdaQueryWrapper<Kline>() |
| | | .eq(Kline::getSymbol, symbol) |
| | | .eq(Kline::getPeriod, line) |
| | | .orderByAsc(Kline::getTs); |
| | | List<Kline> list = klineDBService.list(queryWrapper); |
| | | |
| | | KlineTimeObject model = new KlineTimeObject(); |
| | | Collections.sort(list); // 按时间升序 |
| | | model.setKline(list); |
| | | model.setLastTime(new Date()); |
| | | DataCache.putKline(symbol, line, model); |
| | | RequestDataHelper.clear(); |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | if (lastOne != null) { |
| | | kline.setOpen(lastOne.getClose()); |
| | | kline.setHigh(lastOne.getHigh()); |
| | | kline.setLow(lastOne.getLow()); |
| | | kline.setHigh(lastOne.getClose()); |
| | | kline.setLow(lastOne.getClose()); |
| | | |
| | | if (realtime.getClose().compareTo(kline.getHigh()) > 0) { |
| | | kline.setHigh(realtime.getClose()); |
| | | } |
| | | if (realtime.getClose().compareTo(kline.getOpen()) < 0) { |
| | | if (realtime.getClose().compareTo(kline.getLow()) < 0) { |
| | | kline.setLow(realtime.getClose()); |
| | | } |
| | | } |