终极波动指标
业务意义
UOSC 综合三个不同时间周期的动量(7 日、14 日、28 日),通过加权平均减少虚假信号,提供更可靠的多时间框架动量分析。
核心使用场景
1. 多时间框架动量确认
强势上升:UOSC > 70 且三个周期动量均向上
强势下降:UOSC < 30 且三个周期动量均向下
动量分歧:不同周期动量方向不一致,预示震荡
2. 趋势强度判断
趋势健康:UOSC 在 50-70(上升趋势)或 30-50(下降趋势)区间
趋势衰竭:UOSC 进入极端区域后快速反转
趋势延续:UOSC 在趋势方向震荡,未进入极端区域
使用要点总结
多时间框架优势:
7 日周期:捕捉短期动量
14 日周期:中期趋势
28 日周期:长期方向
三者一致时信号最可靠
最佳应用场景:
趋势转换点的早期识别
震荡市中的区间交易
趋势中的回调买入 / 反弹卖出时机
信号可靠性排序:
三重周期一致 + 背离 > 双重周期一致 > 单一信号
有成交量确认 > 无成交量确认
在支撑阻力位附近 > 在价格中间区域
特别优势:
减少虚假突破信号
提供多维度动量分析
适合各种市场环境
UOSC 通过综合多个时间周期的动量分析,提供了比单一振荡器更可靠的交易信号,特别适合追求高胜率的交易者。
计算公式
第一步:计算买方压力(Buying Pressure - BP)
BP = 收盘 - min(最低, 收盘 [-1])
第二步:计算真实波幅(True Range - TR)
TR = max(最高, 收盘 [-1]) - min(最低, 收盘 [-1])
第三步:计算三个时间周期的平均值 (默认 7,14,28)
短期平均值 =BP[1-n1:0].sum()/ TR[1-n1:0].sum()
中期平均值 = BP[1-n2:0].sum()/ TR[1-n2:0].sum()
长期平均值 = BP[1-n3:0].sum()/ TR[1-n3:0].sum()
第四步:加权计算终极波动指标
UOSC = 100 *((4 * 短期平均值) + (2 * 中期平均值) + 长期平均值 )/ (4 + 2 + 1)
实现代码
指标参数:
y |
输出列名 |
n1 |
短周期 |
n2 |
中周期 |
n3 |
长周期 |
函数代码:
A |
B |
|
1 |
func UOSC(A,$y,n1,n2,n3) |
=A.derive@o(收盘 -min(最低, 收盘 [-1]):BP, max(最高, 收盘 [-1])-min(最低, 收盘 [-1]):TR, : 短期平均值, : 中期平均值, : 长期平均值 ) |
=A.run(BP[1-n1:0].sum()/TR[1-n1:0].sum():短期平均值, BP[1-n2:0].sum()/TR[1-n2:0].sum(): 中期平均值, BP[1-n3:0].sum()/TR[1-n3:0].sum(): 长期平均值, 100 *((4 * 短期平均值) + (2 * 中期平均值) + 长期平均值 )/ (4 + 2 + 1):${y}) |
||
=A.alter(;BP,TR,短期平均值, 中期平均值, 长期平均值 ) |
举例:
调用脚本计算浦发银行 2024 年的终极波动指标
A |
||
1 |
… |
/计算出源数据 |
2 |
=A1.derive(:UOSC) |
/增加要返回的指标字段 |
3 |
= UOSC(A2, UOSC,7,14,28) |
/调用函数计算指标 |
运行效果:

