TAStatistics
TA.LINEARREG_ANGLE() - 线性回归角度
Linear Regression Angle,计算线性回归线的角度(以度为单位)。
语法
python
TA.LINEARREG_ANGLE(data)
TA.LINEARREG_ANGLE(data, timeperiod=14)参数
| 参数 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| data | array | 价格数据 | - |
| timeperiod | int | 回归周期 | 14 |
返回值
返回线性回归线角度数组(单位:度)。
- 正值:上升趋势(0° - 90°)
- 负值:下降趋势(-90° - 0°)
- 接近0:横盘
计算方法
plaintext
1. 计算线性回归斜率(LINEARREG_SLOPE)
2. angle = arctan(slope) × 180 / π基础示例
python
def main():
records = exchange.GetRecords()
closes = [r['Close'] for r in records]
angle = TA.LINEARREG_ANGLE(closes, 14)
if angle[-1] > 30:
Log("强势上升趋势")
elif angle[-1] > 10:
Log("温和上升")
elif angle[-1] < -30:
Log("强势下降趋势")
elif angle[-1] < -10:
Log("温和下降")
else:
Log("横盘整理")高级应用
python
def angle_trend_filter():
records = exchange.GetRecords()
closes = [r['Close'] for r in records]
angle = TA.LINEARREG_ANGLE(closes, 20)
# 角度阈值
strong_up = angle[-1] > 45
strong_down = angle[-1] < -45
if strong_up:
rsi = TA.RSI(closes, 14)
if rsi[-1] < 40: # 回调买入
exchange.Buy(-1, 1)
Log("强趋势回调买入")
elif strong_down:
rsi = TA.RSI(closes, 14)
if rsi[-1] > 60: # 反弹卖出
exchange.Sell(-1, 1)
Log("强趋势反弹卖出")