type
status
date
slug
summary
AI summary
AI translation
tags
category
password
icon
噢哟,看来我们今天要聊聊一个叫做“持仓量平衡指标”(OBV)的小玩意儿了。这个指标可是技术分析中用来衡量买卖压力的重量级选手。别小看它,这可是一个累积指标,意味着在价格上涨的日子里,当天的成交量就会被加到OBV的总数上。如果价格下跌,那么当天的成交量就会从OBV总数里被扣除。然后,OBV值会被绘制成一条线,方便我们进行解读。
notion image
OBV最主要的用途是确认或识别总体价格趋势,或者在出现分歧后预测价格走势。它是由Joe Granville在1963年的书《Granville's New Key To Stock Market Profits》中创造并介绍的。OBV在历史上的意义在于,它是首批考虑正负成交量流动的指标之一。
让我们来聊聊它的计算方法。OBV的计算可以说是技术分析中最直接的了。它只是基于几个条件进行加减运算:
  1. 如果当前收盘价高于前一收盘价,那么:
    1. 前一OBV + 当前成交量 = 当前OBV
  1. 如果当前收盘价低于前一收盘价,那么:
    1. 前一OBV - 当前成交量 = 当前OBV
  1. 如果当前收盘价等于前一收盘价,那么:
    1. 前一OBV = 当前OBV
当上涨日的成交量超过下跌日的成交量时,OBV上升。相反,如果下跌日的成交量超过上涨日的成交量,OBV下降。这意味着,当OBV上升时,买方压力上升;当OBV下降时,卖方压力上升。
notion image
OBV背后的基本理论是成交量领先于价格。这一点非常重要,因为它让OBV可以用于多种目的。它既可以用于一般趋势的识别或确认,也可以用于预测分歧后的价格走势。
趋势识别方面,OBV在确认或识别市场总体趋势方面很有用。这对于确认其他依赖于趋势识别的信号或设置非常有帮助。而且,基于正负成交量波动(买卖压力)先于价格变化的理论,OBV还能识别潜在的趋势反转。
notion image
分歧方面,当价格走势没有得到指标的确认时,就会出现分歧。在很多情况下,这些分歧可能预示着潜在的反转。特别是考虑到OBV指标背后的前提,即正负成交量的波动先于价格变化。
牛市OBV分歧出现在价格下跌但OBV上升的时候。
notion image
总的来说,OBV是衡量买卖压力的一个很好的指标。许多人认为买卖压力先于价格变化,使得这个指标很有价值。特别是分歧,总是要注意,因为它可能预示着当前趋势的可能反转。当然,像大多数指标一样,最好将OBV与其他技术分析工具一起使用。
好啦,故事讲完了,接下来本猫来说说这个技术指标的TradingView代码:
这段代码是用 Pine Script 编写的,它是用于交易图表平台 TradingView 的专用编程语言。这段代码主要实现了 "On Balance Volume" (OBV) 技术指标,并提供了一个平滑线来显示 OBV 指标的移动平均。
这里是代码的详细解释:
  1. @version=5 指的是使用的 Pine Script 语言的版本,这里是第 5 版本。
  1. indicator() 是一个函数,它设置了脚本所显示的图表的属性。例如,title 表示全名,shorttitle 表示简写名,format 表示数据的格式(这里是成交量格式)。
  1. var cumVol = 0. 这里声明了一个变量 cumVol,用于存储成交量的累积值。
  1. cumVol += nz(volume) 是将成交量的非零值累加到 cumVol 中。
  1. if barstate.islast and cumVol == 0检查最后一个柱的 cumVol 是否为零,如果为零,则输出错误信息 "No volume is provided by the data vendor.",表示数据供应商没有提供任何成交量数据。
  1. src = close 这里将关盘价格赋值给 src。
  1. obv = ta.cum(math.sign(ta.change(src)) * volume) 计算 OBV 值。它是计算 src(这里是收盘价)的变化率的符号与成交量的乘积的累积和。
  1. plot(obv, color=#2962FF, title="OnBalanceVolume") 这条语句绘制 OBV 图表。
以下部分包括一个名为 “ma” 的函数,它根据给定的算法(比如 "SMA","EMA",“SMMA (RMA)”,"WMA" 或 "VWMA")和指定的长度,计算源数据的移动平均。
用户可以通过下面的输入字段进行选择:
  1. 输入的方法("Method"),默认值是 "SMA"(简单移动平均)。
  1. 输入的长度("Length"),默认值是5。
  1. smoothingLine = ma(obv, smoothingLength, typeMA) 这条语句计算 OBV 的平滑线(移动平均线),使用前面用户选择的算法和长度。
  1. plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none) 这条语句绘制 OBV 的平滑线。注意这里设置了 display=display.none,所以这条平滑线实际上是隐藏的,不会显示在图表上。如果想让它显示,可以更改为 display=display.default。
[blackcat] L5 ALGOLD: Ovládání trendů bez omezení跟着通达信的情绪线,学会短线跳舞
blackcat1402
blackcat1402
This cat is an esteemed coding influencer on TradingView, commanding an audience of over 8,000 followers. This cat is proficient in developing quantitative trading algorithms across a diverse range of programming languages, a skill that has garnered widespread acclaim. Consistently, this cat shares invaluable trading strategies and coding insights. Regardless of whether you are a novice or a veteran in the field, you can derive an abundance of valuable information and inspiration from this blog.
Announcement
type
status
date
slug
summary
AI summary
AI translation
tags
category
password
icon
🎉Webhook Signal Bots for Crypto are Coming!🎉
--- Stay Tuned ---
👏From TradingView to OKX, Binance and Bybit Exchange Directly!👏