TAKline
三外部 (3 Outside Up/Down)
TA.CDL3OUTSIDE() - 双向反转形态
语法
python
result = TA.CDL3OUTSIDE(records)参数
| 参数 | 类型 | 说明 |
|---|---|---|
| records | array | K线数据数组 |
返回值
- 100: 看涨三外部(3 Outside Up)
- -100: 看跌三外部(3 Outside Down)
- 0: 无信号
形态特征
三外部是三日反转形态,基于吞没形态:
看涨三外部(3 Outside Up):
- 第一天:黑色实体
- 第二天:白色长实体,完全吞没第一天(吞没形态)
- 第三天:白色实体,收盘高于第二天
- 结果:确认反转向上
看跌三外部(3 Outside Down):
- 第一天:白色实体
- 第二天:黑色长实体,完全吞没第一天(吞没形态)
- 第三天:黑色实体,收盘低于第二天
- 结果:确认反转向下
本质是吞没形态 + 确认K线。
信号解读
-
看涨三外部 (100)
- 下跌趋势末期出现
- 前两天形成吞没
- 第三天继续上涨确认
- 信号强度:⭐⭐⭐⭐⭐
-
看跌三外部 (-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) # 强信号,双倍仓位