这段代码并没有依赖任何内置的形态识别函数,而是通过严格的数学公式和比例来定义每一种 K 线形态。它主要利用了当前 K 线与历史 K 线(如 [1] 表示上一根 K 线,[2] 表示上上根)的 Open(开盘价)、High(最高价)、Low(最低价)和 Close(收盘价)之间的关系。
以 十字星 Doji 为例,逻辑如下:
- 实体(收盘价与开盘价的差值)必须小于整根 K 线振幅(最高价与最低价的差值)的 10%。
- 上影线长度必须大于实体的 3 倍。
- 下影线长度也必须大于实体的 3 倍。
通过这种比例计算,将主观的视觉形态转化为了客观的数学条件。
代码一共定义了 33 个变量,涵盖了三大类形态,并在图表上以不同的颜色和箭头进行标记:
看涨形态(绿色向上箭头,标记在 K 线下方):
- 反转形态: 早晨之星 (Morning Star)、早晨十字星、刺透形态 (Piercing Pattern)、倒锤头线 (Inverted Hammer Green/Red)、平底 (Tweezers Bottom)、塔形底 (Tower Bottom)、看涨吞没 (Bullish Engulfing)。
- 持续形态: 蜻蜓十字星 (Dragonfly Doji)、看涨孕线 (Bullish Harami)、看涨分离线 (Bullish Separating Lines)、看涨颈内线 (Bullish In Neck)。
- 看跌形态(红色向下箭头,标记在 K 线上方):
- 反转形态: 乌云盖顶 (Dark Cloud Cover)、黄昏之星 (Evening Star)、黄昏十字星、墓碑十字星 (Gravestone Doji)、上吊线 (Hanging Man)、平顶 (Tweezers Top)、塔形顶 (Tower Top)、看跌吞没 (Bearish Engulfing)。
- 持续形态: 看跌孕线 (Bearish Harami)、看跌分离线 (Bearish Separating Lines)、看跌颈内线、看跌插入线 (Bearish Thrusting)。
- 中立/犹豫形态(白色圆形):
|
|