Pharos
TAKline

三线打击 (3-Line Strike)

TA.CDL3LINESTRIKE() - 趋势持续形态

返回K线形态目录


语法

python
result = TA.CDL3LINESTRIKE(records)

参数

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

返回值

  • 100: 看涨持续信号
  • -100: 看跌持续信号
  • 0: 无信号

形态特征

三线打击是一个四日趋势持续形态

看涨三线打击

  • 前三天:连续三根黑色K线下跌
  • 第四天:强劲白色K线,收盘高于第一天开盘
  • 结果:下跌只是回调,趋势继续向上

看跌三线打击

  • 前三天:连续三根白色K线上涨
  • 第四天:强劲黑色K线,收盘低于第一天开盘
  • 结果:上涨只是反弹,趋势继续向下

信号解读

  1. 看涨持续 (100)

    • 上涨趋势中的回调
    • 第四天强势反包
    • 确认趋势依然强劲
    • 适合加仓做多
  2. 看跌持续 (-100)

    • 下跌趋势中的反弹
    • 第四天强势压制
    • 确认跌势未改
    • 适合加仓做空

使用示例

python
def onTick():
    exchange.SetContractType("swap")
    records = exchange.GetRecords()
    
    if len(records) < 100:
        return
    
    # 检测三线打击
    strike3 = TA.CDL3LINESTRIKE(records)
    
    if strike3[-1] == 100:
        # 看涨持续 - 回调结束,趋势延续
        ma20 = TA.MA(records, 20)
        
        if records[-1].Close > ma20[-1]:
            # MACD确认趋势
            macd = TA.MACD(records, 12, 26, 9)
            
            if macd[0][-1] > macd[1][-1]:  # DIF > DEA
                Log("检测到看涨三线打击,趋势持续")
                
                # 加仓做多
                exchange.SetDirection("buy")
                exchange.Buy(-1, 1)
    
    elif strike3[-1] == -100:
        # 看跌持续 - 反弹结束,跌势延续
        ma20 = TA.MA(records, 20)
        
        if records[-1].Close < ma20[-1]:
            # MACD确认趋势
            macd = TA.MACD(records, 12, 26, 9)
            
            if macd[0][-1] < macd[1][-1]:  # DIF < DEA
                Log("检测到看跌三线打击,跌势持续")
                
                # 加仓做空
                exchange.SetDirection("sell")
                exchange.Sell(-1, 1)

相关形态


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