把 K 线数组输进去,得到形态信号 + 量价态结论 + 买卖建议修正。 不依赖任何特定数据源,可接入任意行情接口(股票、期货、ETF、加密资产通用)。
手写技术分析最常见的两个坑,本项目都踩过并修好了:
- 数形态个数 → 5 个一星中性形态盖过 1 个三星看跌吞没,导致「偏空占多数却给出看涨结论」。 本引擎按可靠度加权(★=0.6、★★=1.6、★★★=2.5),力度而非数量决定结论。
- 陈旧警告永久生效 → 10 天前的看跌吞没卡死今天的三底突破。
本引擎中,6-10 根前的三星看跌形态若被后续 ≥2 星看涨形态修复,自动标记
reclaimed并失效。
npm installnpm run demo # 用内置示例数据演示
npm run analyze -- ./my-kline.json # 分析自己的数据
npm run analyze -- ./my-kline.json BOTTOM_BUY # 指定基础建议数据格式(JSON 数组,按时间升序):
[
{ "date": "2026-01-02", "open": 10.1, "high": 10.5, "low": 10.0, "close": 10.3, "volume": 12345 }
]import { analyze } from 'kline-pattern-engine';
const result = analyze(bars, { baseAdvice: 'ACCUMULATE' });
result.patternScore; // +0.7,多空力度(-12 ~ +12),建议直接计入综合评分
result.volumePrice.conclusion; // 一句话量价态结论(中文,可直接展示给用户)
result.patterns; // 形态列表:方向、星级、距今日数、含义、目标价
result.advice; // 按形态纪律修正后的建议与说明输出示例:
【形态分】+0.7(-12 ~ +12)
近 10 日有效形态:看涨 5 · 看跌 7 · 中性 2
【识别到的形态】
看跌 ★★★ 看跌吞没 当日
看跌 ★★★ 黄昏星 当日
看涨 ★★★ 看涨吞没 2 日前
看涨 ★★★ 上升三法 4 日前 [已被走势修复]
【决策修正】
基础建议:ACCUMULATE(分批建仓)
修正结果:WAIT(观望等待)
说明:近期出现三星看跌形态(看跌吞没、黄昏星),TAST 纪律下任何底部买点信号都需等待形态转暖后再介入
| 体系 | 数量 | 覆盖 |
|---|---|---|
| 蜡烛图形态 | 70 | 单根 16(锤子线/上吊线/十字星/光头光脚…) 双根 22(吞没/刺透/乌云盖顶/孕线/镊子…) 三根及以上 24(启明星/黄昏星/红三兵/三只乌鸦…) |
| 经典形态 | 27+ | 头肩顶底、双顶底、三顶底、对称/上升/下降三角形、升降楔形、旗形、三角旗、矩形、圆弧顶底、V 形顶底、扩散形态、菱形、缺口四分类、岛形反转 |
理论基础:
- 《股市趋势技术分析》Edwards · Magee · Bassetti(道氏结构、反转/持续形态、量度目标价、缺口理论)
- 《日本蜡烛图技术》Steve Nison(蜡烛图形态几何判定)
道氏趋势结构(HH/HL/LH/LL 摆动点判定)、阳阴均量比、OBV 能量潮、近 20 日支撑压力, 综合为八种结论分支(偏多 / 偏空 / 中性偏多 / 中性 / 震荡偏多 / 震荡偏空 / 多空分歧 / 背离修复中)。
src/decision.ts 输入你自己的基础建议,输出按形态纪律修正后的结果:
- 反转形态优先于趋势惯性 — 有效三星看跌形态出现时,买点信号一律降级为「观望等待」
- 反转信号可被走势否定 — 被后续看涨结构修复的警告自动失效,避免过度打压
- 共振增强 — 形态与底部/趋势特征同向时信号更强
修正规则与「有效三星看跌」判定共用同一套逻辑,保证结论与建议永不打架。 该规则已在 101 个标的的真实数据上验证:买入信号保留完整,零矛盾案例。
src/
types.ts 通用类型定义
candlePatterns.ts 70 个蜡烛图形态
chartPatterns.ts 27+ 个经典形态 + 摆动点提取
patternEngine.ts 识别引擎 + 量价态分析 + 有效警告判定
decision.ts TAST 纪律下的建议修正
index.ts 一站式入口 analyze()
scripts/
demo.ts 示例数据演示
analyze-file.ts 分析本地 JSON 文件
examples/
sample-kline.json 260 根真实 K 线样例
MIT