| | |
| | | import com.xcong.excoin.modules.blackchain.service.DateUtil; |
| | | import com.xcong.excoin.modules.okxNewPrice.celue.CaoZuoService; |
| | | import com.xcong.excoin.modules.okxNewPrice.indicator.TradingStrategy; |
| | | import com.xcong.excoin.modules.okxNewPrice.indicator.macdAndMatrategy.MacdEmaStrategy; |
| | | import com.xcong.excoin.modules.okxNewPrice.indicator.macdAndMatrategy.MacdMaStrategy; |
| | | import com.xcong.excoin.modules.okxNewPrice.okxWs.*; |
| | | import com.xcong.excoin.modules.okxNewPrice.okxWs.enums.CoinEnums; |
| | |
| | | log.info("{}开仓{}:{}",time,closePx,instId); |
| | | //调用策略 |
| | | // 创建策略实例 |
| | | MacdMaStrategy strategy = new MacdMaStrategy(); |
| | | // MacdMaStrategy strategy = new MacdMaStrategy(); |
| | | MacdEmaStrategy strategy = new MacdEmaStrategy(); |
| | | |
| | | // 生成200个1m价格数据点 |
| | | List<Kline> kline1MinuteData = getKlineDataByInstIdAndBar(instId, "1m"); |
| | |
| | | .map(Kline::getC) |
| | | .collect(Collectors.toList()); |
| | | |
| | | log.info("1m:{}", JSONUtil.parse( historicalPrices1M)); |
| | | |
| | | // 生成200个1D价格数据点 |
| | | List<Kline> kline1DayData = getKlineDataByInstIdAndBar(instId, "1D"); |
| | | List<BigDecimal> historicalPrices1D = kline1DayData.stream() |
| | | .map(Kline::getC) |
| | | .collect(Collectors.toList()); |
| | | log.info("1D:{}", JSONUtil.parse( historicalPrices1D)); |
| | | // List<Kline> kline1DayData = getKlineDataByInstIdAndBar(instId, "1D"); |
| | | // List<BigDecimal> historicalPrices1D = kline1DayData.stream() |
| | | // .map(Kline::getC) |
| | | // .collect(Collectors.toList()); |
| | | // log.info("1D:{}", JSONUtil.parse( historicalPrices1D)); |
| | | // 使用策略分析最新价格数据 |
| | | MacdMaStrategy.TradingOrder tradingOrderOpenOpen = strategy.generateTradingOrder(historicalPrices1M,historicalPrices1D,MacdMaStrategy.OperationType.open.name()); |
| | | // MacdMaStrategy.TradingOrder tradingOrderOpenOpen = strategy.generateTradingOrder(historicalPrices1M,historicalPrices1D,MacdMaStrategy.OperationType.open.name()); |
| | | MacdEmaStrategy.TradingOrder tradingOrderOpenOpen = strategy.generateTradingOrder(historicalPrices1M, MacdMaStrategy.OperationType.open.name()); |
| | | if (tradingOrderOpenOpen == null){ |
| | | return; |
| | | } |
| | |
| | | .map(Kline::getC) |
| | | .collect(Collectors.toList()); |
| | | |
| | | log.info("1m:{}", JSONUtil.parse( historicalPrices1M)); |
| | | |
| | | // 生成200个1D价格数据点 |
| | | List<Kline> kline1DayData = getKlineDataByInstIdAndBar(instId, "1D"); |
| | | List<BigDecimal> historicalPrices1D = kline1DayData.stream() |
| | | .map(Kline::getC) |
| | | .collect(Collectors.toList()); |
| | | log.info("1D:{}", JSONUtil.parse( historicalPrices1D)); |
| | | // 使用策略分析最新价格数据 |
| | | MacdMaStrategy.TradingOrder tradingOrderOpenClose = strategy.generateTradingOrder(historicalPrices1M,historicalPrices1D,MacdMaStrategy.OperationType.close.name()); |
| | | if (tradingOrderOpenClose == null){ |