OptiNod 学院

VIDYA:自适应动量加权平均线

能自动适应波动率的移动平均线,在箱体震荡中产生的假信号比EMA更少。

VIDYA是一条反应速度随当前市场状态变化的移动平均线。趋势强时,它快速跟随价格;在箱体震荡中,均线几乎停住,假交叉随之减少。


EMA不论处在箱体还是趋势中,跟随价格的速度都一样,所以在横盘行情里,每次小幅波动都可能产生交叉。VIDYA则在动量减弱时调低平滑系数,让均线走平,信号的出现次数自然就少了。


判断的依据是均线的斜率。VIDYA水平时,暂停入场判断;只有价格突破箱体、同时VIDYA开始倾斜的那根K线,才算作趋势转换的候选。


箱体中EMA来回摆动,VIDYA基本不动
箱体中EMA来回摆动,VIDYA基本不动动量较低时,VIDYA几乎走平,从而减少假交叉。

CMO:衡量趋势强度的效率比


VIDYA不只看波动幅度,还看这段走势在同一方向上有多持续,并据此调整。Chande一并设计的CMO(Chande Momentum Oscillator)的绝对值,就是调整 α 的依据。


CMO是N根K线内上涨幅度之和与下跌幅度之和的差,除以二者之和得到的比值。简单说就是效率比。同样的波动率,它能区分价格是朝一个方向持续运动(趋势),还是上下交替摆动(箱体震荡)。有一点要注意标度。作为标准指标,CMO的显示范围是 −100到 +100,而VIDYA调整 α 时用的,是把这个值除以100、归一化到 −1到1之后的绝对值。本文把CMO绝对值写成0到1之间的数,指的都是这种归一化口径(标准指标值除以100)。归一化后的CMO绝对值接近1(按标准指标值即接近100)时,说明趋势朝一个方向扎实推进;接近0时,说明价格以相近的比例上下振荡,处于箱体震荡。


这种测量方式使VIDYA有别于其他自适应均线(AMA、KAMA)。VIDYA适应的是波动在同一方向上的持续程度,因此和只对波动幅度作出反应的工具结果不同。箱体中的大幅波动,均线反应迟钝;趋势进行中的大幅波动,均线反应很快。也就是说,同样的价格变化,均线的走法会随市场状态而不同。


2024年7月,ETH整月停留在2,900~3,200美元的箱体里,归一化CMO绝对值大部分时间在0.3以下(按标准指标值为30以下)。同一时期,EMA(14)产生了五次假金叉、死叉,而VIDYA(14)几乎走平,一次明确的信号也没有给出。在箱体里不动,正是VIDYA的优点。


CMO根据当前市场状态打开或关闭均线的反应
CMO根据当前市场状态打开或关闭均线的反应当单边运动占优时,均线会更快地跟上价格。

均线斜率本身就是入场条件


使用EMA时,在采用入场信号之前,还要另外确认ADX是否在20以上、价格是否仍处于前一个波段之内。VIDYA的均线本身就承担了这个作用。均线水平时,关闭全部入场信号;明显倾斜时,再按该方向考虑入场候选。


这样简化之后,需要判断的次数减少了。VIDYA水平期间,系统保持关闭。在箱体里把每个买卖形态都看一遍,很容易重复五到十次假入场。考虑到趋势跟踪系统在箱体中亏损最大,这一个过滤条件就会明显改变系统的期望值。


VIDYA水平时关闭入场,倾斜时按该方向开放入场
VIDYA水平时关闭入场,倾斜时按该方向开放入场

开始倾斜的位置:从水平到斜率


VIDYA最扎实的入场位置,是均线从水平转为倾斜的那根K线。箱体结束、趋势开始时,归一化CMO绝对值从0.3以下升到0.5以上(按标准指标值从30以下升到50以上),α 随之变大。


ETH日线在2,500~2,700美元的箱体里横盘一个月之后,VIDYA(14)从水平转为向右上倾斜(斜率比前5根K线的平均斜率高出1σ 以上)。同时,价格以收盘价突破箱体上沿(2,700美元)。在这根K线的收盘价买入。止损放在箱体中轴(2,600美元)下方。如果VIDYA重新走平,或者价格以收盘价跌破箱体下沿(2,500美元),就视为判断有误。


关键在于,VIDYA开始倾斜和价格突破箱体发生在同一根K线上。两个信号同时出现,假突破的概率会明显降低。反过来,如果只有价格脱离箱体而VIDYA仍然水平,那很可能不是真正的趋势转换。


同样的形态反过来看,也可以直接用于跌破箱体下沿的做空入场。


突破与VIDYA斜率必须出现在同一根K线上
突破与VIDYA斜率必须出现在同一根K线上只有价格突破而VIDYA仍然水平时,可能是假突破。

在箱体和趋势中都能适应的均线


用一句话概括VIDYA的走法:在箱体里像SMA,在趋势里像EMA。CMO低时 α 变小,均线缓慢移动,平滑程度接近SMA;CMO高时 α 升到EMA的水平,快速跟随价格。


这种自动切换在趋势中的回调位置上有一个特点。在强趋势区间,VIDYA比EMA更贴近价格,因为 α 变大后,连很小的回调也会被迅速追上。因此,即使回调幅度很小,也能抓到回调买入的位置,优点在此;但止损距离也随之变窄,这是缺点。


解决办法很简单:趋势内回调入场的止损,放在VIDYA下方0.5~1 ATR的位置。止损紧贴均线,正常波动也会每次都把仓位扫出去;留出ATR的距离,正常波动能被吸收,只有趋势真正崩坏时才会出场。


CMO周期:第二个自由度


标准VIDYA通常被认为只有一个参数(period),但多数实际实现会接收两个周期:VIDYA自身的周期和CMO的周期。一般两者都设为14或9,分开设置则可以调得更细。


CMO周期设短(例如5)时,均线对短期的波动变化反应很快,即便在箱体里,小幅的趋势运动也容易使均线倾斜。反过来设长(例如21),只对大级别的方向转换有反应,箱体内的短期波动不会触发它。


根据标的特性分别设置两个周期,就能决定均线对效率比在哪个时间尺度上的变化作出反应。BTC日线通常用VIDYA(14, CMO=14)就够了,而山寨币漫长而深的箱体里,(14, CMO=21)更能过滤掉虚假的倾斜信号。


两种VIDYA:确认实现方式


Chande 1992年的原版以标准差比率作为自适应依据,1995年在 The New Technical Trader 中改为基于CMO重新定义。因此在VIDYA这个名称下,存在两种算法。


TradingView社区版本大多基于CMO,但一些较老的库使用标准差比率版本。所以即使数据和参数相同,两个平台也可能给出不同的结果。如果不确认自己的工具采用哪种定义,回测结果就很难复现。


VIDYA漏掉信号的位置


  • 趋势刚开始时反应偏慢:VIDYA在箱体中 α 一直保持较小,所以在脱离箱体的第一根K线上,反应比EMA慢一拍。这是减少箱体假信号所付出的代价。设定在突破箱体那根K线的收盘价入场,可以自然吸收这一延迟。
  • 入场时没有成交量确认:VIDYA从水平转向倾斜的时点,如果成交量明显高于前期均值,很可能是真正的趋势开始。成交量只是平常水平时,可能是假转换。
  • HTF冲突:1小时线VIDYA开始动起来,而日线VIDYA仍然水平,大概率只是短期波动。只有HTF VIDYA的斜率也跟上来,可信度才会明显提高。

VIDYA在箱体和趋势中的走法不同
VIDYA在箱体和趋势中的走法不同横盘时走平,突破开始时倾斜,强趋势中贴近价格。

确认使用该指标的策略结果

上传按该指标信号交易的 TradingView 策略的交易列表(CSV)或 MT5 报告,即可计算盈亏、回撤和交易分布。无需登录即可分析。

分析我的交易记录 查看分析示例