jackyu66git and Cursor
340676bfbd
fix(web): 分型框竖边 canvas 绘制,换币对强制全量刷新
...
LWC 折线无法画真竖线;增量刷新时用坐标采样补刷竖边,避免与横边脱节。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-11 17:32:18 +08:00
jackyu66git and Cursor
9cf625c413
fix(web): 小周期切换时对齐标记,避免 LWC Value is null
...
主周期笔/KLC 分型标记在切到 1m/2m 主图时未对齐 K 线 time;过滤均线无效点并钳制视窗恢复。顺带统一 BI 中枢计算路径。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 17:06:31 +08:00
jackyu66git and Cursor
18a7f485e6
feat(web): 增量自动刷新、结构区修复与默认指标/周期
...
自动刷新常态只拉 recent 尾部 K,每 1 分钟全量重算缠论;修复结构区缓存导入;默认指标/4h·1h·15m/近30天;同步 ECR-009 screener 相关改动。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 15:45:40 +08:00
jackyu66git and Cursor
0f6eb92a1f
test(ECR-009): 补页面/API 路由冒烟与 TEST_REPORT
...
交付前缺 Flask 常驻与路由断言;现补齐 pytest 与报告。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 16:03:37 +08:00
jackyu66git and Cursor
9880e236a5
docs(ECR-009): record implementation commit in TRACEABILITY
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 15:46:35 +08:00
jackyu66git and Cursor
ec08de098e
feat(ECR-009): Crypto Wyckoff Screener 独立页(D/W/M)
...
移植 A_Share_DP 引擎;本地缓存与 60s tip;月线由日线 UTC 聚合;不碰主站 analyze/缠论叠层。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 15:46:35 +08:00
jackyu66git and Cursor
6c627f009a
docs(ECR-008): record implementation commit in TRACEABILITY
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 15:09:48 +08:00
jackyu66git and Cursor
dbb6202325
feat(ECR-008): 拆分主站 chart_tv.js 为多模块薄门面
...
行为冻结物理拆分;保留 initTradingView/dispose 对外 API;无打包器。node --check 全绿。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 15:09:48 +08:00
jackyu66git and Cursor
efad2bb333
docs(ECR-007): archive LOOP-RUN-005 and sync STATE
...
关门收尾:归档 loop/gate 产物至 docs/runs,同步 CURRENT/MEMORY/PROFILE,并忽略工作目录 .gates/loop。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 15:02:54 +08:00
jackyu66git and Cursor
2964d6f230
docs(ECR-007): mark LOOP-RUN-005 DONE after Final Approval
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 03:20:39 +08:00
jackyu66git and Cursor
7991a6b2bf
docs(ECR-007): record implementation commit in TRACEABILITY
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 03:14:19 +08:00
jackyu66git and Cursor
276481e02c
feat(ECR-007): Wyckoff Live Structure with Confirmed/Live isolation
...
Add live.py lifecycle and event candidates; assemble confirmed vs live
in engine; Summary partition; execution_signal source=confirmed only.
Keep strategies untouched; do not lower Confirmed thresholds for Live.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 03:14:19 +08:00
jackyu66git and Cursor
1e60ab3bfa
docs: 补强 ECR-004 CODE_REVIEW 复审记录
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-06 18:47:18 +08:00
jackyu66git and Cursor
d3188ca83c
fix: ECR-004 威科夫区间评分硬化与 VP 绘图减负(已审)
...
评分选 TR、阶段最小跨度、elements_only 门闩、Top-8 VP;无币种独立参数。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-06 18:46:08 +08:00
jackyu66git and Cursor
ac6be80278
docs: 开启 ECR-004 威科夫硬化与 VP 减负(Draft)
...
跟进 ECR-003 Review Findings;待 Approve 后实现。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-06 18:35:25 +08:00
jackyu66git and Cursor
081a57a90e
feat: ECR-003 主站威科夫分析与图表叠层(已审)
...
独立 wyckoff 引擎 + 按需 include_wyckoff;主站 Lightweight 绘制区间/阶段/事件/VP。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-06 18:33:57 +08:00
jackyu66git and Cursor
df27b4dde8
refactor: ECR-002 拆分 runtime 包并加深 analyze 契约(已审)
...
将 web/services/runtime.py 拆为 runtime/ 子模块并保持门面兼容;补齐 ESS 文档、门面/契约/TF_DF 测试与 CODE_REVIEW Approve。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-06 18:15:23 +08:00
jackyu66git and Cursor
9f1e7361b6
fix: 修复主站自动刷新内存泄漏,并完善 chan_tv 图表体验
...
主站重建前完整 dispose、去掉重复 sync 监听,自动刷新默认增量更新;顺带消除首屏重复 analyze、复用 ChanMACD,以及全版 TV 指标/未完成中枢/布局本地缓存。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-06 16:09:48 +08:00
jackyu66git and Cursor
6b0f3b5837
release: 发布系统版本 v1.0.0(ECR-001)
...
落盘 CODE_REVIEW Approve 与 RELEASE_REPORT,标记首个正式 release。
Co-authored-by: Cursor <cursoragent@cursor.com >
v1.0.0
2026-08-05 18:53:04 +08:00
jackyu66git and Cursor
74dec4e50b
refactor: 缠论引擎包化与 Web 分层(ECR-001)
...
将根目录引擎迁入 chanlun/ 并保留兼容 shim;拆分 TF_DF 与 web 服务;
前端模块化;strategies 改用 chanlun 导入;补充 ESS 文档与 golden 回归。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-05 18:48:20 +08:00
jackyu66git and Cursor
e2e45bc1bc
chore: 移除不再使用的 ChanMacro、system、tests。
...
这些目录已废弃,从仓库中清理。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-05 18:11:29 +08:00
jackyu66git and Cursor
f2e77e1bdb
chore: 将 data_provider 拆出为独立仓库。
...
数据服务已迁移至 jack/data_provider,不再随 chan 维护。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-05 18:10:29 +08:00
jackyu66git and Cursor
b31215057e
chore: 将 bsp_monitor 拆出为独立仓库。
...
监控服务已迁移至 jack/bsp_monitor,不再随 chan 维护。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-05 18:09:43 +08:00
jackyu66git
2e905e7238
feat: 所有页面接入 Google Analytics (G-LVVXH3TL04)
2026-07-02 15:57:15 +08:00
jackyu66git
02a52c04dd
feat: 所有页面接入 Google Analytics (G-LVVXH3TL04)
2026-07-02 15:38:31 +08:00
jackyu66git
19c8f86862
docs: API 手册新增 Onchain Metrics 专题 + endpoints 表更新
2026-07-02 15:19:45 +08:00
jackyu66git
ffe7074fef
data_provider: 新增链上指标模块 (btc_netflow/stablecoin_supply/etf_flow/mvrv_zscore)
...
- onchain_metrics.py: 独立模块,CoinMetrics/CoinGecko/Farside 免费数据源
- main.py: 集成后台线程 + REST API (/api/onchain/metrics, /latest, /available)
- requirements.txt: 添加 requests 依赖
- 5分钟自动刷新,CSV 落盘到 data/onchain/
2026-07-02 15:09:02 +08:00
jackyu66git
7b91f459d7
scheduler: auto-detect new signals once per day, deduplicate existing
...
- scheduler tick runs detect after fetch+score (once per UTC day)
- ChanSignalDetector skips already-recorded signals
- Prevents duplicate signal_features entries on repeated runs
2026-06-24 19:19:40 +08:00
jackyu66git
3c72aa1310
chan_integration: auto-detect BSP signals from daily+4h Chan pipeline
...
- ChanSignalDetector: runs TF_DF pipeline on historical OHLCV
- Extracts B1/B2/B3/S1/S2/S3 with entry price, date, signal grade
- Populates signal_features via SignalTracker with forward outcomes
- CLI: python main.py detect --from 2024-01-01
- 15 signals detected (5 daily + 10 4h), all directionally correct
- Expectancy API now returns real conditional probabilities
2026-06-24 19:19:11 +08:00
jackyu66git
8d916371e2
backfill: historical breadth + regime computation from TOP50 OHLCV
...
- Step 1: fetch BTC OHLCV
- Step 2: fetch TOP50 daily data → compute breadth per date → store breadth_daily
- Step 3: compute Price/Breadth/OI/Vol → detect regime → store regime_history
- 175 days backfilled (2026-01-01 to 2026-06-24)
2026-06-24 18:37:20 +08:00
jackyu66git
7e19c9858e
scheduler: auto fetch+score every 60min, integrated into web and CLI
2026-06-24 18:35:47 +08:00
jackyu66git
efb721b39f
fix: persist regime to DB in shared _build_state, deduplicate save logic
...
- _build_market_state (CLI) now saves regime_history automatically
- _build_state (web) now saves regime_history automatically
- Remove duplicate regime save from cmd_score
- Remove unused imports (timedelta, get_connection)
- Fix: web dashboard never updated regime_history table
2026-06-24 18:31:00 +08:00
jackyu66git
7813e319b4
web: professional trading-terminal redesign — dark theme, chart grid, progress bars
2026-06-24 18:28:40 +08:00
jackyu66git
f391020f78
web: fix dark theme readability — explicit bright colors for all factor values
2026-06-24 18:27:41 +08:00
jackyu66git
0ba5b3bd71
chanmacro: add web dashboard (Flask + Chart.js, port 8124)
...
- /api/state: current market state with all factor scores
- /api/history: regime + breadth history for charts
- /api/expectancy: signal expectancy query
- Bootstrap 5 + Chart.js dark theme, Chinese UI
- Factor cards, regime timeline, breadth chart, expectancy table
2026-06-24 18:25:33 +08:00
jackyu66git
50a609f7b9
chanmacro: connect to production provider, fix Breadth symbol list and regime crash
...
- Change provider_url to https://provider.jackyu66.com
- Update top50_symbols to match provider's actual 20 symbols
- Fix cmd_score crash: all_scores keys are already strings, not enums
- Add .gitignore to exclude data/ directory
2026-06-24 18:23:27 +08:00
jackyu66git
48e69179b3
data_provider: add /api/derivatives endpoint documentation
2026-06-24 17:47:42 +08:00
jackyu66git and Claude
71951019fb
chanmacro: Signal Expectancy Engine V1 — Market Memory System
...
Phase A-C complete: 4 core factors, regime detection, signal tracking, Bayesian expectancy.
chanmacro/ (32 files, ~4000 lines):
- models: 12 enums + 15 Pydantic v2 models (DateAwareModel, MarketStateVector, etc.)
- fetchers: OHLCV + Breadth (from data_provider) + Derivatives (new endpoint)
- scoring: Price Structure / Breadth (quantile buckets) / OI Matrix (5 discrete states) / Volatility Regime
- regime_detector: 3-state (TREND/RANGE/PANIC), factor-locked (Price+Breadth+Vol), versioned, 2-day confirmation
- expectancy: SignalTracker (record+outcomes), TimeDecay (half-life=180d), BayesianExpectancyEngine (Empirical Bayes, Leveled, SufficiencyGuard)
- validation: FactorValidator (IC/ICIR/Hit Ratio), RegimeValidator (MI/KL/ANOVA), TransitionValidator (stability)
- CLI: fetch|score|regime|track|backfill|expectancy|validate|serve
- tests: 52 passing (models, scoring, regime, expectancy)
data_provider:
- /api/derivatives endpoint: funding rate, OI, OI change, basis
- _derivatives storage: same persist pattern as K-line (merge→lock→snapshot→atomic write)
- background refresh every 60s
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-24 17:44:55 +08:00
jackyu66git
34040575c1
bsp_monitor: fetcher limit=1000, engine/main tweaks
2026-06-04 12:51:58 +08:00
jackyu66git
e1116edb7b
更新了本地数据拉取
2026-05-26 14:49:31 +08:00
jackyu66git and Claude Opus 4.7
8bc23c0507
notify: 移除持久化去重,BSP 由新笔确认驱动不重复
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 14:46:10 +08:00
jackyu66git and Claude Opus 4.7
c75d5e11fc
notify: Telegram token/chatid 直接硬编码
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 14:45:41 +08:00
jackyu66git and Claude Opus 4.7
8eb50e3eae
bsp_monitor: 多周期 BSP 推送 (1m/5m/15m/1h),中枢监控代码保留但暂停
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 14:42:53 +08:00
jackyu66git and Claude Opus 4.7
42296ef971
refactor: BSP推送提取公共函数 + 清理
...
- _push_bsp() 提取重复的key构造+推送逻辑
- bsp.klc None防护
- getattr替代hasattr+属性访问
- 修正首轮日志(不再写"不推送")
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 14:05:20 +08:00
jackyu66git and Claude Opus 4.7
a84a80cb62
Revert: BSP独立跟踪confirmed[-1],不与中枢监控耦合
...
B1/B2依赖中枢存在,不能等中枢更新才查BSP。
保持独立bi_id跟踪confirmed[-1]变化,分型确认时即查BSP。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 14:02:07 +08:00
jackyu66git and Claude Opus 4.7
63787b173a
fix: 新笔确认即查BSP(反向二类分型触发),首轮也查confirmed[-1]
...
笔被反向二类分型确认时is_sure=True,不需要等下一笔。
- 跟踪confirmed[-1]变化→查新确认那笔自身的BSP
- 首轮也查confirmed[-1],避免漏掉监控启动前刚确认的BSP
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 13:59:02 +08:00
jackyu66git and Claude Opus 4.7
07f079067f
fix: 跟踪confirmed[-1],新笔确认时查上一轮confirmed[-1]的BSP
...
以前跟踪bi_list[-1](含未确认)导致时序不对。
现在跟踪confirmed[-1]的稳定ID,变化时在bi_list中精确定位
上一轮的那笔,查其end_klc是否为BSP。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 13:55:48 +08:00
jackyu66git and Claude Opus 4.7
ae4c79c133
fix: BSP检测用last_bi_id精确定位旧笔,替代confirmed[-2]索引
...
管线重算后笔列表可能变化,confirmed[-2]不一定是刚结束的笔。
改为用上一轮的last_bi_id在当前bi_list中精确查找,
找到后再检查其end_klc是否为BSP。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 13:35:20 +08:00
jackyu66git and Claude Opus 4.7
743c5d342e
fix: review修复 — 补回last_df_ts、枚举替换魔数、移除死代码
...
- SymbolState 补回 last_df_ts,无效新K线时跳过管线
- _bi_id 添加 start_klc None 防护
- last_bi.dir.value == 1 改为 Chan_BI_DIR.UP 枚举比较
- notify.py 移除未使用的 register_bsp_keys
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 12:56:17 +08:00
jackyu66git and Claude Opus 4.7
78d02cf2ef
refactor: BSP检测改为新笔驱动,不再逐tick对比BSP列表
...
- 用 last_bi_id (start_klc.start_time) 跟踪最后一笔
- 新笔确认时检查上一笔终点是否为 BSP → 推送
- 中枢更新同样在新笔产生时触发
- 移除时间过滤、BSP列表diff、持久化去重等冗余逻辑
- 无新笔时快速跳过,tick从40s降到15s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 12:52:36 +08:00