变更统计: - 70个文件变更 (39个新增 + 31个修改) - 新增 6554 行内容 优化内容: 1. 30个核心文档增加附录(数据说明/计算公式/参数表/使用场景/常见误区) - 第一批: 量化基础/技术指标/策略/信号/品种/数据流/回测/风控/链上/EWO - 第二批: AI/案例复盘/多Agent/Hyperliquid/KOL/期权/RWA/券商/BTC/主流币 - 第三批: ETH/SOL/BNB_DOGE/XAUT/代币化美股/信号优化/tradehk系统 2. 新增38个名词解释wiki条目(Delta对冲/Gamma/Theta/Vega/IV/VaR/CVaR等) 3. 更新全局术语表索引(79个术语/12大类/知识图谱/学习路径) 4. 新增内部链接体系(wiki式交叉引用)
20 KiB
技术指标全集
本文档系统整理量化交易中常用的技术指标,涵盖趋势、动量、波动率、成交量四大类别,并结合 tradehk 项目的实际实现进行深度解析。所有公式均已验证,参数建议基于加密货币市场特性优化。
一、趋势类指标
1.1 简单移动均线(MA / SMA)
原理:对过去 N 个周期的收盘价取算术平均值,平滑价格噪音,识别趋势方向。
公式:
MA(N) = \frac{1}{N} \sum_{i=0}^{N-1} Close_{t-i}
tradehk 实现参数:MA10(短期)+ MA100(长期)
信号逻辑:
- 价格 > MA10 > MA100:多头排列,看涨
- 价格 < MA10 < MA100:空头排列,看跌
- MA10 上穿 MA100:金叉,买入信号
- MA10 下穿 MA100:死叉,卖出信号
加密货币适用性:MA 在趋势明显的牛市/熊市中效果显著,震荡市中产生大量假信号,需配合其他指标过滤。
1.2 指数移动均线(EMA)
原理:对近期数据赋予更高权重的移动均线,对价格变化反应更灵敏。
公式:
EMA_t = Close_t \times k + EMA_{t-1} \times (1-k), \quad k = \frac{2}{N+1}
tradehk 实现参数:EMA12(快线)+ EMA26(慢线)
与 MA 的区别:EMA 对最新价格更敏感,能更快捕捉趋势转折,但也更容易产生假信号。
1.3 超级趋势线(SuperTrend)
原理:基于 ATR(真实波动幅度)动态计算上下轨,当价格突破上轨转为看空,突破下轨转为看多。
公式:
ATR = RMA(TR, period)
上轨 = \frac{High + Low}{2} + multiplier \times ATR
下轨 = \frac{High + Low}{2} - multiplier \times ATR
tradehk 实现参数:period=10,multiplier=3
信号逻辑:
- 方向由 -1 变为 +1:趋势反转看多(权重 +2)
- 方向由 +1 变为 -1:趋势反转看空(权重 +2)
- 持续多头趋势中:看多(权重 +1)
- 持续空头趋势中:看空(权重 +1)
优势:SuperTrend 是趋势跟踪的利器,在单边行情中表现极佳,止损位动态跟随趋势,不会过早出局。
二、动量类指标
2.1 艾略特波浪振荡器(EWO)
原理:EWO = EMA(5) - EMA(35),衡量短期动量相对于中期趋势的偏离程度。
公式:
EWO = EMA(Close, 5) - EMA(Close, 35)
信号解读:
- EWO > 0(绿色):短期动量强于中期,多头动能
- EWO < 0(红色):短期动量弱于中期,空头动能
- EWO 由负转正:动量反转,潜在买入机会
- EWO 由正转负:动量衰减,潜在卖出机会
在 tradehk 大周期偏向判断中的权重:EWO 是最重要的指标,权重为 2(其他指标权重均为 1)。当 EWO < 0 时,大周期偏向空头;EWO > 0 时,大周期偏向多头。
2.2 MACD(指数平滑异同移动平均线)
原理:通过两条 EMA 的差值及其信号线,识别趋势变化和动量强弱。
标准参数(12, 26, 9):
MACD线 = EMA(12) - EMA(26)
信号线 = EMA(MACD线, 9)
柱状图 = MACD线 - 信号线
tradehk 特殊参数(10, 20, 10):针对加密货币短周期优化,反应更灵敏。
信号逻辑:
| 信号 | 条件 | 权重 |
|---|---|---|
| MACD 金叉 | MACD 线上穿信号线 | +2(看多) |
| MACD 死叉 | MACD 线下穿信号线 | +2(看空) |
| 柱状图扩大(正) | 柱状图 > 0 且增大 | +1(多头增强) |
| 柱状图扩大(负) | 柱状图 < 0 且减小 | +1(空头增强) |
背离信号:
- 顶背离:价格创新高,MACD 未创新高 → 上涨动能衰竭,看空
- 底背离:价格创新低,MACD 未创新低 → 下跌动能衰竭,看多
2.3 动量振荡器(AO,Awesome Oscillator)
原理:AO = SMA(中点价, 5) - SMA(中点价, 34),中点价 = (High + Low) / 2
公式:
AO = SMA\left(\frac{H+L}{2}, 5\right) - SMA\left(\frac{H+L}{2}, 34\right)
信号逻辑:
- AO 上穿零轴:动量由空转多(权重 +1)
- AO 下穿零轴:动量由多转空(权重 +1)
- 双峰形态(Saucer):连续两个正值柱,第二个更高 → 买入
- 碟形形态(Twin Peaks):两个负值低点,第二个更高 → 买入
2.4 相对强弱指数(RSI)
原理:通过比较一段时间内涨跌幅的平均值,衡量价格动量的强弱。
公式:
RS = \frac{平均涨幅}{平均跌幅}
RSI = 100 - \frac{100}{1 + RS}
tradehk 实现:使用 Wilder 平滑法(RMA),period=14
标准阈值:
- RSI > 70:超买区,价格可能回落
- RSI < 30:超卖区,价格可能反弹
- RSI 从超卖区回升(穿越 30):看多反转信号
- RSI 从超买区回落(穿越 70):看空反转信号
加密货币调整:由于加密货币波动性更大,部分交易者将阈值调整为 80/20,以减少假信号。
2.5 随机指标(Stochastic Oscillator)
原理:衡量当前收盘价在过去 N 个周期最高价和最低价范围内的相对位置。
公式:
\%K = \frac{Close - LL_N}{HH_N - LL_N} \times 100
\%D = SMA(\%K, 3)
tradehk 实现参数:kPeriod=14,dPeriod=3
信号逻辑:
- K、D 均低于 20:超卖区,看多
- K、D 均高于 80:超买区,看空
- K 上穿 D(低位金叉):买入信号
- K 下穿 D(高位死叉):卖出信号
2.6 随机 RSI(StochRSI)
原理:将 Stochastic 公式应用于 RSI 值,比 RSI 更敏感,更早发出信号。
公式:
StochRSI = \frac{RSI - \min(RSI, N)}{\max(RSI, N) - \min(RSI, N)}
tradehk 实现参数:rsiPeriod=14,stochPeriod=14,kSmooth=3,dSmooth=3
使用注意:StochRSI 比 RSI 更敏感,假信号更多,建议配合趋势指标使用。
2.7 KDJ 指标
原理:KDJ 是在随机指标基础上增加 J 线的改进版本,J 线放大了 K 和 D 的偏离程度。
公式:
K_t = \frac{2}{3} K_{t-1} + \frac{1}{3} RSV_t
D_t = \frac{2}{3} D_{t-1} + \frac{1}{3} K_t
J = 3K - 2D
tradehk 实现参数:period=9,kSmooth=3,dSmooth=3
信号逻辑:
| 信号 | 条件 | 权重 |
|---|---|---|
| 低位金叉 | K 上穿 D 且 K < 30 | +2(强看多) |
| 普通金叉 | K 上穿 D | +1(看多) |
| 高位死叉 | K 下穿 D 且 K > 70 | +2(强看空) |
| 普通死叉 | K 下穿 D | +1(看空) |
J 线特性:J 线超过 100 或低于 0 时,表示市场极度超买或超卖,往往预示反转。
三、波动率类指标
3.1 布林带(Bollinger Bands)
原理:以移动均线为中轨,上下各加减 N 倍标准差形成通道,衡量价格波动范围。
公式:
中轨 = MA(Close, 20)
上轨 = 中轨 + 2 \times \sigma_{20}
下轨 = 中轨 - 2 \times \sigma_{20}
tradehk 实现参数:period=20,multiplier=2
信号逻辑:
- 价格触及下轨:超卖反弹信号(权重 +1)
- 价格触及上轨:超买回落信号(权重 +1)
- 带宽极度收窄(< 2%):即将变盘警告
布林带收缩(Squeeze):当上下轨距离极小时,表明市场处于低波动整理阶段,即将爆发大行情。结合 TTM Squeeze 指标可更精确判断方向。
3.2 TTM Squeeze(挤压动量指标)
原理:结合布林带和 Keltner 通道,当布林带收缩在 Keltner 通道内时触发"挤压"状态,结合动量柱判断突破方向。
公式:
KC_{上} = EMA(Close, 20) + 1.5 \times ATR(20)
KC_{下} = EMA(Close, 20) - 1.5 \times ATR(20)
挤压状态 = BB_{上} < KC_{上} \text{ 且 } BB_{下} > KC_{下}
tradehk 实现参数:bbPeriod=20,kcPeriod=20
信号解读:
- 挤压状态(红点):市场蓄势待发
- 挤压释放(绿点):行情即将爆发
- 动量柱由负转正:看多突破
- 动量柱由正转负:看空突破
3.3 真实波动幅度(ATR)
原理:衡量市场波动性的指标,是 SuperTrend 等指标的基础。
公式:
TR = \max(H-L, |H-C_{prev}|, |L-C_{prev}|)
ATR = RMA(TR, N)
应用场景:
- 动态止损:止损位 = 入场价 - N × ATR(多头)
- 仓位管理:仓位大小与 ATR 成反比,波动大时减仓
- 过滤低波动期:ATR 过低时暂停交易
四、成交量类指标
4.1 能量潮(OBV,On-Balance Volume)
原理:累计成交量,价格上涨时加上成交量,价格下跌时减去成交量,反映资金流向。
公式:
OBV_t = \begin{cases} OBV_{t-1} + Volume_t & \text{if } Close_t > Close_{t-1} \\ OBV_{t-1} - Volume_t & \text{if } Close_t < Close_{t-1} \\ OBV_{t-1} & \text{if } Close_t = Close_{t-1} \end{cases}
信号解读:
- OBV 与价格同向上涨:趋势健康,资金持续流入
- OBV 背离价格(价格新高但 OBV 未新高):上涨动能不足,警惕回调
- OBV 突破前高:强烈看多信号
4.2 资金流量指数(MFI,Money Flow Index)
原理:结合价格和成交量的 RSI,衡量资金流入流出的强度。
公式:
典型价格 = \frac{H + L + C}{3}
资金流 = 典型价格 \times 成交量
MFI = 100 - \frac{100}{1 + \frac{正向资金流}{负向资金流}}
tradehk 实现参数:period=14
阈值:
- MFI > 80:资金大量流入,超买
- MFI < 20:资金大量流出,超卖
4.3 成交量收缩检测
tradehk 实现:检测最近 5 根 K 线的平均成交量是否低于前 5 根的 70%。
信号含义:成交量收缩通常意味着市场观望情绪浓厚,趋势可能即将反转或大行情即将爆发,需等待放量确认。
五、趋势强度类指标
5.1 趋向运动指数(DMI/ADX)
原理:DMI 通过计算 +DI(多头方向线)和 -DI(空头方向线)判断趋势方向,ADX 衡量趋势强度。
公式:
+DM = H_t - H_{t-1} \text{(若 > 0 且 > -DM)}
-DM = L_{t-1} - L_t \text{(若 > 0 且 > +DM)}
+DI = \frac{RMA(+DM, N)}{ATR} \times 100
-DI = \frac{RMA(-DM, N)}{ATR} \times 100
ADX = RMA\left(\frac{|+DI - (-DI)|}{+DI + (-DI)}, N\right) \times 100
tradehk 实现参数:period=14
信号逻辑(仅在 ADX > 25 时有效):
| 信号 | 条件 | 权重 |
|---|---|---|
| 强趋势看多金叉 | +DI 上穿 -DI,ADX > 25 | +2 |
| 强趋势看空死叉 | +DI 下穿 -DI,ADX > 25 | +2 |
| 多头趋势持续 | +DI > -DI,ADX > 25 | +1 |
| 空头趋势持续 | -DI > +DI,ADX > 25 | +1 |
ADX 解读:
- ADX < 20:无趋势,震荡市,趋势跟踪策略慎用
- ADX 20-25:趋势形成中
- ADX > 25:趋势明显,可跟随
- ADX > 40:强趋势,注意过热风险
六、指标组合建议
6.1 趋势跟踪组合(适合单边行情)
主趋势确认:EWO + MACD + SuperTrend
入场时机:RSI 超卖反弹 + KDJ 低位金叉
止损设置:SuperTrend 反转 或 2×ATR
6.2 震荡交易组合(适合横盘市场)
区间识别:布林带 + ADX < 20
超买超卖:RSI + Stoch + KDJ
入场:布林带下轨 + RSI < 30 + KDJ 低位金叉
出场:布林带上轨 或 RSI > 70
6.3 多指标共振评分(tradehk 信号系统)
tradehk 采用加权评分机制,各指标信号累计评分:
- 多头评分 > 空头评分:BUY 信号
- 总分 ≥ 5(含可选指标):STRONG(强)
- 总分 ≥ 3:MODERATE(中)
- 其他:WEAK(弱)
参考资料
- tradehk 项目
indicators.ts:完整指标实现代码 - Investopedia 技术指标百科:https://www.investopedia.com/terms/t/technicalanalysis.asp
- TradingView 指标文档:https://www.tradingview.com/scripts/
附录:数据说明与补充
本文档旨在对上文提及的技术指标提供更深度的解析,包括详细的数据属性、参数建议、实战应用场景、数据格式规范以及常见误区,以帮助量化交易研究者和开发者更精准地应用这些工具。
一、核心指标数据说明
为了确保策略的准确性和可复现性,对每个指标的数据特征进行标准化定义至关重要。下表详细列出了各核心指标的计算公式、数据范围、单位、推荐精度及主要数据来源。
| 指标名称 (Indicator) | 计算公式 (LaTeX) | 数据范围 | 单位 | 推荐精度 | 数据来源 |
|---|---|---|---|---|---|
| MA / SMA | MA(N) = \frac{1}{N} \sum_{i=0}^{N-1} Close_{t-i} |
(0, +∞) |
价格单位 | 2-4 位小数 | 交易所 OHLCV 数据 |
| EMA | EMA_t = C_t \times k + E_{t-1} \times (1-k) |
(0, +∞) |
价格单位 | 2-4 位小数 | 交易所 OHLCV 数据 |
| SuperTrend | 上/下轨 = \frac{H+L}{2} \pm m \times ATR |
(0, +∞) |
价格单位 | 2-4 位小数 | 交易所 OHLCV 数据 |
| EWO | EWO = EMA(C, 5) - EMA(C, 35) |
(-∞, +∞) |
点 (Points) | 2-4 位小数 | 交易所 OHLCV 数据 |
| MACD | MACD = EMA(C, 12) - EMA(C, 26) |
(-∞, +∞) |
点 (Points) | 4-6 位小数 | 交易所 OHLCV 数据 |
| RSI | RSI = 100 - \frac{100}{1 + RS} |
[0, 100] |
百分比 (%) | 2-4 位小数 | 交易所 OHLCV 数据 |
| Stochastic | \%K = \frac{C - LL_N}{HH_N - LL_N} \times 100 |
[0, 100] |
百分比 (%) | 2-4 位小数 | 交易所 OHLCV 数据 |
| Bollinger Bands | 中轨 \pm 2 \times \sigma_{20} |
(0, +∞) |
价格单位 | 2-4 位小数 | 交易所 OHLCV 数据 |
| ATR | ATR = RMA(TR, N) |
(0, +∞) |
价格单位 | 2-4 位小数 | 交易所 OHLCV 数据 |
| OBV | OBV_t = OBV_{t-1} \pm Volume_t |
(-∞, +∞) |
交易量单位 | 整数 | 交易所 OHLCV 数据 |
| MFI | MFI = 100 - \frac{100}{1 + MFR} |
[0, 100] |
百分比 (%) | 2-4 位小数 | 交易所 OHLCV 数据 |
| ADX | `ADX = RMA(\frac{ | +DI - (-DI) | }{+DI + (-DI)})` | [0, 100] |
数值 |
二、数据格式规范
标准化的数据格式是保证多模块、多策略协同工作的基础。以下规范定义了系统输入和输出的数据结构。
1. 输入数据格式 (OHLCV)
所有技术指标计算均依赖于标准的 OHLCV K线数据。推荐使用 JSON 数组格式,其中每个元素代表一个时间周期的数据点。
[
{
"timestamp": 1672531200000, // Unix 毫秒时间戳
"open": 16500.50,
"high": 16550.75,
"low": 16480.25,
"close": 16525.00,
"volume": 1250.75
},
// ... more data points
]
- 字段类型:
timestamp为长整型 (long),其余价格和成交量字段为浮点型 (float/double)。 - 时间戳:必须使用统一的 Unix 毫秒时间戳,以避免时区混淆。
2. 指标输出格式
指标计算结果应与原始输入数据对齐,并以 JSON 对象或字典形式输出,方便策略调用。
{
"timestamp": 1672531200000,
"rsi": 55.78,
"macd": {
"macd": 12.54,
"signal": 10.98,
"histogram": 1.56
},
"bollinger_bands": {
"upper": 16800.20,
"middle": 16500.00,
"lower": 16200.80
}
}
三、参数参考总表
指标参数的选择对策略表现有决定性影响。下表整理了 tradehk 项目中使用的核心参数,并给出了通用市场的推荐范围作为参考。
| 指标 | 参数 | tradehk 设定值 |
推荐范围 | 说明 |
|---|---|---|---|---|
| MA | period |
10 (短), 100 (长) | 5-200 | 周期越短越灵敏,越长越平滑 |
| EMA | period |
12 (快), 26 (慢) | 5-200 | 常用于构建 MACD 等复杂指标 |
| SuperTrend | period |
10 | 7-14 | ATR 计算周期 |
multiplier |
3 | 2-4 | 乘数越大,通道越宽,信号越少 | |
| MACD | fast, slow, signal |
10, 20, 10 | (12, 26, 9) | tradehk 针对加密市场优化,更灵敏 |
| RSI | period |
14 | 7-30 | 14 为标准周期,短线可缩短 |
| Stochastic | kPeriod, dPeriod |
14, 3 | (14, 3) | 经典的超买超卖指标参数 |
| KDJ | period, k, d |
9, 3, 3 | (9, 3, 3) | 随机指标的变种,J线更灵敏 |
| Bollinger Bands | period, multiplier |
20, 2 | (20, 2) | 2倍标准差覆盖约95%的价格波动 |
| TTM Squeeze | bbPeriod, kcPeriod |
20, 20 | (20, 20) | 通常与布林带周期保持一致 |
| ADX/DMI | period |
14 | 14 | ADX 的标准计算周期 |
四、量化交易应用场景
技术指标的价值在于应用。以下为几种基于本文档指标构建的典型策略场景。
-
多时间周期趋势跟踪策略
- 场景描述:利用 艾略特波浪振荡器 (EWO) 在 4 小时图上判断主趋势方向。当 EWO > 0 确认多头市场后,在 15 分钟图上寻找 MACD 金叉作为入场信号,并使用 SuperTrend 的下轨作为动态追踪止损位。此策略旨在过滤掉逆势交易,提高胜率。
- 核心指标:EWO, MACD, SuperTrend。
-
高频市场均值回归策略
- 场景描述:在 ETH/BTC 等相对稳定的交易对的 1 分钟图上,部署基于 布林带 (Bollinger Bands) 和 相对强弱指数 (RSI) 的均值回归策略。当价格触及布林带下轨且 RSI 低于 20(超卖),执行买入;当价格触及上轨且 RSI 高于 80(超买),执行卖出。此策略适用于波动率较高且区间震荡明显的市场。
- 核心指标:Bollinger Bands, RSI。
-
波动性突破与成交量验证策略
- 场景描述:使用 TTM Squeeze 指标监控市场,当指标显示“挤压”状态(红点)时,表明市场正处于低波动蓄势阶段。一旦挤压释放(绿点)且价格强势突破布林带上轨,同时伴随 能量潮 (OBV) 指标的显著上升(验证资金流入),则执行追多操作。此策略旨在捕捉由盘整转为单边大行情的起点。
- 核心指标:TTM Squeeze, Bollinger Bands, OBV。
五、常见误区与正确理解
-
误区:指标是预测未来的水晶球。
- 正确理解:技术指标是基于历史价格和成交量的数学计算,它们是对市场过去状态的描述和总结,而非对未来的精准预测。它们提供的是概率优势,而非确定性。任何交易决策都应结合风险管理进行。
-
误区:参数越贴合历史数据越好(过拟合)。
- 正确理解:在历史回测中过度优化参数,会导致策略对特定历史行情表现完美,但在未来实盘中表现糟糕。应选择在多段不同市场环境中都表现稳健的参数,并进行样本外测试。
-
误区:指标信号越多,交易机会越多。
- 正确理解:过于灵敏的参数或指标组合会产生大量“噪音”信号,导致频繁交易和高昂的交易成本。高质量的交易信号往往来自于多个非相关指标的共振确认,追求信号质量而非数量是关键。
-
误区:忽视指标的适用市场环境。
-
误区:混淆指标背离的真正含义。
- 正确理解:背离(如 MACD 顶背离)是动能减弱的信号,预示原有趋势可能即将反转或进入盘整,但它本身不是一个精确的入场做空信号。强势趋势中的背离可能会持续很长时间(“背了又背”),需要等待价格确认跌破关键支撑位或趋势线后才能行动。