7

我想在 TradingView Pine Script 语言中找到最后 200 根柱的价格趋势。

我想从最新的柱(关闭)到 200 个旧柱之间画一条线。然后我想以度数计算线的角度,以查看趋势看涨或看跌的程度。

我可以通过 TradingView 绘图屏幕中的回归趋势工具轻松做到这一点。我想以编程方式做同样的事情。

我猜这个角度可以通过这个公式(Java)找到:

double rads = Math.Atan((line.Y2 - line.Y1) / (line.X2 - line.X1));
double degrees = rads * (180f / Math.PI);

能给我举个例子?

谢谢

4

2 回答 2

9

您可以使用历史引用运算符 访问系列类型的历史值[]。因此,例如;close[1]会给你昨天的收盘价,这也是一个系列。

您找到角度的公式是正确的。你y2 - y1close - close[200]和你x2 - x1200 - 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。所以,你将不得不手动输入。

如果您将这三个指标添加到您的图表中,您应该会得到类似下面的结果: 在此处输入图像描述

于 2018-10-04T18:45:49.863 回答
7

您可以创建一个“角度”振荡器来测量线角度。

//@version=4
study("Angle Oscillator", overlay=false)

src = input(title="Source", type=input.source, defval=close)
price2bar_ratio = input(title="Price To Bar Ratio", type=input.float, defval=5.0)

get_degrees(src, price2bar_ratio) => (180.0 / (22.0 / 7.0)) * atan(change(src) / price2bar_ratio)

plot(get_degrees(src, price2bar_ratio))

是来自的price2bar_ratioChart settings > Scales > Lock Price To Bar Ratio


该比率本身取决于您,因为您是决定什么是“陡峭”或“平坦”角度的人。问题是,要有效地比较角度(价格图表与角度指标),您必须为图表和指标的该符号/时间范围使用相同的价格柱线比率。

因此,如果您的图表的价格刻度设置为自动缩放,您将在每次缩放更改时以相同的价格获得不同的图表角度(指标角度值不会受到影响)。无论放大或缩小多少,要获得相同的图表角度,请右键单击比例并确保选中锁定价格与条形比率。

要使用:

  1. 保存上述角度振荡器,使其出现在Indicators > My scripts
  2. 向图表添加 MA 指标
  3. 单击该指标的More > Add Indicator on (MA)
  4. 从中选择角度振荡器My scripts
  5. 调整角度振荡器的Price To Bar Ratio

有关更高级的版本,请参阅https://www.tradingview.com/script/D8RA0UqC-Cosmic-Angle/

于 2020-01-16T06:47:45.323 回答