【发布时间】:2022-01-10 01:32:25
【问题描述】:
尊敬的 pine 脚本专家!
我在 Pine 中创建了一个脚本来衡量股票与 QQQ 相比的波动率调整相对强度。我使用 atr() 进行了波动率调整。这个想法是值 0 表示相对强。不幸的是,输出不会在零附近波动,我不知道为什么。谁能向我解释我做错了什么,或者更好的是,我该如何解决这个问题?我很绝望,而且是一个编程新手(我只是为了结果而这样做:-))!
非常感谢您的帮助!
这是我的中间结果:
//@version=5
indicator(title="Volatility-Adjusted RS", shorttitle="VA-RS", overlay=false, timeframe="", timeframe_gaps=true)
//Input
length = input.int(title="Length", defval=20, minval=1)
benchmark = input.symbol("NASDAQ:QQQ", title="Benchmark")
//Functions
atr_rma_function(security, length) =>
_high = request.security(security, timeframe.period, high)
_low = request.security(security, timeframe.period, low)
_close = request.security(security, timeframe.period, close)
trueRange = math.max(math.abs(_high - _close[1]), math.abs(_close[1]-_low))
ta.rma(trueRange, length)
//Calcs
benchMarkATR = atr_rma_function(benchmark, length)
benchMarkChange = math.abs(ta.change(request.security(benchmark, timeframe.period, close), length))
symbolATR = ta.atr(length)
symbolChange = math.abs(ta.change(close, length))
rs = (symbolATR/symbolChange) / (benchMarkATR/benchMarkChange) - 1
plot(rs)
hline(0)`
【问题讨论】:
-
您能解释一下为什么您预计输出会在零附近波动吗?
-
rs = (symbolATR/symbolChange) / (benchMarkATR/benchMarkChange) - 1 这应该是因为公式,或者换句话说,因为右侧的变化通常接近它们各自的 ATR。
-
您是否尝试绘制所有这四个变量(
symbolATR、symbolChange、benchMarkATR、benchMarkChange),看看为什么会得到你得到的结果? -
我还没想过这个主意!我会做的,然后回来报告。谢谢
-
我现在已经按照建议绘制了函数。原来问题出在symbolChange和benchMarkChange的计算上。这些计算不正确。一天的产出值太高了。你知道这可能是什么吗?
标签: pine-script trading