尝试结合 Stoch 和 Awesome Oscillator

Trying to combine Stoch and Awesome Oscillator

拜托,我是 pine 脚本的新手,我一直在尝试将随机指标和 AO 结合起来,但 AO 柱似乎没有出现在指标中,也没有任何错误消息表明有什么不对劲。我期待最终结果看起来有点像直方图和平滑交织在一起的 MACD。

AO 不受固定范围限制。在不同的仪器上,它会显示非常不同的结果,而 stoch 是固定范围 0..100。我猜您可能正在查看货币对,因此与随机指标相比,AO 的值非常小。如果您切换到 BINANCE:BTCUSDT 之类的东西,您会看到 AO 现在具有相对较大的值并且随机指标变得扁平。

您可以将 AO 重新缩放到固定范围,但这并不理想。您可以使用诸如 highest(AO, length) 到 lowest(AO, length) 之类的方法,或者像 BB% 那样使用 AO 的 stdev 来设置范围。

len = input(68)

sd = stdev(ao, len)
basis = sma(ao, len)
up = basis + sd * 2
dn = basis - sd * 2

rescaled_ao = (ao - dn) / (up - dn) * 100
plot(rescaled_ao)

将 AO 重新缩放到与 Stoch 相同的范围,但是现在 50 与标准 AO 的零线不同,而是基础(AO 的 sma)。

这会将 stoch 的标度移动到 -50 到 50 并且重新标定的 AO 共享相同的零线。请注意,它与标准 AO 零线不同。你在混合苹果和橙子,不同的尺寸和不同的比例,没有真正理想的方法来做到这一点。

ao = sma(hl2,5) - sma(hl2,34)

ao_sd = stdev(ao, 68)
ao_basis = sma(ao, 68)
ao_up = ao_basis + ao_sd * 3
ao_dn = ao_basis - ao_sd * 3

rescaled_ao = (ao - ao_dn) / (ao_up - ao_dn) * 100 - 50

plot(rescaled_ao, style = plot.style_histogram, color = rescaled_ao >= 0 ? color.lime : color.red)

periodK = input(14, title="%K Length", minval=1)
smoothK = input(1, title="%K Smoothing", minval=1)
periodD = input(3, title="%D Smoothing", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK) - 50
d = sma(k, periodD)
plot(k, title="%K", color=#0094FF)
plot(d, title="%D", color=#FF6A00)
h0 = hline(30, "Upper Band", color=#606060)
h1 = hline(-30, "Lower Band", color=#606060)
hline(50), hline(-50)
fill(h0, h1, color=#9915FF, transp=80, title="Background")