Pharos
TAKline

三外部 (3 Outside Up/Down)

TA.CDL3OUTSIDE() - 双向反转形态

返回K线形态目录


语法

python
result = TA.CDL3OUTSIDE(records)

参数

参数类型说明
recordsarrayK线数据数组

返回值

  • 100: 看涨三外部(3 Outside Up)
  • -100: 看跌三外部(3 Outside Down)
  • 0: 无信号

形态特征

三外部是三日反转形态,基于吞没形态:

看涨三外部(3 Outside Up)

  • 第一天:黑色实体
  • 第二天:白色长实体,完全吞没第一天(吞没形态)
  • 第三天:白色实体,收盘高于第二天
  • 结果:确认反转向上

看跌三外部(3 Outside Down)

  • 第一天:白色实体
  • 第二天:黑色长实体,完全吞没第一天(吞没形态)
  • 第三天:黑色实体,收盘低于第二天
  • 结果:确认反转向下

本质是吞没形态 + 确认K线。

信号解读

  1. 看涨三外部 (100)

    • 下跌趋势末期出现
    • 前两天形成吞没
    • 第三天继续上涨确认
    • 信号强度:⭐⭐⭐⭐⭐
  2. 看跌三外部 (-100)

    • 上涨趋势末期出现
    • 前两天形成吞没
    • 第三天继续下跌确认
    • 信号强度:⭐⭐⭐⭐⭐

使用示例

python
def onTick():
    exchange.SetContractType("swap")
    records = exchange.GetRecords()
    
    if len(records) < 100:
        return
    
    # 检测三外部形态
    outside3 = TA.CDL3OUTSIDE(records)
    
    if outside3[-1] == 100:
        # 看涨三外部 - 强烈反转信号
        ma20 = TA.MA(records, 20)
        
        if records[-1].Close > ma20[-1]:  # 突破均线
            # 成交量确认
            vol_ma = TA.MA([{'Close': r.Volume} for r in records[-10:]], 5)
            
            if records[-1].Volume > vol_ma[-1]:
                Log("检测到看涨三外部(突破均线+放量)")
                
                exchange.SetDirection("buy")
                exchange.Buy(-1, 2)  # 强信号,双倍仓位
    
    elif outside3[-1] == -100:
        # 看跌三外部 - 强烈反转信号
        ma20 = TA.MA(records, 20)
        
        if records[-1].Close < ma20[-1]:  # 跌破均线
            # 成交量确认
            vol_ma = TA.MA([{'Close': r.Volume} for r in records[-10:]], 5)
            
            if records[-1].Volume > vol_ma[-1]:
                Log("检测到看跌三外部(跌破均线+放量)")
                
                exchange.SetDirection("sell")
                exchange.Sell(-1, 2)  # 强信号,双倍仓位

相关形态


返回K线形态目录 | 返回TA指标