Files
easy-tdx/docs/indicator-bias-signal.md
T
GitHubandClaude Opus 4.7 4c5817f7b0 feat: add BIAS_SIGNAL indicator (30-day bias with signal lines)
Add BIAS_SIGNAL indicator derived from TongDaXin's 30-day bias formula.
Outputs BS_X (raw bias), BS_SMA (short signal line), BS_LMA (long signal
line) for trend direction and reversal detection via asymmetric bull/bear
logic.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 22:31:17 +08:00

168 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 30日乖离率信号 (BIAS_SIGNAL) 技术指标
## 指标定义
在标准乖离率(BIAS)的基础上,叠加短期信号线和长期信号线,通过三者之间的位置关系判断趋势方向和转折点。
### 通达信原公式
```
P:=10;
M:=30;
X:(CLOSE-MA(CLOSE,M))/MA(CLOSE,M)*100;
S_SMA:MA(X,P);
X_LMA:MA(X,M);
IF(X>S_SMA AND X_LMA>REF(X_LMA,1),X_LMA,DRAWNULL),COLORRED;
IF(S_SMA>X OR X_LMA<REF(X_LMA,1),X_LMA,DRAWNULL),COLORGREEN;
ZERO:0;
```
### MyTT 等价实现
```python
def BIAS_SIGNAL(CLOSE, P=10, M=30):
X = (CLOSE - MA(CLOSE, M)) / MA(CLOSE, M) * 100 # M日乖离率
S_SMA = MA(X, P) # 短周期信号线 MA(X, P)
X_LMA = MA(X, M) # 长周期信号线 MA(X, M)
return RD(X), RD(S_SMA), RD(X_LMA)
```
输出三条线:`(X, S_SMA, X_LMA)`
## 调用方式
```python
from easy_tdx.MyTT import BIAS_SIGNAL
# close: numpy 数组,建议至少 60+ 个数据点(M=30 的两倍以确保信号线收敛)
X, S_SMA, X_LMA = BIAS_SIGNAL(close)
# 自定义周期
X, S_SMA, X_LMA = BIAS_SIGNAL(close, P=10, M=30)
```
参数说明:
| 参数 | 默认值 | 含义 |
|------|--------|------|
| P | 10 | 短期信号线平滑周期 |
| M | 30 | 乖离率计算周期 + 长期信号线平滑周期 |
CLI 使用:
```bash
easy-tdx indicator BIAS_SIGNAL -m SH -c 601088 --count 120 --table
```
## 核心逻辑
### 三线含义
| 线 | 公式 | 含义 |
|----|------|------|
| X | `(C - MA(C,M)) / MA(C,M) × 100` | M日乖离率原始值,衡量当前价格偏离30日均线的百分比 |
| S_SMA | `MA(X, P)` | X 的 P 日均线,过滤短期噪音,作为短期趋势参考 |
| X_LMA | `MA(X, M)` | X 的 M 日均线,捕捉乖离率本身的中期趋势方向 |
### 与标准 BIAS 的关系
标准 BIAS 指标(MyTT 已有)直接返回 6/12/24 日乖离率原始值。`BIAS_SIGNAL` 的不同之处在于:
1. **聚焦单一周期**M=30),而非多周期并列
2. **叠加信号线**S_SMA 和 X_LMA 构成双重平滑,过滤假信号
3. **自带趋势判断**,通过 X 与 S_SMA 的位置关系 + X_LMA 的方向来判断多空
本质上这是一个 **乖离率的二阶分析系统**:先算乖离率,再对乖离率做趋势分析。
### 零轴意义
- **X > 0**:价格在 M 日均线上方(偏多)
- **X < 0**:价格在 M 日均线下方(偏空)
- **X 在零轴附近震荡**:价格围绕均线缠绕,无明确方向
## 交易信号
### 1. 趋势方向判断(通达信颜色逻辑)
通达信原版的颜色规则等价于:
| 状态 | 条件 | 含义 |
|------|------|------|
| 多头(红) | `X > S_SMA` **且** `X_LMA > REF(X_LMA,1)` | 乖离率高于短期均线(偏强),且长期信号线在上升(趋势确认) |
| 空头(绿) | `S_SMA > X` **或** `X_LMA < REF(X_LMA,1)` | 乖离率低于短期均线(偏弱),或长期信号线在下降(趋势走弱) |
注意条件是非对称的:多头需要两个条件**同时满足**,空头只需满足其一。这意味着指标偏向保守——宁可错过一些多头机会,也要尽早预警空头风险。
### 2. 金叉/死叉信号
- **X 上穿 S_SMA**(金叉):短期乖离率走强,价格开始加速偏离均线。如果 X 同时上穿零轴,信号更强
- **X 下穿 S_SMA**(死叉):短期乖离率走弱,价格向均线回归。如果在高位发生,是明确的卖出信号
- **S_SMA 上穿 X_LMA**:短期信号确认中期趋势向上,趋势行情确认
### 3. X_LMA 拐头信号
X_LMA 是 X 的 M 日均线,变化缓慢但方向性强:
- **X_LMA 从下降转为上升**:中期趋势从空头转多头,是趋势转折的确认信号
- **X_LMA 从上升转为下降**:中期趋势从多头转空头,即使价格还在上涨也要警惕
### 4. 极值信号
- **X 远高于 S_SMA 和 X_LMA**(如 X > 10):短期严重超买,价格远超均线,回调风险大
- **X 远低于 S_SMA 和 X_LMA**(如 X < -10):短期严重超卖,可能存在反弹机会
- 极值判断需要结合个股历史波动率,没有统一阈值
### 5. 典型入场场景
**多头入场**(四个条件同时满足):
1. X 从下方上穿零轴(价格站上30日均线)
2. X > S_SMA(乖离率在走强)
3. X_LMA 拐头向上(中期趋势确认)
4. 成交量配合放大(量价共振)
**空头离场/做空**
1. X 从高位下穿 S_SMA(短期走弱)
2. X_LMA 开始走平或拐头向下
3. 价格跌破30日均线(X < 0 确认)
## 参数调优
### P(短期信号线周期)
| P 值 | 特点 |
|------|------|
| 5 | 信号灵敏,假信号多,适合短线交易 |
| 10 | 默认值,信号频率和准确性较平衡 |
| 20 | 信号少但可靠,适合中长线 |
### M(乖离率 + 长期信号线周期)
| M 值 | 特点 |
|------|------|
| 20 | 更贴近价格,适合波段交易 |
| 30 | 默认值,一个月级别,适合中线趋势跟踪 |
| 60 | 更平滑,信号少但级别大,适合中长线 |
### 调参建议
- 大盘蓝筹股波动小,M 可以用默认 30 或调大到 60
- 小盘成长股波动大,P 调小到 5-7 可以更早捕捉拐点
- 参数无需频繁调整,固定 P=10, M=30 对大多数个股有效
## 与其他指标的配合
| 配合指标 | 作用 |
|----------|------|
| MACD | BIAS_SIGNAL 判断趋势方向,MACD 确认动量强弱 |
| VOL(成交量) | 乖离率扩大时需要成交量配合,无量乖离不可靠 |
| BOLL | BOLL 上轨/下轨可以辅助判断 X 的极值区域 |
| KDJ | BIAS_SIGNAL 确认趋势方向后,KDJ 寻找具体买卖点 |
## 注意事项
- 数据不足时(< 2M 根 K 线),X_LMA 收敛不充分,前期值不准确
- 该指标本质是均线偏离度的趋势分析,**震荡市中反复穿越零轴会产生大量假信号**
- 乖离率的绝对值因个股波动率而异,不同股票间不应直接比较 X 的数值
- 指标不直接产生买卖信号,需结合成交量、K 线形态和基本面综合判断