Commit Graph

656 Commits

Author SHA1 Message Date
薇薇安
3389e0aafc feat(recommendations): 添加现货推荐扫描与API支持
在后端API中新增现货推荐扫描功能,定时将数据写入Redis缓存,并提供相应的API接口以获取现货推荐。前端组件更新以支持现货推荐的展示与切换,提升用户体验与决策支持。此改动为用户提供了实时的现货推荐信息,增强了系统的功能性与灵活性。
2026-02-25 08:40:52 +08:00
薇薇安
1dea3df84a feat(config): 添加详细配置项说明以优化策略分析
在 `GlobalConfig` 组件中新增配置项详细说明,提供各项参数的建议与使用说明,便于用户理解和优化交易策略。此改动提升了用户体验,帮助用户更好地进行策略配置与调整。
2026-02-24 15:53:54 +08:00
薇薇安
4dd44782c5 feat(market_overview): 添加市场行情概览API与前端展示功能
在后端API中新增 `/market-overview` 接口,拉取Binance公开市场数据,并计算策略配置与市场状态的对比。前端组件更新以支持市场行情概览的展示,提供实时市场数据与策略匹配情况,提升用户体验与决策支持。
2026-02-24 15:37:06 +08:00
薇薇安
4ccf067b24 fix(start_recommendations): 优化虚拟环境激活逻辑
更新 `start_recommendations.sh` 脚本,优先使用 `trading_system/.venv` 激活虚拟环境,确保与服务器部署一致。增强错误提示信息,提升用户体验与环境配置的准确性。
2026-02-23 19:24:33 +08:00
薇薇安
4479c4f02d fix(recommendations): 优化推荐服务进程检查逻辑
更新 `_recommendations_process_running` 函数,增强对推荐服务进程的检查能力,支持 pgrep 和 ps 方式,确保在不同环境下均能准确获取进程状态。此改动提升了系统的稳定性与兼容性,确保推荐服务的有效管理。
2026-02-23 19:18:09 +08:00
薇薇安
5f256daf27 feat(recommendations): 添加推荐服务管理API与前端控制功能
在后端API中新增推荐服务的状态检查、重启、停止和启动功能,确保能够有效管理推荐服务进程。同时,更新前端组件以支持推荐服务状态的显示与控制,提升用户体验。此改动为推荐服务的管理提供了更直观的操作界面与实时状态反馈。
2026-02-23 18:02:53 +08:00
薇薇安
24d01cba0d feat(trade_recommender): 引入4H趋势过滤逻辑以优化交易推荐
在交易推荐系统中新增 `BLOCK_LONG_WHEN_4H_DOWN` 和 `BLOCK_SHORT_WHEN_4H_UP` 配置,允许在4H趋势下跌时禁止开多和在4H趋势上涨时禁止开空。此改动增强了策略的灵活性与风险控制,确保推荐逻辑与市场趋势一致,提升交易决策的准确性。
2026-02-23 17:44:57 +08:00
薇薇安
d42cee2f1a feat(async_handling): 添加任务完成回调以处理异步任务异常
在多个流处理模块中引入 `_task_done_callback` 函数,确保在异步任务完成后能够捕获并记录异常,避免未处理的任务异常导致的潜在问题。此改动提升了系统的稳定性和错误处理能力,确保在执行异步操作时能够更好地管理任务状态。
2026-02-23 15:43:13 +08:00
薇薇安
cddcf35481 feat(config): 添加4H趋势过滤配置以优化交易策略
在配置管理中新增 `BLOCK_SHORT_WHEN_4H_UP` 参数,允许在4H上涨时禁止开空,增强策略灵活性与风险控制。同时,更新前端组件以展示该配置,提升用户体验。此改动确保在不同市场条件下,策略能够更有效地避免逆势操作。
2026-02-22 22:51:36 +08:00
薇薇安
cbf778d560 feat(config): 更新前端配置组件以支持基础策略和市场方案展示
在 `GlobalConfig` 组件中引入基础策略和市场方案的概念,优化了策略选择的用户界面。新增基础策略和市场方案的状态显示,提升用户体验。同时,更新了相关逻辑以确保策略的灵活性与可视化效果。此改动为用户提供了更清晰的策略选择与使用说明。
2026-02-22 19:30:36 +08:00
薇薇安
452e40bdf5 feat(config): 添加市场状态方案以优化交易策略
在配置管理中引入市场状态方案,允许在不同市场条件下快速切换策略(如熊市、牛市、正常、保守)。更新相关参数以自动覆盖止损、仓位和趋势过滤设置,增强策略灵活性。同时,前端组件更新以支持市场状态方案的展示与选择,提升用户体验。
2026-02-22 19:15:05 +08:00
薇薇安
3b0526f392 feat(data_management): 增强交易数据统计与推算功能
在后端 API 中新增按小时和星期的交易统计功能,优化 `_compute_binance_stats` 函数以支持更细致的统计分析。同时,新增 `_enrich_trades_with_derived` 函数,补充交易记录的推算字段,包括入场价、交易小时和星期,提升策略分析的便利性。前端 `DataManagement` 组件更新,展示按小时和星期的统计信息,增强用户对交易数据的可视化理解。
2026-02-22 11:16:33 +08:00
薇薇安
1e478c8428 feat(sync_binance_orders): 增强账号同步逻辑,过滤无API密钥账号
更新 `sync_binance_orders.py` 脚本,新增对未配置 API 密钥账号的过滤,确保仅同步有效账号。优化输出信息,明确显示同步的账号数量和跳过的账号名称,提升用户体验与系统稳定性。
2026-02-22 11:07:54 +08:00
薇薇安
fc81a8d5d6 feat(data_management): 增强数据管理功能与统计分析
在后端 API 中新增 `_compute_binance_stats` 函数,用于计算交易和订单的统计数据,并更新 `query_db_trades` 函数以支持从数据库查询已同步的币安订单和成交记录。前端 `DataManagement` 组件进行了优化,新增统计数据显示功能,确保用户能够查看交易的盈亏、手续费、胜率等关键指标,提升了数据分析的可视化效果与用户体验。
2026-02-22 11:02:12 +08:00
薇薇安
aaef73c2b3 feat(data_management): 优化数据管理功能与API接口
在后端 API 中新增 `_get_active_symbols_from_income` 函数,通过收益历史 API 获取有交易活动的交易对,减少后续请求数。更新 `fetch_binance_data` 函数以支持动态获取交易对,并优化前端 `DataManagement` 组件,确保仅显示状态为 active 的账号。调整 API 服务以支持可选参数 `activeOnly`,提升数据查询的灵活性与用户体验。
2026-02-22 10:43:37 +08:00
薇薇安
69be629369 fix(data_management): 更新数据库交易查询逻辑
在后端 API 的 `query_db_trades` 函数中,将 `reconciled_only` 参数类型从布尔值更改为可选字符串,并在查询逻辑中添加了相应的处理。同时,在前端 `DataManagement` 组件中,初始化 `dbDate` 为当前日期,并优化了参数构建逻辑,以确保在请求时正确传递日期和对账状态。这些改动提升了数据查询的灵活性与准确性。
2026-02-22 10:21:01 +08:00
薇薇安
f2b04911a2 feat(data_management): 添加数据管理功能与接口
在后端 API 中新增数据管理路由,支持从币安拉取订单和成交记录的功能。前端应用中引入数据管理组件,并在路由中添加相应的链接。更新了 API 服务,提供获取账号列表和查询 DB 交易的接口,增强了系统的数据处理能力与用户体验。
2026-02-22 10:05:18 +08:00
薇薇安
fa7208f5f3 feat(binance_order_event_logger, user_data_stream): 优化算法更新字段兼容性
在 `binance_order_event_logger.py` 和 `user_data_stream.py` 中更新了 ALGO_UPDATE 事件的字段处理逻辑,增强了对不同字段名的兼容性,确保在获取算法 ID 和客户端算法 ID 时能够正确解析多种可能的字段。这一改进提升了系统在处理算法订单时的灵活性与准确性。
2026-02-21 22:45:40 +08:00
薇薇安
32c50466f3 feat(binance_client, position_manager, user_data_stream): 增强算法更新处理与日志记录
在 `binance_client.py` 中新增 `client_algo_id` 参数以支持 ALGO_UPDATE 的精确匹配。更新 `position_manager.py` 以生成并缓存 SL_/TP_ 的 `client_algo_id`,确保在止损和止盈时能够正确关联到相应的订单。`user_data_stream.py` 中优化了 ALGO_UPDATE 处理逻辑,优先使用 `clientAlgoId` 进行订单匹配,并在 Redis 中缓存相关信息。这些改进提升了系统在处理算法订单时的准确性与效率。
2026-02-21 22:41:15 +08:00
薇薇安
e40f5c797f 1 2026-02-21 17:14:03 +08:00
薇薇安
fc6c31dd5d feat(user_data_stream): 增强订单和算法更新事件的日志记录
在 `user_data_stream.py` 中为 `ORDER_TRADE_UPDATE` 和 `ALGO_UPDATE` 事件添加了日志记录功能,确保在接收到相关推送时能够记录事件信息。这一改进提升了系统的可追踪性和调试能力。
2026-02-21 17:09:41 +08:00
薇薇安
e1759a7f4c feat(market_scanner, config): 增强K线扫描逻辑与预热机制
在 `config.py` 中新增 `SCAN_PREWARM_KLINE_ENABLED` 和 `SCAN_PREWARM_CONCURRENT` 配置,支持在扫描前预热K线数据以提高缓存命中率。更新了 `market_scanner.py` 中的扫描逻辑,添加 `_prewarm_klines_for_scan` 方法,批量预订阅WebSocket和REST预取K线,优化了数据获取效率和分析超时处理。这些改进提升了系统在高并发情况下的响应能力与稳定性。
2026-02-21 12:38:05 +08:00
薇薇安
83a09f24f8 feat(binance_client, listen_key_cache, user_data_stream): 增强 listenKey 创建逻辑与重试机制
在 `binance_client.py` 中将 `create_futures_listen_key` 方法的最大重试次数从 2 增加到 3,并调整了超时设置以提高稳定性。更新了 `listen_key_cache.py` 和 `user_data_stream.py` 中对该方法的调用,确保在创建新的 listenKey 时使用新的重试逻辑。这些改进提升了系统在高并发情况下的可靠性与响应能力。
2026-02-21 11:12:21 +08:00
薇薇安
e4e6e64608 feat(trade, binance_client, position_manager, user_data_stream): 增强待处理记录对账逻辑
在 `models.py` 中新增 `get_pending_recent` 方法,用于获取最近的待处理交易记录。`binance_client.py` 中添加 `get_order_by_client_order_id` 方法,以支持按 `client_order_id` 查询订单。`position_manager.py` 中实现 `_reconcile_pending_with_binance` 方法,增强对待处理记录的对账能力。`user_data_stream.py` 中在重连前执行待处理记录对账,确保系统在断线期间的交易状态得到及时更新。这些改进提升了系统的稳定性与交易记录的准确性。
2026-02-21 11:09:01 +08:00
薇薇安
a371e50a3e feat(config, strategy): 增强多账号错峰扫描逻辑
在 `config.py` 中新增随机延迟配置,允许在多账号环境下实现更灵活的错峰扫描策略。更新了 `strategy.py` 中的相关逻辑,支持随机延迟与固定步长延迟两种模式,提升了系统在低配服务器上的性能与稳定性。此改进有助于优化资源管理与并发处理能力。
2026-02-21 10:47:39 +08:00
薇薇安
3bfbafbab2 feat(binance_client, position_manager): 增强杠杆设置与异常处理逻辑
在 `binance_client.py` 中为杠杆设置添加了网络超时重试机制,确保在请求超时的情况下能够自动重试,提升了系统的稳定性。同时,在 `position_manager.py` 中优化了临时持仓记录的错误日志,增加了异常信息的详细记录,便于后续调试与问题追踪。这些改进增强了系统的可靠性与可维护性。
2026-02-21 10:44:55 +08:00
薇薇安
b588d5b82b feat(position_manager): 增强日志记录,添加账号信息
在 `position_manager.py` 中更新了日志记录,添加了账号 ID 信息,以便于在多账号环境中更好地追踪和管理交易记录。这一改进提升了系统的可维护性和调试能力。
2026-02-21 10:38:32 +08:00
薇薇安
8e0233dd5d feat(position_manager): 增强日志记录,添加账号信息
在 `position_manager.py` 中更新了日志记录,添加了账号 ID 信息,以便于在多账号环境中更好地追踪和管理交易记录。这一改进提升了系统的可维护性和调试能力。
2026-02-21 10:17:53 +08:00
薇薇安
1a9e5a382a 1 2026-02-21 10:12:23 +08:00
薇薇安
418eff6fb7 feat(risk_manager, user_data_stream): 增强多账号支持与缓存逻辑
在 `risk_manager.py` 中新增可用保证金检查,确保在保证金不足时拒绝开仓请求,提升风险控制能力。在 `user_data_stream.py` 中更新缓存填充逻辑,支持多账号隔离,确保 Redis 缓存键按账号区分,避免数据混淆。此更新优化了系统的稳定性与风险管理。
2026-02-21 10:09:59 +08:00
薇薇安
22901abe39 feat(book_ticker_stream, ticker_24h_stream): 引入串行化锁以优化 Redis 写入逻辑
在 `book_ticker_stream.py` 和 `ticker_24h_stream.py` 中新增了串行化锁,确保在写入 Redis 时避免并发合并导致内存膨胀。更新了合并逻辑,限制 Redis 中 USDT 交易对的数量,防止键值无限增长。此改进提升了内存管理与系统稳定性。
2026-02-21 01:09:27 +08:00
薇薇安
f1e2cabc01 feat(account, stats, trades, database): 限制交易记录查询条数以优化内存管理
在 `account.py` 和 `stats.py` 中为获取状态为 open 的交易记录添加了条数限制,避免全表加载导致内存暴增。在 `trades.py` 中也为相关查询添加了限制,确保系统在处理大量数据时的稳定性。此外,更新了 `models.py` 中的默认 limit 设置,进一步优化内存使用。此更新有助于提升系统性能与资源管理。
2026-02-21 01:03:17 +08:00
薇薇安
dbcb7012bd fix(account, frontend): 兼容处理创建时间字段
在 `account.py` 中更新了创建时间的获取逻辑,兼容 `created_at` 和 `create_at` 字段。前端组件 `StatsDashboard.jsx` 中相应调整了创建时间的展示逻辑,确保在 `created_at` 字段为空时能够正确显示。此更新提升了数据展示的准确性与用户体验。
2026-02-21 00:59:54 +08:00
薇薇安
174943722a feat(trades, database, binance_client, position_manager, risk_manager): 优化交易记录查询与内存管理
在 `trades.py` 中为获取所有有记录的交易对添加了限制条数的逻辑,避免全表加载。`models.py` 中调整了查询逻辑,未传递 limit 时使用默认上限以防内存暴增。`binance_client.py` 中为交易对信息缓存添加了最大大小限制,确保内存使用合理。`position_manager.py` 和 `risk_manager.py` 中的交易记录查询也进行了条数限制,提升了系统的稳定性与性能。此更新有助于优化内存管理与查询效率。
2026-02-21 00:53:32 +08:00
薇薇安
6f9e55aaee feat(trades, database, frontend): 增强时间筛选功能与交易记录展示
在 `trades.py` 中更新了时间筛选逻辑,新增 `created` 选项以支持按创建时间筛选交易记录。在 `models.py` 中调整了查询逻辑,确保在无 `created_at` 字段时回退为 `entry_time`。前端组件 `StatsDashboard.jsx` 和 `TradeList.jsx` 中相应更新了展示逻辑,增加了创建时间的显示,提升了用户体验与数据准确性。
2026-02-21 00:31:51 +08:00
薇薇安
3ce8493af2 feat(account, stats_dashboard, binance_client, position_manager): 增强开仓时间记录与条件单错误处理
在 `account.py` 中新增 `created_at` 字段以记录开仓时间,并在 `StatsDashboard.jsx` 中更新展示逻辑,优先显示开仓时间或创建时间。`binance_client.py` 中引入 `AlgoOrderPositionUnavailableError` 异常处理,确保在条件单被拒时记录警告信息。`position_manager.py` 中优化了止损单挂单失败的处理逻辑,提升了系统的稳定性与风险控制能力。
2026-02-21 00:24:45 +08:00
薇薇安
7569c88a67 fix(binance_client, position_manager, config): 增强止损与盈利保护逻辑
在 `binance_client.py` 中优化了错误处理,新增对特定错误信息的警告记录,确保在条件单被拒时能够清晰提示。同时,在 `position_manager.py` 中引入了保本止损逻辑,确保在盈利达到一定比例时自动将止损移至含手续费的保本价,提升了风险控制能力。此外,更新了 `config.py` 中的相关配置项,以支持移动止损与保本功能的灵活性。
2026-02-20 23:38:14 +08:00
薇薇安
13a0e7d580 delete: 移除过时的文档与代码文件
删除了多个不再使用的文档和代码文件,包括交易更新推送、条件订单推送、REST API 文档、WebSocket API 文档及相关的策略分析文档。这些文件的移除有助于清理代码库,确保项目的整洁性与可维护性。
2026-02-20 17:49:00 +08:00
薇薇安
f3089fdf7f fix(binance_client): 增强错误处理与止盈价校验逻辑
在 `binance_client.py` 中新增了对特定错误代码的处理,确保在遇到 -4509 和 -4061 错误时能够正确抛出异常。同时,优化了止盈价的合理性校验,确保在无法获取当前价格时,止盈价不低于 0.01,避免因错误数据导致的挂单被拒,提升了交易逻辑的稳定性与风险控制能力。
2026-02-20 17:14:44 +08:00
薇薇安
9b81832af2 feat(trades, database, frontend): 增强交易记录同步与展示功能
在 `trades.py` 中更新了 `include_sync` 参数的默认值为 `True`,以便于订单记录与币安一致,并添加了提示信息以指导用户如何补全缺失的订单号。在 `models.py` 中新增了 `get_trades_missing_entry_order_id` 方法,用于获取缺少 `entry_order_id` 的记录,确保在同步时能够补全数据。前端组件 `StatsDashboard.jsx` 和 `TradeList.jsx` 中相应调整了开仓时间的展示逻辑和无交易记录时的提示信息,提升了用户体验与数据准确性。
2026-02-20 12:17:01 +08:00
薇薇安
22830355c6 feat(binance_client): 优化超时设置与错误处理逻辑
在 `binance_client.py` 中调整了 API 请求的超时设置,首次请求超时为 25 秒,后续请求为 35 秒,以适应币安的响应时间。同时,增加了重试机制的等待时间,首次重试为 4 秒,后续重试为 5 秒,确保在网络波动时能更好地恢复。此外,新增了止盈价合理性校验,避免因错误数据导致的挂单被拒,提升了交易逻辑的稳定性与风险控制能力。
2026-02-20 11:23:11 +08:00
薇薇安
9299d70a31 feat(position_manager, database): 添加开仓时间记录功能以优化交易记录
在 `position_manager.py` 中引入了真实开仓时间的获取逻辑,确保在补建交易记录时使用币安的实际开仓时间,避免时间显示为“当前时间”。同时,在 `models.py` 中更新了 `Trade` 类,新增 `entry_time` 参数以存储开仓时间,提升了交易记录的准确性与分析能力。
2026-02-20 00:51:31 +08:00
薇薇安
2c5524bdcf feat(binance_client, config): 添加单向持仓模式配置以优化交易逻辑
在 `binance_client.py` 中引入了 `ONE_WAY_POSITION_ONLY` 配置,确保在单向持仓模式下不传递 `positionSide`,避免对冲模式检测。同时,更新了 `config.py`,新增该配置项以支持该功能,提升了交易策略的灵活性与风险控制能力。
2026-02-20 00:40:23 +08:00
薇薇安
bfe3d8ec75 feat(binance_client, position_manager): 优化对冲模式处理与持仓检查逻辑
在 `binance_client.py` 中增强了对冲模式的处理逻辑,添加了对对冲模式检测失败的处理,确保在尝试单向模式失败后再尝试对冲模式。同时,在 `position_manager.py` 中引入了持仓存在性检查,避免因持仓不存在或方向不匹配导致的错误,提升了系统的稳定性与风险控制能力。
2026-02-20 00:36:09 +08:00
薇薇安
d31c44a22a feat(position_manager, config): 添加早止盈功能以优化山寨币交易策略
在 `position_manager.py` 中实现了早止盈逻辑,允许在盈利达到一定比例且持仓时间超过指定小时数时,自动市价止盈,避免反转风险。同时,在 `config.py` 中新增相关配置项以支持该功能,提升了交易策略的灵活性与风险控制能力。
2026-02-20 00:33:28 +08:00
薇薇安
43daa922a4 feat(position_manager): 优化止损与止盈逻辑,确保实际止损距离与盈亏比计算一致
在 `position_manager.py` 中更新了止损和止盈计算逻辑,确保使用实际止损距离进行盈亏比的计算,避免因保证金封顶导致的止盈不合理。同时,新增止盈上限配置,防止止盈距离过大。此改动提升了交易策略的准确性与风险控制能力。
2026-02-19 18:30:23 +08:00
薇薇安
f5570f4804 1 2026-02-19 18:02:46 +08:00
薇薇安
be43ec1c33 feat(kline_stream): 优化 Redis 数据处理逻辑与内存管理
在 `kline_stream.py` 中改进了 Redis 数据处理逻辑,避免每条消息都从 Redis 获取全量数据,减少内存占用。通过复用待处理列表,提升了性能并降低了内存使用。更新了缓存管理机制,确保在有 Redis 时优先使用其进行数据存储,进一步优化了系统的内存使用效率与稳定性。
2026-02-19 09:23:53 +08:00
薇薇安
95867e90f8 feat(redis_cache, binance_client, market_scanner, position_manager, ticker_24h_stream, book_ticker_stream): 引入 Redis 缓存机制以优化数据读取与内存管理
在多个模块中实现 Redis 缓存机制,优先从 Redis 读取数据,减少进程内存占用。更新 `binance_client.py`、`market_scanner.py`、`position_manager.py`、`ticker_24h_stream.py` 和 `book_ticker_stream.py`,确保在有 Redis 时优先使用其进行数据存储,降级到内存缓存。调整缓存管理逻辑,限制进程内缓存的最大条数为 500,避免内存无限增长。此改动提升了数据访问效率,优化了内存使用,增强了系统的整体性能与稳定性。
2026-02-19 00:45:56 +08:00
薇薇安
f4feea6b87 feat(ticker_stream, book_ticker_stream): 优化内存管理与Redis写入逻辑
在 `ticker_24h_stream.py` 和 `book_ticker_stream.py` 中引入新的内存管理机制,限制进程内缓存的最大条数为 500,避免内存无限增长。更新 Redis 写入逻辑,确保在有 Redis 时优先写入 Redis,而不在进程内存中常驻数据。通过定期从 Redis 拉取数据并合并,提升了系统的内存使用效率与稳定性,同时优化了日志记录以减少高负载时的输出频率。此改动进一步增强了系统性能与资源管理能力。
2026-02-19 00:34:35 +08:00