WrBug
|
5bb46ebb97
|
docs: 尾盘策略文档归集至 docs/crypto-tail-strategy/,前端链接同步
- 将尾盘策略相关文档移至 docs/crypto-tail-strategy/{zh,en}/
- 新增 docs/crypto-tail-strategy/README.md 目录说明
- 前端配置指南链接改为 docs/crypto-tail-strategy/${lang}/crypto-tail-strategy-user-guide.md
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-18 03:25:30 +08:00 |
|
WrBug
|
4e1bb0bbcf
|
feat: 添加尾盘策略配置指南文档和前端链接
- 新增中文和英文配置指南文档(docs/zh|en/crypto-tail-strategy-user-guide.md)
- 在尾盘策略列表页面添加配置指南链接按钮
- 根据用户语言自动跳转到对应语言的 GitHub 文档预览
- 添加多语言翻译键(中文简体/繁体/英文)
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-18 00:54:30 +08:00 |
|
WrBug
|
9fef4bea59
|
feat: 健康检查加币安 API/WS,订单簿 bids 空防护,自动价差历史取 20 根
- ApiHealthCheckService: 新增币安 API(ping)、币安 WebSocket(5m/15m 连接状态)
- BinanceKlineService: 连接状态追踪 getConnectionStatuses 供健康检查
- CryptoTailOrderbookWsService: book 事件 bids 为空时不再取 [0],避免 Index 0 out of bounds
- BinanceKlineAutoSpreadService + 文档 + i18n: 历史 K 线由 30 根改为 20 根
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-14 15:27:22 +08:00 |
|
WrBug
|
b50e43c239
|
feat(crypto-tail): 策略最小价差(无/固定/自动) + 前端默认与文案
- 后端: 最小价差 DB/Entity/DTO、Binance K线 REST+WS、自动价差 IQR 预计算与执行时校验
- 前端: 最小价差(自动-固定-无),默认自动,label 旁 info 说明,选择自动不展示建议约
- i18n: minSpreadModeTip 说明不写死标的
- 文档: crypto-tail-strategy-min-spread-flow.md
- scripts: Binance K线拉取与 WS 示例
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-14 15:16:44 +08:00 |
|
WrBug
|
2238370088
|
feat(crypto-tail): 尾盘策略完整实现与优化
- 尾盘策略 CRUD、订单簿 WS 订阅、周期内触发下单
- 订单簿订阅日志增加市场 slug,便于排查
- 移除轮询,完全依赖 WebSocket(删除 CryptoTailStrategyScheduler)
- FIXED 模式数量改为小数、向上取整,与签名服务一致
- 前端策略列表页、多语言与 API 对接
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-14 05:01:10 +08:00 |
|
WrBug
|
b1ad6f02d2
|
feat(backtest): 回测结算持久化、按配置重新测试、执行时以当前时间为窗口基准
- 持久化: BUY/SELL 与 SETTLEMENT(WIN/LOSE/UNKNOWN/CLOSED) 均写入 backtest_trade
- 重新测试: 已完成任务支持「按当前配置重新测试」,新任务名称可编辑,后端 POST /tasks/rerun + 前端按钮与确认弹窗
- 回测窗口: 首次执行以当前时间为终点、startTime = endTime - backtestDays(局部变量,不修改实体)
- 新增错误码 BACKTEST_TASK_NOT_COMPLETED、SERVER_BACKTEST_RERUN_FAILED 及多语言
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-09 01:08:40 +08:00 |
|
WrBug
|
01a1836659
|
docs: 清理根目录临时文档
- 删除过时的版本发布说明(RELEASE.md 和 RELEASE_NOTES_v2.0.*.md)
- 删除临时检查报告(CHECK_AND_FIX_REPORT.md、IMPLEMENTATION_COMPLETE.md、MISSING_ITEMS_CHECK.md)
- 所有版本发布信息统一在 RELEASE_NOTES.md 中管理
- 添加新的部署指南文档和 Docker 构建配置
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-02-08 23:34:46 +08:00 |
|
WrBug
|
cdd02e9f3d
|
feat: 实现回测功能
## 功能概述
实现完整的回测功能,支持基于历史数据模拟跟单策略的执行效果。
## 后端实现
- 数据库:新增 backtest_task 和 backtest_trade 表(V27迁移脚本)
- 实体类:BacktestTask、BacktestTrade
- Repository:BacktestTaskRepository、BacktestTradeRepository
- Service:
- BacktestService:回测任务管理(CRUD)
- BacktestDataService:从 Polymarket Data API 获取历史交易数据
- BacktestExecutionService:回测算法核心实现
- BacktestPollingService:定时轮询执行回测任务
- Controller:BacktestController(6个API接口)
- DTO:BacktestDto、TradeData
- 错误码:新增回测相关错误码和国际化消息
## 前端实现
- 页面组件:
- BacktestList:回测任务列表
- BacktestCreate:创建回测任务
- BacktestDetail:回测详情(含图表)
- BacktestChart:资金曲线图表(使用 ECharts)
- 类型定义:backtest.ts
- API 服务:集成所有回测接口
- 国际化:支持中英文
## 核心特性
- 回测天数限制:1-15 天
- 数据获取:直接从 Polymarket Data API 获取历史交易(不使用缓存表)
- 任务执行:同一时刻只执行一个任务,按创建时间顺序执行最早创建的任务
- 回测算法:完整实现市场结算、卖出匹配、价格容忍度、每日订单限制等规则
- 实时进度:支持任务进度更新和实时轮询
## 文档更新
- BACKTEST_PRD.md:产品需求文档
- BACKTEST_TECHNICAL_DESIGN.md:技术设计文档
- BACKTEST_REVIEW_CHECKLIST.md:设计评审检查清单
## 其他修改
- 移除 max_position_count 配置(V26迁移脚本)
- 移除 BacktestSyncService(不再需要实时同步)
- 修复前后端编译错误
|
2026-01-31 07:27:36 +08:00 |
|
WrBug
|
f1f809f54b
|
docs: 新增跟单回测功能设计文档
- 新增产品需求文档 (BACKTEST_PRD.md)
- 新增技术设计文档 (BACKTEST_TECHNICAL_DESIGN.md)
- 新增设计审查清单 (BACKTEST_REVIEW_CHECKLIST.md)
- 新增文档总览 (README.md)
关键设计:
- 实时市场结算机制(按endDate检查)
- 严格余额检查(不计入未实现持仓)
- 停止条件优化(余额不足且无持仓时停止)
- 不计算手续费(简化逻辑)
|
2026-01-31 00:26:00 +08:00 |
|
WrBug
|
26dd3bb387
|
feat: 实现系统动态更新功能和 Release 创建脚本
主要变更:
1. 动态更新功能
- 新增 Python 更新服务 (docker/update-service.py)
- 添加系统更新前端页面 (frontend/src/pages/SystemUpdate.tsx)
- 配置 Nginx 代理更新服务 API
- 更新 Docker 启动脚本支持多进程管理
- 修复权限验证接口 (AuthController.verify)
2. Release 创建脚本
- 新增 create-release.sh 脚本支持快速创建 GitHub Release
- 支持自动拼接 -beta 后缀(pre-release)
- 支持无交互模式(--yes 参数)
- 添加详细的使用文档
3. GitHub Actions 增强
- 添加更新包构建和上传流程
- 支持 Pre-release 检测和过滤
4. 文档完善
- 添加动态更新技术方案文档
- 添加 Docker 版本号确定流程文档
- 添加 Release 脚本使用说明
|
2026-01-21 03:34:16 +08:00 |
|
WrBug
|
92b75d1926
|
refactor: 将 Polymarket API URL 配置改为代码常量
- 创建 PolymarketConstants 常量类,集中管理所有 Polymarket API URL
- 更新所有服务类,将配置注入改为使用常量:
* ApiHealthCheckService: 移除配置注入,使用常量
* RetrofitFactory: 移除 CLOB 和 Gamma API URL 配置注入
* RelayClientService: 移除 Builder Relayer URL 配置注入
* BlockchainService: 移除 Data API URL 配置注入
* PolymarketApiKeyService: 移除 CLOB API URL 配置注入
* RetrofitConfig: 移除 CLOB API URL 配置注入
* OrderPushService: 移除 RTDS WebSocket URL 配置注入
* PolymarketActivityWsService: 移除 Activity WebSocket URL 配置注入
* CopyTradingWebSocketService: 移除 User WebSocket URL 配置注入
* PolymarketWebSocketHandler: 移除 RTDS WebSocket URL 配置注入
* UnifiedOnChainWsService: 添加连接状态查询方法
- 从 application.properties 移除相关配置项,添加说明注释
- 完善 API 健康检查,添加缺失的检测项:
* Polymarket Activity WebSocket
* 链上 WebSocket
- 更新相关文档说明
|
2026-01-13 16:07:19 +08:00 |
|
WrBug
|
19508dcd19
|
feat: 实现 Polymarket Activity WebSocket 双重监听方案
主要功能:
- 新增 PolymarketActivityWsService:通过 Activity WebSocket 实时监听 Leader 交易(延迟 < 100ms)
- 实现双重监听机制:Activity WS(低延迟)+ On-Chain WS(高可靠性)
- 支持动态添加/移除 Leader 监听
- 地址筛选忽略大小写
修复和改进:
- 修复订阅消息格式:使用 'action' 而不是 'type'(与 @polymarket/real-time-data-client 保持一致)
- 修复 PING 消息格式:使用小写 'ping'(与官方客户端保持一致)
- 添加 outcomeIndex 字段支持:优先使用消息中的 outcomeIndex,fallback 到从 outcome 解析
- 添加 connection_id 字段到 DTO
- 改进日志记录:增加 INFO 级别日志以便调试
代码重构:
- JsonUtils 重构:将 fromJson 和 toJson 改为扩展方法
- 更新后端开发规范:JSON 解析和 Data Class 规范
前端修复:
- 修复 InputNumber parser 类型错误:返回 number 而不是 string
文档:
- 添加双重监听方案文档
- 添加 Polymarket Activity WebSocket API 格式文档
|
2026-01-09 10:41:15 +08:00 |
|
WrBug
|
f257457ad3
|
feat: 实现 Polymarket Maker Rebates Program 费率支持
- 添加费率查询 API 接口 (getFeeRate)
- 修正 API 返回字段名:使用 base_fee 而非 fee_rate_bps(与 TypeScript clob-client 一致)
- 在所有订单创建处动态获取费率:
* 跟单买入订单 (processBuyTrade)
* 跟单卖出订单 (matchSellOrder)
* 账户卖出订单 (sellPosition)
- 费率获取失败时降级到默认值 "0",确保系统可用性
- 添加详细的日志记录,便于监控和调试
参考文档: https://docs.polymarket.com/developers/market-makers/maker-rebates-program
|
2026-01-07 00:31:07 +08:00 |
|
WrBug
|
3e667b70fd
|
feat: enhance copy trading logic and UI
- fix: correct copyRatio scaling (divide by 100)
- fix: enforce minimum order size with round-up logic
- feat: customize Telegram notification icons
- feat: optimize frontend order list (active loading, refresh buttons)
- refactor: optimize OnChain WebSocket connection management
|
2026-01-04 20:36:41 +08:00 |
|
WrBug
|
cc1a732984
|
refactor: 移除下单失败存储数据库的功能
- 删除 FailedTrade 实体类和 FailedTradeRepository
- 从 CopyOrderTrackingService 中移除失败交易存储逻辑
- 移除 recordFailedTrade 方法
- 移除检查失败交易的代码
- 创建 Flyway migration V16 删除 failed_trade 表
- 从 V1__init_database.sql 中移除 failed_trade 表创建语句
下单失败时仅记录日志,不再存储到数据库
|
2026-01-01 22:24:47 +08:00 |
|
WrBug
|
89fb980da7
|
refactor: 移除 polygon.rpc.url 配置,使用 RpcNodeService 统一管理 RPC 节点
- 删除 application.properties 中的 polygon.rpc.url 配置
- 更新 ApiHealthCheckService 直接使用 RpcNodeService.getHttpUrl()
- 删除所有 Docker Compose 配置中的 POLYGON_RPC_URL 环境变量
- 删除所有部署脚本中的 POLYGON_RPC_URL 环境变量
- 更新所有文档,移除 POLYGON_RPC_URL 相关说明
- 删除 application.properties 中无用的 position.push 配置项
- 修正日志配置中的包名(polyhermes -> polymarketbot)
现在系统通过 RpcNodeService 从数据库读取 RPC 节点配置,用户可以通过系统设置页面管理 RPC 节点,不再需要环境变量配置。
|
2025-12-28 04:51:07 +08:00 |
|
WrBug
|
5e544cda07
|
fix: 修复固定金额模式卖出数量计算逻辑
- 删除卖出订单的 notificationSent 字段,使用 priceUpdated 作为共用字段
- 添加 leaderBuyQuantity 字段,在创建 CopyOrderTracking 时存储 Leader 买入数量
- 修复固定金额模式下卖出数量计算:优先使用存储的 leaderBuyQuantity,避免 API 查询失败
- 添加数据库迁移 V14 和 V15
- 优化 calculateSellQuantityForFixedMode 方法,支持新数据和旧数据兼容
|
2025-12-26 05:42:53 +08:00 |
|
WrBug
|
b6d66aa81e
|
docs: 添加 Docker 版本更新说明(中英文)
- 在部署文档中添加详细的 Docker 版本更新步骤(中文和英文)
- 在 README 中添加简要的更新说明和文档链接(中文和英文)
- 包含更新到最新版本和特定版本的方法
- 添加注意事项(备份数据库、服务中断等)
|
2025-12-26 02:30:06 +08:00 |
|
WrBug
|
c4ac3a8fe0
|
feat: 实现链上 WebSocket 监听和并行监控策略
- 创建 OnChainWsService,支持通过 Polygon RPC eth_subscribe 实时监听链上交易
- 实现并行监控策略:链上 WS 和轮询同时运行,哪个数据先返回用哪个
- 支持通过 eth_unsubscribe 取消单个 Leader 的订阅
- 在 CopyOrderTrackingService 中添加 Mutex 保证线程安全
- 实现链上交易解析逻辑(USDC Transfer + ERC1155 Transfer)
- 实现 Gamma API 元数据补齐逻辑
- 优化 WebSocket 连接管理:只创建一个连接,没有跟单配置时自动取消
- 跟单配置生效/失效时及时更新 WebSocket 订阅
- 使用 Gson 替换所有 JSON 解析,JsonRpcResponse.result 使用 JsonElement 类型
- 添加相关文档:copy-trading-logic-summary.md 和 copy-trading-monitor-strategy.md
|
2025-12-26 01:36:00 +08:00 |
|
WrBug
|
0625c62e36
|
feat: 优化跟单买入逻辑和错误处理
- 更新 Twitter 链接为 @polyhermes
- 简化订单创建失败日志,只保留 code 和 errorBody
- 修复 @Transactional 注解问题(类改为 open class)
- 改进唯一键冲突异常处理,支持并发场景
- 整理跟单买入和重试逻辑,使用常量配置
- 重试延迟从 1 秒调整为 3 秒
- 添加订单簿匹配检查,避免 FAK 订单失败
- 前端移除 Leader 管理的分类相关设置和显示
- 补充多语言翻译(AccountImport 和 CopyTradingList)
|
2025-12-11 02:58:50 +08:00 |
|
WrBug
|
a222c9a52f
|
docs: 重构文档结构,使用 zh/ 和 en/ 目录区分中英文文档
- 创建 docs/zh/ 和 docs/en/ 目录结构
- 将所有中文文档移动到 docs/zh/
- 创建主要文档的英文版本:
- DEPLOYMENT.md (651行)
- DEVELOPMENT.md (514行)
- VERSION_MANAGEMENT.md (已有)
- 更新所有文档中的内部链接
- 更新 README.md 和 README_EN.md 中的文档链接
- 在文档中添加中英文版本互链
|
2025-12-07 18:01:11 +08:00 |
|