您可以使用历史引用运算符 访问系列类型的历史值[]
。因此,例如;close[1]
会给你昨天的收盘价,这也是一个系列。
您找到角度的公式是正确的。你y2 - y1
的close - close[200]
和你x2 - x1
的200 - 0
。所以,你需要计算的是atan((close - close[200]) / 200)
。
这是一个指示器,它根据以弧度为单位的角度值对背景进行着色。您可以使用输入来尝试不同的范围。
//@version=3
study(title="Angle Bg", overlay=true)
x = input(title="Range", minval=1, defval=5)
y = close - nz(close[x])
angle = atan(y/x) // radians
color = angle < 0 ? green : red
bgcolor(color, transp=70)
下面的代码用于调试目的。它以弧度绘制角度。
//@version=3
study(title="Angle", overlay=false)
x = input(title="Range", minval=1, defval=5)
y = close - nz(close[x])
angle = atan(y/x) // radians
plot(angle, title="Angle", linewidth=4)
hline(0, color=gray, linestyle=dotted, linewidth=3)
下面的代码也用于调试目的。它绘制当前收盘价和收盘价[x]。所以你不需要在手动计算角度时来回走动:)
//@version=3
study("Close")
range = input(title="Range", type=integer, minval=1, defval=5)
plot(close, title="close", linewidth=4, color=orange)
plot(nz(close[range]), title="close[]", linewidth=4, color=green)
注意:我发现使用弧度比使用度数更有用。但是,如果您想在指标中使用度数,您不妨将公式应用于angle
变量。请注意,pine-script
它没有任何内置变量pi
。所以,你将不得不手动输入。
如果您将这三个指标添加到您的图表中,您应该会得到类似下面的结果:
