TAKline
K线形态识别 (Candlestick Pattern Recognition)
K线形态识别用于识别经典的蜡烛图形态,帮助预测价格反转或持续。
📚 形态分类
看涨反转形态 (14个)
强烈的底部反转信号,适合在下跌趋势末期使用。
- 锤子线 - CDLHAMMER
- 倒锤子线 - CDLINVERTEDHAMMER
- 早晨之星 - CDLMORNINGSTAR ⭐ 高可靠性
- 早晨十字星 - CDLMORNINGDOJISTAR
- 三白兵 - CDL3WHITESOLDIERS ⭐ 高可靠性
- 刺透形态 - CDLPIERCING
- 蜻蜓十字 - CDLDRAGONFLYDOJI
- 南方三星 - CDL3STARSINSOUTH
- 看涨弃婴 - CDLABANDONEDBABY ⭐ 高可靠性
- 归巢鸽 - CDLHOMINGPIGEON
- 梯底 - CDLLADDERBOTTOM
- 相同低价 - CDLMATCHINGLOW
- 探水竿 - CDLTAKURI
- 独特三河床 - CDLUNIQUE3RIVER
看跌反转形态 (12个)
强烈的顶部反转信号,适合在上涨趋势末期使用。
- 射击之星 - CDLSHOOTINGSTAR
- 上吊线 - CDLHANGINGMAN
- 黄昏之星 - CDLEVENINGSTAR ⭐ 高可靠性
- 黄昏十字星 - CDLEVENINGDOJISTAR
- 三只乌鸦 - CDL3BLACKCROWS ⭐ 高可靠性
- 乌云盖顶 - CDLDARKCLOUDCOVER
- 墓碑十字 - CDLGRAVESTONEDOJI
- 两只乌鸦 - CDL2CROWS
- 前进阻挡 - CDLADVANCEBLOCK
- 相同三只乌鸦 - CDLIDENTICAL3CROWS
- 停顿形态 - CDLSTALLEDPATTERN
- 向上跳空两只乌鸦 - CDLUPSIDEGAP2CROWS
双向反转形态 (15个)
根据出现位置判断方向的形态,+100看涨,-100看跌。
- 吞没形态 - CDLENGULFING ⭐ 常用
- 孕线 - CDLHARAMI
- 十字孕线 - CDLHARAMICROSS
- 十字星 - CDLDOJI ⭐ 常用
- 十字星形态 - CDLDOJISTAR
- 三内部 - CDL3INSIDE
- 三外部 - CDL3OUTSIDE
- 捉腰带 - CDLBELTHOLD
- 反冲 - CDLKICKING
- 按长度反冲 - CDLKICKINGBYLENGTH
- 反击线 - CDLCOUNTERATTACK
- 分离线 - CDLSEPARATINGLINES
- 条形三明治 - CDLSTICKSANDWICH
- 三星 - CDLTRISTAR
趋势持续形态 (6个)
确认当前趋势将继续的形态。
- 三线打击 - CDL3LINESTRIKE
- 脱离 - CDLBREAKAWAY
- 铺垫 - CDLMATHOLD
- 上升下降三法 - CDLRISEFALL3METHODS
- 跳空并列 - CDLTASUKIGAP
- 跳空三法 - CDLXSIDEGAP3METHODS
中性识别形态 (14个)
提供市场状态信息的形态。
- 光头光脚 - CDLMARUBOZU
- 收盘光头光脚 - CDLCLOSINGMARUBOZU
- 长线 - CDLLONGLINE
- 短线 - CDLSHORTLINE
- 纺锤线 - CDLSPINNINGTOP
- 长腿十字 - CDLLONGLEGGEDDOJI
- 高浪线 - CDLHIGHWAVE
- 黄包车夫 - CDLRICKSHAWMAN
- 陷阱 - CDLHIKKAKE
- 修正陷阱 - CDLHIKKAKEMOD
- 藏婴吞没 - CDLCONCEALBABYSWALL
- 并列白色缺口 - CDLGAPSIDESIDEWHITE
- 颈内线 - CDLINNECK
- 颈上线 - CDLONNECK
- 插入 - CDLTHRUSTING
📖 快速开始
基本用法
所有K线形态函数都需要四个价格数组:开盘价、最高价、最低价、收盘价。
python
# 获取K线数据
records = exchange.GetRecords()
opens = [r['Open'] for r in records]
highs = [r['High'] for r in records]
lows = [r['Low'] for r in records]
closes = [r['Close'] for r in records]
# 检测锤子线
hammer = TA.CDLHAMMER(opens, highs, lows, closes)
if hammer[-1] == 100:
Log("检测到看涨锤子线")
# 检测早晨之星
morning_star = TA.CDLMORNINGSTAR(opens, highs, lows, closes, penetration=0.3)
if morning_star[-1] == 100:
Log("早晨之星,强烈看涨信号")返回值说明
所有形态函数返回一个数组,每个值表示:
+100: 看涨形态0: 无形态-100: 看跌形态
前置要求
⚠️ 所有K线形态识别函数都需要安装 TA-Lib 库
bash
pip install TA-Lib💡 使用建议
1. 结合趋势使用
python
# 趋势判断
sma50 = TA.SMA(closes, 50)
sma200 = TA.SMA(closes, 200)
# 只在上升趋势中使用看涨形态
if sma50[-1] > sma200[-1]:
hammer = TA.CDLHAMMER(opens, highs, lows, closes)
if hammer[-1] == 100:
Log("上升趋势 + 锤子线 = 买入")2. 多形态确认
python
# 检测多个看涨形态
hammer = TA.CDLHAMMER(opens, highs, lows, closes)
morning_star = TA.CDLMORNINGSTAR(opens, highs, lows, closes)
engulfing = TA.CDLENGULFING(opens, highs, lows, closes)
bullish_count = 0
if hammer[-1] == 100: bullish_count += 1
if morning_star[-1] == 100: bullish_count += 2 # 权重更高
if engulfing[-1] == 100: bullish_count += 1
if bullish_count >= 2:
Log("多个看涨形态,强烈买入信号")3. 成交量验证
python
volumes = [r['Volume'] for r in records]
vol_sma = TA.SMA(volumes, 20)
# 形态 + 成交量放大
hammer = TA.CDLHAMMER(opens, highs, lows, closes)
if hammer[-1] == 100 and volumes[-1] > vol_sma[-1] * 1.5:
Log("锤子线 + 成交量放大 = 强烈买入")🎯 最佳实践
形态可靠性排名
最可靠 (胜率 >65%)
- 早晨之星 / 黄昏之星
- 三白兵 / 三只乌鸦
- 吞没形态
- 弃婴形态
中等可靠 (胜率 50-65%)
- 锤子线 / 射击之星
- 刺透形态 / 乌云盖顶
- 孕线形态
参考形态 (胜率 <50%)
- 单根小K线形态
- 需要强确认信号
常见组合策略
python
def pattern_trading_system():
"""完整的形态交易系统"""
records = exchange.GetRecords()
if len(records) < 100:
return
opens = [r['Open'] for r in records]
highs = [r['High'] for r in records]
lows = [r['Low'] for r in records]
closes = [r['Close'] for r in records]
# 1. 趋势判断
sma50 = TA.SMA(closes, 50)
sma200 = TA.SMA(closes, 200)
trend = 'UP' if sma50[-1] > sma200[-1] else 'DOWN'
# 2. 形态识别
hammer = TA.CDLHAMMER(opens, highs, lows, closes)
morning = TA.CDLMORNINGSTAR(opens, highs, lows, closes)
# 3. 综合判断
if trend == 'UP' and (hammer[-1] == 100 or morning[-1] == 100):
Log("符合买入条件")
stop_loss = min(lows[-3:]) * 0.98
return 'BUY', stop_loss
return 'HOLD', None⚠️ 注意事项
- 必须安装 TA-Lib: 所有形态识别函数都需要 TA-Lib 库
- 数据质量: 需要准确的OHLC数据
- 最小数据量: 建议至少100根K线
- 回测验证: 不同市场形态有效性不同
- 风险管理: 形态信号不是100%准确,必须设置止损
📊 形态统计
- 总计: 61个K线形态
- 看涨反转: 14个
- 看跌反转: 12个
- 双向反转: 15个
- 趋势持续: 6个
- 中性识别: 14个
🔗 相关文档
📖 深入学习
建议学习路径:
- 从最可靠的形态开始(早晨之星、三白兵、吞没)
- 理解形态背后的市场心理
- 结合其他技术指标使用
- 回测验证形态有效性
- 建立自己的形态交易系统