mirror of
https://ghfast.top/https://github.com/aeroxw/easy-tdx.git
synced 2026-09-12 13:24:15 +08:00
feat: add ZHUOYAO indicator (multi-period momentum resonance), bump to 1.4.1
Add 捉妖大师 (ZHUOYAO) indicator to the indicator registry. Outputs ZY_LONG/ZY_MID/ZY_SHORT/ZY_TREND four lines based on 20/60/120-day ROC with EMA smoothing for trend resonance detection. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
bcddf5a052
commit
6b06f9eb40
@@ -113,7 +113,46 @@ easy-tdx indicator MACD -m SH -c 600519 --period 5MIN --count 50
|
||||
easy-tdx indicator RSI -m SZ -c 000001 --no-ohlcv
|
||||
```
|
||||
|
||||
支持 30 个指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ。
|
||||
### 捉妖大师(重点)
|
||||
|
||||
捉妖大师是多周期涨幅共振指标,通过 20/60/120 日涨幅及指数平滑判断短中长线趋势是否同向,用于筛选趋势刚启动的强势股。
|
||||
|
||||
```bash
|
||||
easy-tdx indicator ZHUOYAO -m SH -c 600519 --count 30 --table
|
||||
|
||||
# 自定义周期参数
|
||||
easy-tdx indicator ZHUOYAO -m SZ -c 000001 --params N1=90,N2=45,N3=15
|
||||
|
||||
# 结合其他指标一起看
|
||||
easy-tdx indicator ZHUOYAO,MACD,KDJ -m SH -c 600519 --count 20 --table
|
||||
```
|
||||
|
||||
输出列说明:
|
||||
|
||||
| 列名 | 含义 |
|
||||
|------|------|
|
||||
| `ZY_LONG` | 长线 — 120 日涨幅的 10 日指数平滑 |
|
||||
| `ZY_MID` | 中线 — 60 日涨幅(%) |
|
||||
| `ZY_SHORT` | 短线 — 20 日涨幅(%) |
|
||||
| `ZY_TREND` | 趋势 — 中线的 10 日指数平滑 |
|
||||
|
||||
**核心信号:** 四线全部 > 0 且短线 > 中线 > 长线 = 短中长趋势完全一致向上,是强势股特征。详见 [捉妖大师指标详解](docs/indicator-zhuoyao.md)。
|
||||
|
||||
```python
|
||||
# Python API 用法
|
||||
from easy_tdx import MacClient, Market
|
||||
|
||||
with MacClient.from_best_host() as c:
|
||||
df = c.get_stock_kline_with_indicators(
|
||||
Market.SH, "600519",
|
||||
indicators=["ZHUOYAO"],
|
||||
count=30,
|
||||
)
|
||||
# df 包含: datetime, open, close, high, low, vol, amount
|
||||
# + ZY_LONG, ZY_MID, ZY_SHORT, ZY_TREND
|
||||
```
|
||||
|
||||
支持 30 个指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ, ZHUOYAO。
|
||||
|
||||
### 财务
|
||||
|
||||
@@ -155,7 +194,7 @@ easy-tdx ex tick HK_MAIN_BOARD 00700 --table # 港股分时
|
||||
| `market-stat` | 全市场涨跌统计 |
|
||||
| `server-info` | 服务器交易时段 |
|
||||
| `symbol-info` | 个股特征快照 |
|
||||
| `indicator` | 技术指标计算(30 个:MACD/KDJ/RSI/BOLL/DMI/ATR...) |
|
||||
| `indicator` | 技术指标计算(31 个:MACD/KDJ/RSI/BOLL/DMI/ATR...) |
|
||||
| `indicator-list` | 列出可用技术指标 |
|
||||
| `f10` | F10 公司信息 |
|
||||
| `fund-flow` | 历史资金流向 |
|
||||
@@ -255,7 +294,7 @@ with MacClient.from_best_host() as c:
|
||||
print(info["name"], info["description"], info["outputs"])
|
||||
```
|
||||
|
||||
支持 30 个技术指标:
|
||||
支持 31 个技术指标:
|
||||
|
||||
| 指标 | 输入 | 输出列 |
|
||||
|------|------|--------|
|
||||
@@ -287,6 +326,7 @@ with MacClient.from_best_host() as c:
|
||||
| XSII | close, high, low | XSII_TD1, XSII_TD2, XSII_TD3, XSII_TD4 |
|
||||
| MASS | high, low | MASS, MASS_MA |
|
||||
| TAQ | high, low | TAQ_UP, TAQ_MID, TAQ_DOWN |
|
||||
| ZHUOYAO | close | ZY_LONG, ZY_MID, ZY_SHORT, ZY_TREND |
|
||||
|
||||
#### 分时
|
||||
|
||||
@@ -590,7 +630,7 @@ src/easy_tdx/
|
||||
├── client.py # TdxClient / AsyncTdxClient(标准协议)
|
||||
├── unified.py # UnifiedTdxClient(统一入口)
|
||||
├── config.py # 服务器地址、端口、超时配置
|
||||
├── indicator.py # 技术指标计算(30 个,基于 MyTT)
|
||||
├── indicator.py # 技术指标计算(31 个,基于 MyTT)
|
||||
├── MyTT.py # 麦语言技术指标算法库
|
||||
├── mac/
|
||||
│ ├── client.py # MacClient / AsyncMacClient(MAC 协议)
|
||||
@@ -634,6 +674,15 @@ ruff format --check src/ tests/ # format check
|
||||
|
||||
## Changelog
|
||||
|
||||
### 1.4.1 (2026-05-28)
|
||||
|
||||
**捉妖大师指标** — 新增 ZHUOYAO 多周期涨幅共振指标,通过 20/60/120 日涨幅及指数平滑判断短中长线趋势是否同向,用于筛选趋势刚启动的强势股。
|
||||
|
||||
- 新增 `ZHUOYAO` 指标:输出 ZY_LONG/ZY_MID/ZY_SHORT/ZY_TREND 四条线
|
||||
- CLI: `easy-tdx indicator ZHUOYAO -m SH -c 600519 --table`
|
||||
- Python API: `indicators=["ZHUOYAO"]`
|
||||
- 详见 [捉妖大师指标详解](docs/indicator-zhuoyao.md)
|
||||
|
||||
### 1.4.0 (2026-05-28)
|
||||
|
||||
**技术指标计算** — 集成 [MyTT](https://github.com/mpquant/MyTT) 麦语言指标库,支持 30 个常用技术指标,一步获取 K 线 + 指标值。
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
# 捉妖大师 (ZHUOYAO) 技术指标
|
||||
|
||||
## 指标定义
|
||||
|
||||
多周期涨幅共振指标,通过 20/60/120 日涨幅百分比及指数平滑,判断短中长线趋势是否同向。
|
||||
|
||||
```
|
||||
长线1 = (C / REF(C,120) - 1) × 100 # 120日涨幅(%)
|
||||
长线 = EXPMA(长线1, 10) # 长线的10日指数平滑
|
||||
中线 = (C / REF(C,60) - 1) × 100 # 60日涨幅(%)
|
||||
短线 = (C / REF(C,20) - 1) × 100 # 20日涨幅(%)
|
||||
趋势 = EXPMA(中线, 10) # 中线的10日指数平滑
|
||||
```
|
||||
|
||||
返回 `(长线, 中线, 短线, 趋势)` 四条线,均以零轴为多空分界。
|
||||
|
||||
## 调用方式
|
||||
|
||||
```python
|
||||
from easy_tdx.MyTT import ZHUOYAO
|
||||
|
||||
# close: numpy 数组,至少 120+ 个数据点
|
||||
LONG, MID, SHORT, TREND = ZHUOYAO(close)
|
||||
|
||||
# 自定义周期
|
||||
LONG, MID, SHORT, TREND = ZHUOYAO(close, N1=120, N2=60, N3=20, M=10)
|
||||
```
|
||||
|
||||
参数说明:
|
||||
|
||||
| 参数 | 默认值 | 含义 |
|
||||
|------|--------|------|
|
||||
| N1 | 120 | 长线回望周期 |
|
||||
| N2 | 60 | 中线回望周期 |
|
||||
| N3 | 20 | 短线回望周期 |
|
||||
| M | 10 | EXPMA 平滑周期 |
|
||||
|
||||
## 核心逻辑
|
||||
|
||||
本质是 **多时间框架 ROC (Rate of Change) 共振系统**:
|
||||
|
||||
- **短线** = ROC(20):捕捉 20 日内的短期动量方向
|
||||
- **中线** = ROC(60):反映季度级别的中期趋势强度
|
||||
- **长线** = EMA(ROC(120), 10):半年级别的长线趋势,经过平滑降噪
|
||||
- **趋势** = EMA(ROC(60), 10):中线的平滑版本,用于过滤中线噪音
|
||||
|
||||
零轴是所有线的多空分界线:正值 = 该周期内上涨,负值 = 该周期内下跌。
|
||||
|
||||
## 交易信号
|
||||
|
||||
### 1. 多线共振(核心信号)
|
||||
|
||||
| 状态 | 条件 | 含义 |
|
||||
|------|------|------|
|
||||
| 全线多头 | 四线 > 0,且 短线 > 中线 > 长线 | 短中长趋势完全一致向上,强势股特征 |
|
||||
| 全线空头 | 四线 < 0,且 短线 < 中线 < 长线 | 各周期同步下跌,应回避 |
|
||||
| 多空分歧 | 线的方向不一致 | 趋势不明,等待收敛 |
|
||||
|
||||
### 2. 穿越信号
|
||||
|
||||
- **短线穿越零轴**:20 日动量反转,短线进场或离场信号
|
||||
- **中线穿越趋势**:ROC(60) 与其平滑线金叉/死叉,中期趋势转向确认
|
||||
- **长线拐头**:长线从下降转为上升,大级别底部信号
|
||||
|
||||
### 3. "捉妖"条件(强势股筛选)
|
||||
|
||||
同时满足以下条件时,可能是趋势刚启动的强势股:
|
||||
|
||||
1. 短线 > 0(短期动量向上)
|
||||
2. 中线 > 0(中期趋势向上)
|
||||
3. 长线从负转正或即将转正(长线趋势刚反转)
|
||||
4. 短线 > 中线 > 趋势(动量加速,不是减速)
|
||||
|
||||
### 4. 风险信号
|
||||
|
||||
- 短线远高于中线(乖离过大):短期过热,有回调风险
|
||||
- 中线 > 0 但趋势 < 0:中期反弹但平滑趋势未确认,可能是假突破
|
||||
- 四线同时从高位回落:多周期共振见顶
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 前置数据不足时(< N1=120 根 K 线),长线值为 NaN,属于正常现象
|
||||
- 指标是价格幅度的度量,不直接产生买卖信号,需结合成交量、K 线形态综合判断
|
||||
- "妖股"往往波动剧烈,共振信号出现后也可能快速消失,不宜单独作为唯一依据
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "easy-tdx"
|
||||
version = "1.4.0"
|
||||
version = "1.4.1"
|
||||
description = "通达信 TCP 协议行情数据客户端,支持在线行情与离线本地数据读取"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
|
||||
@@ -177,6 +177,16 @@ _reg(
|
||||
"ASI 振动升降指标",
|
||||
)
|
||||
|
||||
# ── 捉妖大师(仅需 close)─────────────────────────────────────────────
|
||||
_reg(
|
||||
"ZHUOYAO",
|
||||
("close",),
|
||||
("ZY_LONG", "ZY_MID", "ZY_SHORT", "ZY_TREND"),
|
||||
MyTT.ZHUOYAO,
|
||||
{"N1": 120, "N2": 60, "N3": 20, "M": 10},
|
||||
"ZHUOYAO 捉妖大师 多周期涨幅共振",
|
||||
)
|
||||
|
||||
# ── 仅需 high + low ────────────────────────────────────────────────────
|
||||
_reg(
|
||||
"TAQ", ("high", "low"), ("TAQ_UP", "TAQ_MID", "TAQ_DOWN"), MyTT.TAQ, {"N": 20}, "TAQ 唐安奇通道"
|
||||
|
||||
Reference in New Issue
Block a user