- Published on
OBV MACD指标与ADX过滤器
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
这一策略的核心思路并不复杂,但非常具有代表性。它将三个经典技术分析工具融合在一起:OBV负责用成交量给价格动量“称重”,MACD负责捕捉动量的拐点,而ADX则像一个“门卫”,只允许趋势强度足够的行情进入交易考虑的范畴。
传统上,交易者会分别观察OBV与价格是否背离,观察MACD是否发生金叉或死叉,再观察ADX是否高于某个阈值。但这样做有一个问题:三个指标各自给出的信号可能相互冲突,例如OBV向上而MACD向下,或者ADX显示趋势极弱却出现了MACD金叉。该策略的巧妙之处在于将三者像套齿轮一样耦合在一起:先用OBV替代价格,计算出一个“成交量动量”曲线;再在这条曲线上应用MACD的计算逻辑;最后用ADX对最终信号进行过滤。
这种结构的本质,是把“价格动量”升级为“量价动量”。传统MACD只吃价格数据,技术派常诟病它在无量反弹或缩量下跌中会给出误导信号。而这套策略中,OBV将每一根K线的涨跌与成交量挂钩——放量上涨使OBV加速上升,缩量上涨则使OBV上升缓慢,甚至微微回落。当OBV经过MACD的平滑处理后,产生的交叉信号自然比单纯价格MACD更“真实”。
ADX过滤器的加入又解决了另一个问题——震荡行情中的反复金叉死叉。ADX由威尔德提出,用以度量趋势的强度,并不区分方向。当ADX低于20或25时,市场通常处于盘整状态,此时MACD交叉频繁但胜率很低。该策略要求ADX达到一定水平后才允许MACD信号入场,相当于用趋势强度作为“保险丝”,避免在无趋势行情中做无谓交易。
这一设计体现了量化交易中的一个重要哲学:多个维度共振时,信号的可靠性显著提升。价格维度、成交量维度、趋势强度维度,三者在同一个逻辑框架内协同工作,而不是孤立地看几个指标。
名词解释
-
OBV(On-Balance Volume,能量潮)
由Joseph Granville在1963年提出。它是一类累积成交量指标:当收盘价高于前一日收盘价时,当日成交量被加到累计值中;反之则被减去。OBV可以直观地反映成交量是否在价格变动方向上提供支撑。传统OBV只关心涨跌方向,不关心涨跌幅度。 -
MACD(Moving Average Convergence Divergence,指数平滑异同移动平均线)
Gerald Appel在1979年提出。它由快线(DIF)、慢线(DEA)和柱状图组成。DIF通常是两个不同周期EMA差,DEA是DIF的某个周期平滑值。当DIF上穿DEA形成“金叉”,是看涨信号;下穿形成“死叉”,是看跌信号。MACD本质是对动量的一种平滑测量。 -
ADX(Average Directional Index,平均趋向指数)
由Welles Wilder在1978年提出,用于衡量趋势的强度,而非方向。ADX值越高,趋势越强;通常20或25被视为强趋势的门槛。ADX是方向性运动指标的一部分,常与+DI、-DI配合使用。 -
动量(Momentum)
金融市场的动量现象指资产价格的延续性:涨的往往继续涨,跌的往往继续跌。动量指标从速度与变化率角度度量价格或量价的变化趋势,MACD就是一种典型的动量黏滞指标。 -
过滤器(Filter)
在交易系统中,过滤器指对原始信号进行二次判断的条件,用于剔除不符合特定市场环境的入场信号。例如本策略中,ADX大于某个阈值才允许MACD信号生效。 -
金叉/死叉(Golden Cross / Death Cross)
金叉指快线由下方向上穿越慢线,死叉指快线由上方向下穿越慢线。它们是MACD类策略最基础的交易触发点。 -
量价关系(Volume-Price Relationship)
指成交量与价格之间的互动关系。通常认为,健康的上涨需要放量,而下跌中缩量可能意味着做空力量衰竭。OBV正是量价关系的一种经典量化表达。
策略思路讲解
该策略的完整逻辑链可以拆解为几个步骤:
第一步,构造改良OBV序列。
传统OBV对价格涨跌等权处理,即只要收盘价上涨,就加上全部成交量;下跌则减去全部成交量。这种处理忽略了涨跌幅度的影响。该策略的“改良”可能体现在:如何根据涨跌幅或成交量距离对OBV进行加权,使数据更平滑、更抗噪声。从描述中“combine price movement and volume information”来看,至少保证OBV既包含价格方向,又包含成交量大小。
第二步,对OBV应用MACD计算。
将OBV这一序列视作“价格”,分别计算其快线EMA和慢线EMA,再得到DIF线、DEA线和柱状图。这一步的意义在于,OBV原本是一条锯齿状累积线,直接看它容易产生大量误判。经过MACD式的平滑处理,短期与长期OBV趋势的差异形成清晰的“量价动量”指标。
第三步,计算ADX趋势强度。
ADX基于真实波幅和方向性移动计算,它不关心方向,只关心趋势的斜率与稳定性。当ADX较高时,市场呈趋势状态;当ADX较低时,市场呈盘整状态。
第四步,生成交易信号。
典型的信号规则如下:
- 做多信号:ADX高于阈值(如25),且OBV-MACD的DIF上穿DEA(金叉),最好柱状图由负转正或绿柱缩短。
- 做空信号:ADX高于阈值,且DIF下穿DEA(死叉),柱状图由正转负。
- 平仓信号:DIF反向穿越,或ADX跌破阈值,或出现反向的柱状图收缩。
第五步,风险控制与仓位管理。
ADX过滤器虽然能过滤掉部分震荡行情,但无法保证每次信号都盈利。实际使用中通常需要配合止损,例如基于ATR或固定百分比止损,甚至用ADX变化来动态调整仓位——ADX越高,可持仓比例越大。
用一个简单的比喻来理解:OBV-MACD决定进攻方向,ADX决定是否值得进攻。如果市场没有明确趋势,进攻纪律再完美也是白费;如果趋势强劲,即便信号略有滞后,盈利空间也足够覆盖误差。
优点
-
融合量价信息,信号更具说服力
传统MACD只用价格,而本策略用OBV作为输入,等于给动量分析加入了成交量维度。放量突破的真实性远高于无量突破,这种融合有助于过滤部分“假突破”。 -
ADX过滤器显著提高信号胜率
只在趋势强度足够时才允许入场,回避了震荡市中最常见的反复止损问题。ADX过滤本身是一种“状态选择”,比单纯依赖均线方向或MACD交叉更为稳健。 -
结构清晰,逻辑协同性强
三个模块各司其职:OBV负责描述量价动态,MACD负责识别动量拐点,ADX负责判断趋势质量。它们之间没有相互干扰,而是形成前馈链条,易于理解和再实现。 -
对趋势行情捕捉能力强
在单边上涨或下跌过程中,OBV会持续累积同方向动量,MACD柱状图不断扩大,ADX持续走高。三者共振时,趋势的延续性往往较强,策略能吃到一段可观的中线利润。 -
可替代性强,适应不同周期
该策略不依赖K线形态或基本数据,适用于股票、加密货币、外汇、期货等多类市场,也适用于日线、小时线等不同周期,只需对OBV-MACD参数和ADX阈值进行适应性调整。
缺点
-
滞后性不可避免
OBV、EMA、MACD都是基于历史数据的平滑指标,ADX同样是对过去若干周期方向的统计。所有计算都滞后于价格,因此信号往往出现在行情已经启动的早期或中期,在急跌反弹中容易滞后。 -
参数敏感度较高
OBV的改良方式、MACD的快慢线周期、DEA平滑周期、ADX周期以及阈值,每一个参数都会对最终信号产生显著影响。不同市场可能需要一套独立参数,统一参数难有普适性。 -
ADX过滤可能“误杀”好行情
ADX本质是趋势强度,但不代表方向。在趋势启动初期ADX可能尚未上升到阈值,此时MACD已经给出金叉,但策略会要求等待,结果错过最佳入场点;而当ADX快速拉升时,行情往往已经走了很远。 -
对突发消息和跳空行情反应迟钝
由于依赖平滑数据,遇到重大利好/利空事件导致的跳空或剧烈波动时,OBV和MACD可能来不及反应,ADX可能先飙升后回落,导致策略在错误位置入场或出场。 -
复杂度增加,容易过度优化
三个指标叠加后,可调参数变多,交易者很容易陷入“为了回测好看而调参”的陷阱。多指标系统往往隐含一种风险:每个指标单独有效,但组合在一起可能产生信号稀疏或信号冲突。
起源年份考证
需要特别说明:本文是对“该类方法”而非该特定脚本的起源考证。该脚本作者的具体发布年份不作臆测,但该策略所依赖的底层指标均有明确的时间点:
- 1963年:Joseph Granville首次提出OBV指标,开创了用成交量累积量化量价关系的先河。
- 1978年:Welles Wilder出版了《New Concepts in Technical Trading Systems》,其中系统性地引入了ADX、相对强弱指数、平均真实波幅等指标,ADX由此进入交易领域并迅速普及。
- 1979年:Gerald Appel等人开发了MACD指标,并在20世纪80年代通过学术与商业研究广泛传播。最初MACD用于股市择时,后来被引入各市场。
- 1990年代:随着个人电脑和量化交易软件普及,多指标组合策略开始流行。将OBV与MACD结合的想法,最早可见于一些技术分析书籍与论坛。由于OBV本质上是累积动量,用它作为MACD输入的做法符合1980-90年代“指标二次加工”的趋势。
- 21世纪初:ADX作为过滤器与其他趋势指标结合成为常见范式,例如“MACD+ADX”“均线+ADX”等。互联网交易社区大量涌现,类似本文的组合策略在此基础上被反复改良与发布。
因此,该策略作为一类“OBV-MACD+ADX过滤器”的方法,其概念雏形应在指标全部公开后的1980-1990年之间形成,而系统化实现并在社区传播则更可能在2000年之后。确切的首创者或最早的公开版本无法考证,只能说这是技术指标生态自然演化的产物。
改进建议
-
自适应ADX阈值
固定阈值无法适应不同品种和周期。可以统计过去N根K线的ADX分位数,将阈值设定为动态分位点(例如高于80%分位才视为强趋势),使过滤条件随市场波动率自动调整。 -
引入价格MACD与OBV-MACD的共振确认
当价格MACD和OBV-MACD同方向交叉时,信号可靠性更高。如果二者发生背离,则放弃入场。这是在不增加参数维度的情况下提升过滤效果的好办法。 -
增加ATR动态止损机制
入场后可根据ATR设定初始止损,例如“入场价-2×ATR”为多单止损位。随着波动率变化逐步移动止损,能有效锁定利润并规避单根大阴线造成的亏损。 -
考虑ADX方向的辅助判断
虽然ADX不指示方向,但可以与+DI、-DI配合:当+DI在-DI上方且ADX上升时,强化多头信号;反之强化空头信号。把ADX过滤器从“强度”扩展到“强度与方向”双重过滤。 -
增加成交量异常检测
改良OBV时,可对成交量进行标准化处理,例如去除极端放量/缩量日的权重,防止个别“天量”K线对OBV造成过度扰动。也可引入成交量Z-score,只允许温和放量时交易。 -
多周期验证
在日线级别发出信号时,要求周线ADX大于前一周的值,或周线OBV-MACD方向一致。多周期共振能大幅降低假信号,但会增加信号延迟,需要权衡。 -
基于波动率调整MACD参数
传统MACD使用固定EMA周期。可以将周期设置为“ATR/价格”的函数:波动大时使用更短周期,波动小时使用更长周期,从而让动量捕捉更贴合市场的波动节奏。 -
加入信号评分系统
不要将所有条件视为硬性布尔逻辑,而是计算一个综合得分:例如ADX贡献30分,MACD柱体变化方向贡献30分,OBV斜率贡献20分,价格与均线关系贡献20分,得分超过70分再入场。这样能减少边界条件“卡死”导致的信号丢失。 -
滚动回测与参数稳健性检验
在多个时间窗口内进行分层回测,检查参数在牛市、熊市、震荡市中的表现是否稳定。避免只在单一历史区间调出“完美曲线”。
总结
OBV MACD + ADX趋势指标是一套典型的“三合一”趋势跟随系统。它以OBV为桥梁,将成交量信息注入MACD的动量框架,再用ADX过滤掉无趋势的噪音环境。这种设计体现了经典技术指标组合使用的核心思想:不同维度相互验证,让交易信号不再依赖单一技术图表的偶然重合。
然而,没有任何指标能保证百分百正确。OBV-MACD的滞后性、ADX阈值的敏感性以及多参数优化导致的过拟合风险,都需要使用者保持清醒。在实际应用中,应该把它当作一种“趋势识别工具”而非“自动印钞机”。它最大的价值在于帮助交易者形成一套可执行、可验证的决策流程:先看清趋势方向,再判断趋势强度,最后等待动量拐点确认。
对于想进一步探索的读者,建议从理解底层指标的原理开始,逐步调整个性化参数,并在模拟市场中验证。技术分析的世界没有终极圣杯,但好的组合策略确实能让你在浪潮来临时,更早、更稳地站在正确的方向上。