打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个指标告诉你如何预判暴涨暴跌!

波动率指标(Volatility)就是用来衡量金融市场或某个资产价格变动幅度和不稳定性的指标。这个东西通常被用来评估市场有多冒险。波动率越高,代表资产价格波动越大,但是兄弟,风险也相对高啊!下面是一些相关术语和解释:

  • 历史波动率(Historical Volatility):过去某段时间内资产价格的实际波动率。这个玩意儿是通过计算历史数据来衡量的。

  • 隐含波动率(Implied Volatility):根据期权市场价格反推出的波动率,用于衡量市场对未来价格波动的预期。

  • VIX指数(Volatility Index):通常被称为“恐慌指数”,用于预测未来30天内美国股票市场的波动率。这是全球金融市场中最出名的波动率指标之一。

波动率指标对于投资者和交易员非常重要,因为它们可以帮助他们了解市场有多不稳定和冒险,从而做出更明智的投资决策。

BTCUSDT.P行情来自TradingView

今天我要介绍一个自己私藏多年的波动率指标,它可以用颜色来判断暴涨暴跌!当然,如果你够聪明,看趋势也能预判一些潜在的暴涨暴跌哦!

在金融领域中,波动率指标(Volatility)是衡量不同资产价格变动幅度和不稳定性的指标。它通常用来评估市场的风险水平。波动率越高,代表资产价格波动较大,风险也相对较高。历史波动率(Historical Volatility)是指过去某段时间内资产价格的实际波动率,可以通过计算历史数据来衡量;而隐含波动率(Implied Volatility)则是根据期权市场价格反推出的波动率,用于衡量市场对未来价格波动的预期。另外, VIX 指数(Volatility Index)通常被称为“恐慌指数”,用于预测未来30天内美国股票市场的波动率,是全球金融市场中最出名的波动率指标之一。

波动率指标对于投资者和交易员非常重要,因为它们可以帮助他们了解市场的不确定性和风险,从而做出更明智的投资决策。而今天要介绍的 L1 Dynamic Volatility Indicator 就是一种可以衡量波动率的指标,同时还可以通过颜色来判断暴涨暴跌!

这个指标是将 Dynamic Volatility(简称 DV)和 ATR 两个技术指标融合,结合颜色显示,预警暴涨暴跌的技术指标。DV 反应慢但是比较平滑,而 ATR 反应速度快但是纹波较多。利用它们互补的特性,可以构建一个类似 MACD 快慢线结构。当然,要实现 DV 和 ATR 的快慢线,第一就是要统一它们的坐标轴,需要做归一化处理。然后,每当 ATR 黄色大于 DV 的紫色线,并且两个曲线均快速向上突破 0.2 这个阈值时,暴涨暴跌就要来了。

不过要注意,仅依靠这两条线的高低和走势方向还不足以判断暴涨暴跌的方向哦!因为它们只负责判断波动率的趋势,并不能够判断牛熊!不过也没关系,我也早有考虑到这个问题,加上了神奇的渐变色带,当色带颜色逐渐变为暖色时,预示着暴涨;反之,当色带颜色趋于冷色则预示着暴跌!当然,进入横盘整理的区域是看不到色带的,这就避免了你参与一些毫无必要的交易,那样只会白白浪费你的资金!这个指标真的很实用,有了它你就能更好地判断市场的风险和机会了!
我将这个指标开源发布在了TradingView社区,感兴趣的朋友可以去围观:
[blackcat] L1 Dynamic Volatility Indicator
https://www.tradingview.com/script/Fx2iHrVV/
为了方便,我还是贴下源代码:

1//@version=5
2indicator(title='[blackcat] L1 Dynamic Volatility Indicator', shorttitle='DVI', overlay=false)
3
4// Input parameters
5length = input(14, title='Length')
6mult = input(1.5, title='Multiplier')
7
8// Calculate True Range (TR)
9trh = high - low
10trl = math.abs(high - close[1])
11trc = math.abs(low - close[1])
12_tr = math.max(trh, trl)
13trueRange = math.max(_tr, trc)
14
15// Calculate Average True Range (ATR)
16atrSummation(n) =>
17    sumTrueRange = 0.0
18    for i = 0 to n - 1 by 1
19        sumTrueRange += trueRange[i]
20        sumTrueRange
21    sumTrueRange
22
23atrValue = atrSummation(length) / length
24
25//Normalized func
26normalize(src,lenn) =>
27    norm_value = (src - ta.lowest(src, lenn)) / (ta.highest(src, lenn) - ta.lowest(src, lenn))
28    norm_value
29//PLOT courtesy of @animecummer
30var grad = array.new_color(na)
31if barstate.isfirst
32    array.push(grad, color.gray)
33    array.push(grad, #2d0aff)
34    array.push(grad, #0038ff)
35    array.push(grad, #0050ff)
36    array.push(grad, #0062ff)
37    array.push(grad, #0071ff)
38    array.push(grad, #007eff)
39    array.push(grad, #0089ff)
40    array.push(grad, #0093ff)
41    array.push(grad, #009dff)
42    array.push(grad, #00a5ff)
43    array.push(grad, #00adff)
44    array.push(grad, #00b5ff)
45    array.push(grad, #00bcff)
46    array.push(grad, #00c2ff)
47    array.push(grad, #00c9ff)
48    array.push(grad, #00cfee)
49    array.push(grad, #00d6d9)
50    array.push(grad, #00dcc4)
51    array.push(grad, #00e2ae)
52    array.push(grad, #00e898)
53    array.push(grad, #00ed82)
54    array.push(grad, #00f26b)
55    array.push(grad, #00f753)
56    array.push(grad, #00fb38)
57    array.push(grad, #0ffe09)
58    array.push(grad, #1bf20a)
59    array.push(grad, #33f203)
60    array.push(grad, #43f300)
61    array.push(grad, #50f300)
62    array.push(grad, #5bf400)
63    array.push(grad, #64f400)
64    array.push(grad, #6df500)
65    array.push(grad, #76f500)
66    array.push(grad, #7df500)
67    array.push(grad, #85f600)
68    array.push(grad, #8cf600)
69    array.push(grad, #93f700)
70    array.push(grad, #99f700)
71    array.push(grad, #9ff700)
72    array.push(grad, #a5f800)
73    array.push(grad, #abf800)
74    array.push(grad, #b1f800)
75    array.push(grad, #b7f800)
76    array.push(grad, #bcf900)
77    array.push(grad, #c2f900)
78    array.push(grad, #c7f900)
79    array.push(grad, #ccf900)
80    array.push(grad, #d1fa00)
81    array.push(grad, #d6fa02)
82    array.push(grad, #dbfa09)
83    array.push(grad, #f6ff0d)
84    array.push(grad, #f9f700)
85    array.push(grad, #fbf000)
86    array.push(grad, #fde800)
87    array.push(grad, #ffe000)
88    array.push(grad, #ffd900)
89    array.push(grad, #ffd100)
90    array.push(grad, #ffc900)
91    array.push(grad, #ffc100)
92    array.push(grad, #ffb900)
93    array.push(grad, #ffb100)
94    array.push(grad, #ffa800)
95    array.push(grad, #ffa000)
96    array.push(grad, #ff9800)
97    array.push(grad, #ff8f00)
98    array.push(grad, #ff8600)
99    array.push(grad, #ff7d00)
100    array.push(grad, #ff7400)
101    array.push(grad, #ff6a00)
102    array.push(grad, #ff6000)
103    array.push(grad, #ff5600)
104    array.push(grad, #ff4a00)
105    array.push(grad, #ff3e00)
106    array.push(grad, #fc2f00)
107    array.push(grad, #fa1a09)
108    array.push(grad, #ff1e0d)
109    array.push(grad, #ff071b)
110    array.push(grad, #ff0025)
111    array.push(grad, #ff002f)
112    array.push(grad, #ff0038)
113    array.push(grad, #ff0041)
114    array.push(grad, #ff0049)
115    array.push(grad, #ff0052)
116    array.push(grad, #ff005b)
117    array.push(grad, #ff0064)
118    array.push(grad, #ff006e)
119    array.push(grad, #ff0077)
120    array.push(grad, #ff0081)
121    array.push(grad, #ff008a)
122    array.push(grad, #ff0094)
123    array.push(grad, #ff009e)
124    array.push(grad, #ff00a8)
125    array.push(grad, #ff00b2)
126    array.push(grad, #ff00bd)
127    array.push(grad, #ff00c7)
128    array.push(grad, #ff00d1)
129    array.push(grad, #ff00dc)
130    array.push(grad, #ff00e6)
131    array.push(grad, #ff00f0)
132    array.push(grad, #f709fa)
133
134AvgValue = ta.alma(close, 210.856)
135rsival = math.round(ta.rsi(AvgValue, 21))
136gradcolor = array.get(grad, rsival)
137// Calculate Dynamic Volatility Indicator (DVI)
138dviValue = normalize(ta.alma(atrValue * mult, length, 0.856),987)
139tvATR = normalize(ta.rma(ta.tr, length),987)
140p1 = plot(tvATR, color=color.new(color.yellow, 0), linewidth=1)
141p2 = plot(dviValue, color=color.new(color.fuchsia, 0), linewidth=1)
142fill(p1, p2, color=(tvATR>=dviValue) and (tvATR>=0.2and (dviValue>=0.2) ?gradcolor:na)
143h1 = hline(0.2, color=color.red)
144h2 = hline(0.0, color=color.green)
145fill(h1,h2, color=color.new(color.gray,70))

这段代码用于计算动态波动率指标(Dynamic Volatility Indicator)。以下是代码的解释:

1//@version=5
2indicator(title='[blackcat] L1 Dynamic Volatility Indicator', shorttitle='DVI', overlay=false)

此行设置了脚本版本和指标标题。

1length = input(14, title='Length')
2mult = input(1.5, title='Multiplier')

这两行定义了输入参数lengthmult,分别表示长度和倍数。默认值为14和1.5。

1trh = high - low
2trl = math.abs(high - close[1])
3trc = math.abs(low - close[1])
4_tr = math.max(trh, trl)
5trueRange = math.max(_tr, trc)

这几行计算了真实范围(True Range),其中:

  • trh表示最高价与最低价之差;

  • trl表示最高价与前一日收盘价之差的绝对值;

  • trc表示最低价与前一日收盘价之差的绝对值;

  • _tr取以上三个值中的较大者;

  • trueRange取上述结果与(high-low)中的较大者。

1atrSummation(n) =>
2    sumTrueRange = 0.0
3    for i = 0 to n - 1 by 1
4        sumTrueRange += trueRange[i]
5        sumTrueRange
6    sumTrueRange
7
8atrValue = atrSummation(length) / length

这几行定义了一个函数atrSummation(n),用于计算平均真实范围(Average True Range, ATR)。该函数通过循环累加前n个真实范围的值,并返回总和。最后,将总和除以长度length得到ATR的值。

1normalize(src,lenn) =>
2    norm_value = (src - ta.lowest(src, lenn)) / (ta.highest(src, lenn) - ta.lowest(src, lenn))
3    norm_value
4
5AvgValue = ta.alma(close, 210.856)
6rsival = math.round(ta.rsi(AvgValue, 21))
7gradcolor = array.get(grad, rsival)

这几行定义了一个名为normalize的函数,用于对数据进行归一化处理。在此之后,使用内置指标计算出平滑移动平均线(ALMA)和相对强弱指数(RSI),并获取相应位置上的颜色值。

1dviValue = normalize(ta.alma(atrValue * mult, length, 0.856),987)
2tvATR = normalize(ta.rma(ta.tr,length),987)
3p1 = plot(tvATR,color=color.new(color.yellow ,0),linewidth=1 )
4p2=plot(dviValue,color=color.new(color.fuchsia ,0),linewidth=1 )
5fill(p1,p2,color=(tvATR>=dviValue) and (tvATR>=0.2and (dviValue>=0.2)?gradcolor:na)
6h1=hline(0.2,color=color.red)
7h2=hline(0.0,color=color.green)
8fill(h1,h2, color=color.new(color.gray,70))

这几行计算了动态波动率指标(DVI)的值,并绘制了相应的图表。最后,根据一些条件对图表进行填充和着色。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
基于百度地图的用户轨迹展示
C++经典面试题
STOCHRSI 指标理解
图解:那些暴涨暴跌的“妖股”
那些暴涨暴跌的“妖股”
这个抓涨停战法,追求的是暴涨暴跌洗盘之后再度暴涨拉升的力度
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服