TAKline
反击线 (Counterattack)
TA.CDLCOUNTERATTACK() - 双向反转形态
语法
python
result = TA.CDLCOUNTERATTACK(records)参数
| 参数 | 类型 | 说明 |
|---|---|---|
| records | array | K线数据数组 |
返回值
- 100: 看涨反击线
- -100: 看跌反击线
- 0: 无信号
形态特征
反击线是一个两日反转形态:
看涨反击线:
- 第一天:黑色长实体
- 第二天:白色实体,开盘大幅低开,但收盘与前日收盘相同
- 结果:卖压受阻,可能反转向上
看跌反击线:
- 第一天:白色长实体
- 第二天:黑色实体,开盘大幅高开,但收盘与前日收盘相同
- 结果:买盘受阻,可能反转向下
收盘价的"碰撞"显示趋势可能逆转。
信号解读
-
看涨反击线 (100)
- 下跌趋势中出现
- 低开后强势拉升
- 显示买盘强劲
- 需要成交量确认
-
看跌反击线 (-100)
- 上涨趋势中出现
- 高开后大幅回落
- 显示卖压沉重
- 需要成交量确认
使用示例
python
def onTick():
exchange.SetContractType("swap")
records = exchange.GetRecords()
if len(records) < 100:
return
# 检测反击线
counter = TA.CDLCOUNTERATTACK(records)
if counter[-1] == 100:
# 看涨反击线
rsi = TA.RSI(records, 14)
if rsi[-1] < 35: # 超卖区
# 成交量确认
vol_ma = TA.MA([{'Close': r.Volume} for r in records[-20:]], 5)
if records[-1].Volume > vol_ma[-1] * 1.5:
Log("检测到看涨反击线(超卖+放量)")
exchange.SetDirection("buy")
exchange.Buy(-1, 1)
elif counter[-1] == -100:
# 看跌反击线
rsi = TA.RSI(records, 14)
if rsi[-1] > 65: # 超买区
# 成交量确认
vol_ma = TA.MA([{'Close': r.Volume} for r in records[-20:]], 5)
if records[-1].Volume > vol_ma[-1] * 1.5:
Log("检测到看跌反击线(超买+放量)")
exchange.SetDirection("sell")
exchange.Sell(-1, 1)