feat: ECR-003 主站威科夫分析与图表叠层(已审)

独立 wyckoff 引擎 + 按需 include_wyckoff;主站 Lightweight 绘制区间/阶段/事件/VP。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-06 18:33:57 +08:00
co-authored by Cursor
parent df27b4dde8
commit 081a57a90e
30 changed files with 1330 additions and 52 deletions
+34 -20
View File
@@ -128,27 +128,41 @@ def serialize_pipeline(tf) -> dict:
}
def analyze_contract_keys() -> list:
def analyze_contract_keys() -> dict:
"""文档化 /api/analyze 主周期关键字段(契约冒烟用)。"""
return sorted(
[
"timezone",
"kline_data",
"klc_list",
"bi_list",
"uncompleted_bi_list",
"seg_list",
"uncompleted_seg_list",
"zs_list",
"uncompleted_zs_list",
"bi_zs_list",
"bsp_list",
"klc_fx_info",
"macd",
"chan_macd",
"klc_trend",
]
)
return {
"required": sorted(
[
"timezone",
"kline_data",
"klc_list",
"bi_list",
"uncompleted_bi_list",
"seg_list",
"uncompleted_seg_list",
"zs_list",
"uncompleted_zs_list",
"bi_zs_list",
"bsp_list",
"klc_fx_info",
"macd",
"chan_macd",
"klc_trend",
]
),
"optional_when": {
"include_structure_zones": ["structure_zones"],
"include_wyckoff": ["wyckoff"],
},
"wyckoff_keys": [
"trading_range",
"bias",
"phases",
"events",
"volume_profile",
"volume_confirm",
],
}
def run_pipeline(df: pd.DataFrame):