K 线形态 - 多空夹击

两阳夹一阴

  • 逻辑说明:三根 K 线,两边是阳线,中间是阴线。整体趋势向上,中间的阴线为洗盘调整。第二根阴线的实体通常被第一根阳线的实体覆盖,且第三根阳线的收盘价高于第一根阳线的收盘价。这是一种看涨中继形态。

  • 计算公式

    1. 第一根阳线:收盘 [-2] > 开盘 [-2]

    2. 第二根阴线:收盘 [-1] < 开盘 [-1]

    3. 第三根阳线:收盘 > 开盘

    4. 第三根阳线的收盘价创三根 K 线的新高:收盘 > 收盘 [-2]

    5. 第二根阴线的实体通常被第一根阳线的实体覆盖:max(收盘 [-1], 开盘 [-1]) < max(收盘 [-2], 开盘 [-2]) && min(收盘 [-1], 开盘 [-1]) > min(收盘 [-2], 开盘 [-2])

两阴夹一阳

  • 逻辑说明:与“两阳夹一阴”相反。三根 K 线,两边是阴线,中间是阳线。整体趋势向下,中间的阳线为反弹诱多。第二根阳线的实体通常被第一根阴线的实体覆盖,且第三根阴线的收盘价低于第一根阴线的收盘价。这是一种看跌中继形态。

  • 计算公式

    1. 第一根阴线:收盘 [-2] < 开盘 [-2]

    2. 第二根阳线:收盘 [-1] > 开盘 [-1]

    3. 第三根阴线:收盘 < 开盘

    4. 第三根阴线的收盘价创三根 K 线的新低:收盘 < 收盘 [-2]

    5. 第二根阳线的实体通常被第一根阴线的实体覆盖:max(收盘 [-1], 开盘 [-1]) < max(收盘 [-2], 开盘 [-2]) && min(收盘 [-1], 开盘 [-1]) > min(收盘 [-2], 开盘 [-2])

返回值:

两阳夹一阴时返回 1,表示看涨中继形态;

两阴夹一阳时返回 -1,表示看跌中继形态;

否则返回 0


指标参数:

$y

输出列名

函数代码:


A

B

1

func PriceSandwich(A,$y)

=A.run(if(收盘 [-2] < 开盘 [-2] && 收盘 [-1] > 开盘 [-1] && 收盘 < 开盘 && 收盘 < 收盘 [-2] && max(收盘 [-1], 开盘 [-1]) < max(收盘 [-2], 开盘 [-2]) && min(收盘 [-1], 开盘 [-1]) > min(收盘 [-2], 开盘 [-2]):-1,

收盘 [-2] > 开盘 [-2] && 收盘 [-1] < 开盘 [-1] && 收盘 > 开盘 && 收盘 > 收盘 [-2] && max(收盘 [-1], 开盘 [-1]) < max(收盘 [-2], 开盘 [-2]) && min(收盘 [-1], 开盘 [-1]) > min(收盘 [-2], 开盘 [-2]):1;

0):${y})

举例:

调用脚本计算浦发银行 2024 年的多空夹击形态:


A


1

/计算出源数据

2

=A1.derive(:PriceSandwich)

/增加要返回的指标字段

3

=PriceSandwich(A2, PriceSandwich)

/调用函数计算指标

运行效果:

..