root
|
a7cd78e06f
|
feat: implement save_feature_event() for v53 training data collection (Phase 3)
|
2026-03-03 14:35:26 +00:00 |
|
root
|
224ca20666
|
fix: add LatestSignals component to paper-v53 page
|
2026-03-03 14:28:19 +00:00 |
|
root
|
18af5bb711
|
feat: add V5.3 signal + paper frontend pages and sidebar nav
|
2026-03-03 14:09:49 +00:00 |
|
root
|
85db47e41f
|
feat: Phase 2 - realtime WebSocket OBI + spot/perp divergence for BTC gate-control, tiered whale CVD in-process
|
2026-03-03 13:59:34 +00:00 |
|
root
|
17a387b6f4
|
feat: Phase 2 - collect obi_depth_10, spot_perp_divergence, tiered_cvd_whale for BTC gate-control
|
2026-03-03 13:42:21 +00:00 |
|
root
|
fcac8c2334
|
feat: Phase 1 - V5.3 dual-track signal engine (ALT 55/25/15/5, BTC gate-control)
|
2026-03-03 13:35:23 +00:00 |
|
root
|
4c43309c16
|
fix: remove leftover conn.commit() after deleting paper_check_positions
|
2026-03-03 13:27:40 +00:00 |
|
root
|
0a5222a1de
|
feat: Phase 0 - add signal_feature_events/label_events tables, atr_value snapshot, label_backfill script
|
2026-03-03 13:22:53 +00:00 |
|
root
|
8280aaf6ea
|
refactor: A1 hot-reload strategy configs, A4 remove dead paper_check_positions, A6 signals/history query signal_indicators
|
2026-03-03 13:00:54 +00:00 |
|
root
|
cf7756b4e5
|
security: S2 remove hardcoded DB password, S3 JWT already enforced, S4 remove localhost CORS
|
2026-03-03 12:53:26 +00:00 |
|
root
|
c645178f7b
|
fix: H4 - restrict /api/kline to BTC/ETH, return 400 for XRP/SOL
|
2026-03-03 12:45:36 +00:00 |
|
root
|
3172300fd0
|
fix: increase sync connection pool maxconn 5->20 to prevent pool exhaustion
|
2026-03-03 12:36:58 +00:00 |
|
root
|
91ed44ad9f
|
refactor: unify all DB connections to Cloud SQL, remove dual-write and SQLite code
|
2026-03-03 12:30:01 +00:00 |
|
root
|
c0c37c4c7e
|
security: remove hardcoded Discord token, load from env/GCP Secret Manager
|
2026-03-03 11:58:26 +00:00 |
|
fanziqi
|
22787b3e0a
|
docs: add AI documentation suite and comprehensive code review report
- Generate full AI-consumable docs (docs/ai/): system overview, architecture,
module cheatsheet, API contracts, data model, build guide, decision log,
glossary, and open questions (deep tier coverage)
- Add PROBLEM_REPORT.md: categorized bug/risk summary
- Add DETAILED_CODE_REVIEW.md: full line-by-line review of all 15 backend
files, documenting 4 fatal issues, 5 critical deployment bugs, 4 security
vulnerabilities, and 6 architecture defects with prioritized fix plan
|
2026-03-03 19:01:18 +08:00 |
|
root
|
0d9dffa44d
|
docs: expand v5.3 weight model and refactor implementation checklist
|
2026-03-03 09:35:59 +00:00 |
|
root
|
a17c1434b9
|
docs: add v5.3 development guardrails to gemini analysis
|
2026-03-03 09:22:59 +00:00 |
|
fanziqi
|
ce0bebd6f5
|
docs: update v51 gemini analysis
|
2026-03-03 17:19:27 +08:00 |
|
root
|
b83ab66039
|
docs: incorporate gemini feedback for labels, ATR snapshot, and release metrics
|
2026-03-03 09:08:46 +00:00 |
|
root
|
fb4e1e06e5
|
docs: refine v5.3 with label, execution fallback, btc volatility gate
|
2026-03-03 09:06:40 +00:00 |
|
root
|
18a2c95e40
|
docs: add V5.3 design and implementation checklist
|
2026-03-03 08:58:54 +00:00 |
|
fanziqi
|
4a5d63621f
|
docs: update v51 gemini analysis notes
|
2026-03-03 16:18:48 +08:00 |
|
dev-worker
|
f3d742fd02
|
docs: V5.2模拟盘执行分析报告
核心结论:V5.2毛R=-3.27R(负),V5.1毛R=+10.73R(正)
V5.2增加8信号未提升预测质量,BTC胜率35.9%(更差)
152笔样本不足,结论不确定性高
|
2026-03-03 07:53:15 +00:00 |
|
fanziqi
|
63440efc6d
|
docs: add v51 gemini analysis
|
2026-03-03 15:48:09 +08:00 |
|
dev-worker
|
511f011aef
|
docs: V5.1分析报告+优化方案
- v51-performance-analysis.md: 完整执行分析(毛R/净R/时段/币种/分数段)
- v51-optimization-plan.md: 优化方案(降频+时段过滤+暂停BTC+拉大TP/SL比)
核心结论:毛R+12R,手续费-109R,净R-97R;信号有微弱优势,费用致亏
|
2026-03-03 07:28:53 +00:00 |
|
dev-worker
|
42ccbd35d7
|
docs: 修正V5.1文档参数与实际配置一致
TP/SL修正:
- SL: 2.0×ATR → 1.4×ATR
- TP1: 1.5×ATR → 1.05×ATR
- TP2: 3.0×ATR → 2.1×ATR
- 对应R倍数: tp1_r=0.75, tp2_r=1.5
与backend/strategies/v51_baseline.json和replay脚本完全一致
|
2026-03-03 05:40:07 +00:00 |
|
dev-worker
|
ffd7bed387
|
docs: 补充V5.1/V5.2信号系统详细文档
- v51-signal-system.md: V5.1基础信号系统
- v51-signal-enhancement.md: V5.1增强方案
- v52-signal-system.md: V5.2信号系统
- v52-evolution-roadmap.md: V5.2进化路线图
- v52-development.md: V5.2开发文档(完整版)
|
2026-03-03 05:32:44 +00:00 |
|
dev-worker
|
c8c2d801a2
|
docs: 同步套利引擎私有文档站内容
从private.darkerilclaw.com同步以下文档:
- requirements-v1.3.md: 需求定稿v1.3
- v5-signal-system.mdx: V5信号系统文档
- v2-v4-plan.mdx: V2-V4方案
- funding-rate-arbitrage-plan.md: 资金费率套利方案
- phase0-progress.md: Phase0进度
- index.mdx: 项目首页
后续工作流:git仓库先写 → 再同步到私有文档站
|
2026-03-03 05:26:27 +00:00 |
|
dev-worker
|
548c7f0e33
|
scripts: replay v4 - 加COALESCE(calc_version,0)<2防重复跑
|
2026-03-03 04:51:11 +00:00 |
|
dev-worker
|
809fb60a50
|
scripts: replay_paper_trades v3修复
- 加status NOT IN (active,tp1_hit)保护活跃单
- 内置fee_r扣除: 2*0.0005*entry/rd
- 解决xiaofan审阅的3个硬问题
|
2026-03-03 04:50:00 +00:00 |
|
dev-worker
|
af732f1438
|
scripts: 全量重放paper_trades(真实价口径)
- 用agg_trades真实成交价替换VWAP作为entry_price
- 按时间戳判定事件优先级(非固定优先级)
- TP1后进入半仓状态机,防重复计R
- flip/价格触发tie-break:谁早用谁,同时间优先价格
- 保本价常量: BE_OFFSET_LONG=1.0005, BE_OFFSET_SHORT=0.9995
- 手续费: fee_r = 2*0.0005*entry/risk_distance
- 支持--dry-run模式
|
2026-03-03 04:47:37 +00:00 |
|
dev-worker
|
262594f16e
|
fix: entry_price改用最新成交价(last_trade_price)而非VWAP
VWAP是30分钟加权均价,快速行情下与实际价偏差可达1-2%
历史587笔entry_price+596笔pnl_r已用agg_trades真实价修正
平均偏差31.9bps, 最大189.4bps(1.9%)
V5.1: 42.18R→15.32R | V5.2: 29.83R→0.76R
|
2026-03-03 02:53:56 +00:00 |
|
dev-worker
|
66b094c711
|
fix: 数据新鲜度熔断自动恢复 + 阈值10→30秒(允许启动回灌)
|
2026-03-02 17:41:23 +00:00 |
|
dev-worker
|
8bd5f8fa84
|
fix: 模拟盘前端ActivePositions组件自行fetch config计算paper1R
|
2026-03-02 17:37:03 +00:00 |
|
dev-worker
|
31e6e19ea6
|
fix: V3全面审阅修复 — 12项问题
P0-1: 风控Fail-Closed(状态文件缺失/过期/异常→拒绝开仓)
P0-2: 1R基准跨模块统一(position_sync+risk_guard从live_config动态读)
P0-3: close_all紧急全平校验返回值+二次验仓
P0-4: Coinbase Premium单位修复(premium_pct/100→比例值)
P1-3: 正向funding计入净PnL(不再只扣负值)
P1-4: 数据新鲜度检查落地(查signal_indicators最新ts)
P1-6: live表DDL补全到SCHEMA_SQL(live_config/live_events/live_trades)
P2-1: _get_risk_usd()加60秒缓存
P2-3: 模拟盘前端*200→从config动态算paper1R
P2-4: XRP/SOL跳过Coinbase Premium采集(无数据源)
P3-2: SQL参数化(fetch_pending_signals用ANY替代f-string)
额外: pnl_r公式修正(gross-fee+funding,funding正负都正确计入)
|
2026-03-02 17:28:23 +00:00 |
|
dev-worker
|
22df9152f2
|
fix: testnet环境跳过JWT_SECRET长度检查
|
2026-03-02 16:25:19 +00:00 |
|
dev-worker
|
18506f2a44
|
fix: P1/P2/P3剩余6项全部修复
P1-3: 前端持仓USDT从config读riskUsd(不再硬编码*2)
P1-4: 平仓兜底不盲目取最后成交,无明确平仓记录则延后结算
P2-1: LISTEN连接断线自动重建+重新LISTEN
P2-2: 余额风控LOW_BALANCE自动恢复(余额回升则解除暂停)
P2-3: fetch_pending_signals改用asyncio.to_thread避免阻塞事件循环
P3-1: dashboard页面改用新auth体系(authFetch+useAuth+/api/auth/me)
|
2026-03-02 16:19:03 +00:00 |
|
dev-worker
|
27a51b4d19
|
fix: P0第二轮修复 — JWT安全/DB密码/SL紧急平仓reduceOnly/TP1状态守卫/超时精度/跨策略去重 + 硬编码消除
P0-1: JWT_SECRET生产环境强制配置,测试环境保留默认
P0-2: DB密码生产环境强制从env读,测试环境保留fallback
P0-3: SL三次失败→查真实持仓→reduceOnly平仓→校验结果→写event
P0-4: TP1后SL重挂失败则不推进tp1_hit状态,continue等下轮重试
P0-5: 超时自动平仓用SYMBOL_QTY_PRECISION格式化+校验结果
P0-6: 同币种去重改为不区分策略(币安单向模式共享净仓位)
P1-1: 手续费窗口entry_ts-200→+200(避免纳入开仓前成交)
额外: 模拟盘*200和实盘*2硬编码→从配置动态读取
|
2026-03-02 16:11:43 +00:00 |
|
root
|
8694e5cf3a
|
fix: 审阅P1/P2/P3全部修复
P1-1: exit_price按reduceOnly过滤平仓成交+加权平均价
P1-2: 资金费率窗口对齐8h结算周期(0/8/16 UTC),防双累加
P2-2: emergency文件先执行操作+写state再删除,消除TOCTOU
P2-3: API恢复auto_resume排除日限亏损/人工熔断
P2-4: fee汇总窗口从entry_ts-200ms起算(与P1-1一起修)
P3-1: SYMBOL_PRECISION提取到trade_config.py共用模块
P3-2: main.py 4处hardcoded risk_usd=2改为从live_config读
P3-3: CORS限制为arb.zhouyangclaw.com+localhost
P3-4: 三进程加RotatingFileHandler(10MB×5轮转)
|
2026-03-02 14:04:33 +00:00 |
|
root
|
638589852b
|
fix: P0审阅修复 + P1/P2增强
P0-1: SL挂单失败→重试2次→3次失败紧急市价平仓+写event
P0-2: TP1检测改用DB qty字段(新增)比对仓位减少,不再用orderId
P0-3: emergency-close/block-new/resume/config PUT加admin权限验证
P0-5: risk_guard全平qty按币种精度格式化(BTC:3/ETH:3/XRP:0/SOL:2)
P1-3: NOTIFY收到后立即处理跳过sleep,减少信号延迟
P2-1: 三个进程加DB连接断线重连(ensure_db_conn)
DB: live_trades新增qty字段
|
2026-03-02 13:56:36 +00:00 |
|
root
|
855df24eba
|
feat: signal-engine配置热加载,改paper_config不需要重启
- 每60轮(~15分钟)自动重读paper_config.json
- 检测enabled_strategies变更时输出日志
- 避免频繁重启导致:
- 4h历史数据重新回灌
- CVD/VWAP窗口状态丢失
- 45秒warmup+10分钟冷却期
- 信号准确度下降
|
2026-03-02 13:12:04 +00:00 |
|
root
|
3b6e7d8af3
|
feat: live_executor从DB读配置,前端改完60秒内生效
- reload_live_config()每60秒从live_config表读取
- RISK_PER_TRADE_USD和MAX_POSITIONS实时更新
- 范总在前端改1R金额→保存→下次开仓自动用新值
- 不需要重启进程
|
2026-03-02 10:58:31 +00:00 |
|
root
|
b0a463a22c
|
feat: 实盘配置面板 (live_config)
DB:
- live_config表(key/value/label/updated_at)
- 默认7项: 1R金额/初始本金/风险比例/最大持仓/杠杆/策略/环境
API:
- GET /api/live/config — 读取全部配置
- PUT /api/live/config — 批量更新配置
前端:
- L1.5配置面板(L1止血和L2账户之间)
- 标题栏醒目显示 1R = $X.XX
- 7列网格: 图标+标签+值
- 编辑模式: 点编辑→改值→保存/取消
- 各项格式化: $前缀/%后缀/x后缀
|
2026-03-02 10:55:52 +00:00 |
|
root
|
b1731f0f79
|
fix: SL/TP挂单用Algo Order API降级
币安2025年底breaking change: STOP_MARKET/TAKE_PROFIT_MARKET
从/fapi/v1/order移到/fapi/v1/algo/order
- 先尝试传统endpoint
- 收到-4120错误码自动切换Algo Order API
- 实盘和测试网都兼容
|
2026-03-02 10:38:30 +00:00 |
|
root
|
cc1b2c33c1
|
fix: 测试网STOP_MARKET降级为STOP限价单
测试网不支持STOP_MARKET/TAKE_PROFIT_MARKET order type
检测TRADE_ENV=testnet时自动降级:
- STOP_MARKET → STOP + price + GTC
- TAKE_PROFIT_MARKET → TAKE_PROFIT + price + GTC
实盘(mainnet)不受影响
|
2026-03-02 10:34:04 +00:00 |
|
root
|
1bf880cebb
|
chore: 三个实盘模块加dotenv加载.env
live_executor/position_sync/risk_guard启动时自动加载backend/.env
确保TRADE_ENV/BINANCE_API_KEY/SECRET_KEY/PG_HOST等环境变量生效
|
2026-03-02 10:28:39 +00:00 |
|
root
|
22d06efafe
|
feat: 信号新鲜度保护 — 超过2秒弃仓
- execute_entry最前面检查signal_age = now - signal_ts
- >2000ms直接return None,不开仓
- 写warn级别event到live_events(含age_ms和score)
- 正常NOTIFY链路<100ms,超2秒说明有异常
|
2026-03-02 10:26:22 +00:00 |
|
root
|
d7788d3766
|
feat: L7事件流 — live_events表+API+前端+三模块事件写入
DB:
- live_events表(id/ts/level/category/symbol/message/detail)
后端:
- GET /api/live/events?limit=30&level=all|critical|warn|info&category=all|trade|risk
- log_live_event() 异步辅助函数
事件源:
- live_executor: 开仓成功写event(trade/info, 含滑点/score)
- position_sync: 平仓写event(trade, 含PnL拆解)
- risk_guard: 熔断/禁仓/恢复写event(risk/critical|warn|info)
前端L7:
- 5秒轮询, 最近30条事件
- 按级别筛选(全部/严重/警告/信息)
- 彩色分类标签(trade绿/risk红/system灰/reconciliation紫)
- 时间线布局, 最大高度56带滚动
|
2026-03-02 10:22:40 +00:00 |
|
root
|
fb0c3806b5
|
feat: PnL五项拆解 (gross/fee/funding/slippage/net)
后端:
- /api/live/trades 返回 gross_pnl_r, fee_r, funding_r, slippage_r, net_pnl_r
- gross = 方向盈亏(含TP1半仓锁定)
- fee_r = 实际手续费/risk_usd
- funding_r = 不利资金费/risk_usd
- slippage_r = 滑点损失估算
- net = pnl_r(已是净值)
前端L10:
- 表头改为: Gross | Fee | FR | Slip | Net
- 颜色: gross绿/红, fee橙, FR紫, slip灰, net加粗绿/红
- 每笔交易一目了然:赚了多少、扣了多少、净剩多少
|
2026-03-02 10:13:51 +00:00 |
|
root
|
ab27e5a4da
|
feat: 资金费率结算追踪 + 平仓PnL用真实手续费
资金费率追踪(position_sync.py):
- 每8小时结算窗口(UTC 0/8/16后5分钟内)查询币安income API
- 按symbol汇总FUNDING_FEE,累加到live_trades.funding_fee_usdt
- 只查最近30分钟内的记录,防止重复计入
平仓PnL改进:
- 从币安userTrades获取真实commission手续费(不再估算)
- PnL拆解: net = gross - fee_r - funding_r
- fee_usdt写入DB
- 日志输出完整拆解: gross/fee/funding/net
|
2026-03-02 10:10:11 +00:00 |
|