From 0d73531bb19dbd71406091efb47ff19c8dc9eed9 Mon Sep 17 00:00:00 2001 From: N1KO Date: Wed, 17 Dec 2025 19:50:08 +0800 Subject: [PATCH] opt --- .cursor/commands/aipexbase-mcp-server.md | 0 .../AppleInventoryScheduleHandler.java | 24 +- .../main/resources/templates/json-parse.html | 78 ++++- baogutang-strategy/pom.xml | 84 +++++ .../baogutang/strategy/AppApplication.java | 131 ++++++++ .../strategy/alerts/AlertChannel.java | 11 + .../alerts/CompositeAlertChannel.java | 23 ++ .../strategy/alerts/ConsoleAlertChannel.java | 26 ++ .../strategy/alerts/DingTalkRobotChannel.java | 89 +++++ .../strategy/backtests/BacktestEngine.java | 70 ++++ .../strategy/backtests/BacktestResult.java | 52 +++ .../strategy/backtests/CsvLoader.java | 25 ++ .../strategy/backtests/EquityCurvePoint.java | 21 ++ .../commons/configs/AppProperties.java | 314 ++++++++++++++++++ .../strategy/commons/enums/Timeframe.java | 16 + .../strategy/infra/OkxPublicClient.java | 70 ++++ .../strategy/infra/OkxWebSocketClient.java | 167 ++++++++++ .../listeners/KlineMultiListener.java | 64 ++++ .../top/baogutang/strategy/models/Kline.java | 57 ++++ .../strategy/models/MarketDataCache.java | 43 +++ .../models/MultiSymbolMarketDataHub.java | 33 ++ .../strategy/models/PortfolioRiskManager.java | 34 ++ .../strategy/models/PositionPlan.java | 31 ++ .../strategy/models/RiskManager.java | 29 ++ .../top/baogutang/strategy/models/Signal.java | 68 ++++ .../strategy/models/StrategyContext.java | 47 +++ .../runners/BacktestCommandLineRunner.java | 51 +++ .../strategy/services/IndicatorService.java | 48 +++ .../strategies/MultiSymbolStrategyEngine.java | 74 +++++ .../strategy/strategies/Strategy.java | 13 + .../StrategyBreakdownRetestShort.java | 64 ++++ .../StrategyBreakoutRetestLong.java | 76 +++++ .../strategy/strategies/StrategyFactory.java | 31 ++ .../strategies/StrategyLowReboundLong.java | 60 ++++ .../strategies/StrategyMeanRevertShort.java | 56 ++++ .../baogutang/strategy/utils/SignUtil.java | 22 ++ .../src/main/resources/application.yml | 98 ++++++ pom.xml | 1 + 38 files changed, 2197 insertions(+), 4 deletions(-) create mode 100644 .cursor/commands/aipexbase-mcp-server.md create mode 100644 baogutang-strategy/pom.xml create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/AppApplication.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/alerts/AlertChannel.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/alerts/CompositeAlertChannel.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/alerts/ConsoleAlertChannel.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/alerts/DingTalkRobotChannel.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/backtests/BacktestEngine.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/backtests/BacktestResult.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/backtests/CsvLoader.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/backtests/EquityCurvePoint.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/commons/configs/AppProperties.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/commons/enums/Timeframe.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/infra/OkxPublicClient.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/infra/OkxWebSocketClient.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/listeners/KlineMultiListener.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/Kline.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/MarketDataCache.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/MultiSymbolMarketDataHub.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/PortfolioRiskManager.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/PositionPlan.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/RiskManager.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/Signal.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/models/StrategyContext.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/runners/BacktestCommandLineRunner.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/services/IndicatorService.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/MultiSymbolStrategyEngine.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/Strategy.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/StrategyBreakdownRetestShort.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/StrategyBreakoutRetestLong.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/StrategyFactory.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/StrategyLowReboundLong.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/strategies/StrategyMeanRevertShort.java create mode 100644 baogutang-strategy/src/main/java/top/baogutang/strategy/utils/SignUtil.java create mode 100644 baogutang-strategy/src/main/resources/application.yml diff --git a/.cursor/commands/aipexbase-mcp-server.md b/.cursor/commands/aipexbase-mcp-server.md new file mode 100644 index 0000000..e69de29 diff --git a/baogutang-admin/src/main/java/top/baogutang/admin/schedule/AppleInventoryScheduleHandler.java b/baogutang-admin/src/main/java/top/baogutang/admin/schedule/AppleInventoryScheduleHandler.java index 8ab208b..43cd43c 100644 --- a/baogutang-admin/src/main/java/top/baogutang/admin/schedule/AppleInventoryScheduleHandler.java +++ b/baogutang-admin/src/main/java/top/baogutang/admin/schedule/AppleInventoryScheduleHandler.java @@ -16,6 +16,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import top.baogutang.admin.domain.IphoneProductDto; import top.baogutang.admin.utils.DingTalkMsgPushUtils; @@ -41,7 +42,7 @@ public class AppleInventoryScheduleHandler extends IJobHandler { @Value("${baogutang.apple.country_code:cn}") private String countryCode; - @Value("${baogutang.apple.device_code:15-pro}") + @Value("${baogutang.apple.device_code:17-pro}") private String deviceCode; @Value("${baogutang.apple.location:'上海 上海 闵行区'}") @@ -59,6 +60,25 @@ public class AppleInventoryScheduleHandler extends IJobHandler { @Resource private DingTalkMsgPushUtils dingTalkMsgPushUtils; + @Scheduled(cron = "0 0/1 * * * ? ") + public void appleInventoryMonitor() { + if (!Boolean.TRUE.equals(appleInventoryMonitorSwitch)) { + log.info(">>>>>>>>>>apple inventory monitor switch closed!<<<<<<<<<<"); + return; + } + // 获取设备信息 + List products = iphoneProductParserUtils.getProducts(deviceCode, countryCode); + //监视机型型号 + products.forEach(product -> { + this.doMonitor(product); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + log.error(">>>>>>>>>>apple inventory monitor error:{}<<<<<<<<<<", e.getMessage(), e); + } + }); + } + private void doMonitor(IphoneProductDto product) { @@ -83,7 +103,7 @@ public class AppleInventoryScheduleHandler extends IJobHandler { JSONObject pickupMessage = responseJsonObject.getJSONObject("body").getJSONObject("content").getJSONObject("pickupMessage"); JSONArray stores = pickupMessage.getJSONArray("stores"); if (stores == null) { - log.debug(pickupMessage.toString()); +// log.info(pickupMessage.toString()); return; } if (stores.isEmpty()) { diff --git a/baogutang-admin/src/main/resources/templates/json-parse.html b/baogutang-admin/src/main/resources/templates/json-parse.html index 41b31fa..04e8067 100644 --- a/baogutang-admin/src/main/resources/templates/json-parse.html +++ b/baogutang-admin/src/main/resources/templates/json-parse.html @@ -66,6 +66,7 @@