TAKline
三线打击 (3-Line Strike)
TA.CDL3LINESTRIKE() - 趋势持续形态
语法
python
result = TA.CDL3LINESTRIKE(records)参数
| 参数 | 类型 | 说明 |
|---|---|---|
| records | array | K线数据数组 |
返回值
- 100: 看涨持续信号
- -100: 看跌持续信号
- 0: 无信号
形态特征
三线打击是一个四日趋势持续形态:
看涨三线打击:
- 前三天:连续三根黑色K线下跌
- 第四天:强劲白色K线,收盘高于第一天开盘
- 结果:下跌只是回调,趋势继续向上
看跌三线打击:
- 前三天:连续三根白色K线上涨
- 第四天:强劲黑色K线,收盘低于第一天开盘
- 结果:上涨只是反弹,趋势继续向下
信号解读
-
看涨持续 (100)
- 上涨趋势中的回调
- 第四天强势反包
- 确认趋势依然强劲
- 适合加仓做多
-
看跌持续 (-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)