Pine Script中的线角

时间:2018-10-04 15:08:44

标签: tradingview-api pine-script

我想找到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);

能给我一个例子吗?

谢谢

2 个答案:

答案 0 :(得分:4)

您可以使用历史记录引用运算符 []访问系列类型的历史值。因此,例如; 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)

下面的代码也用于调试目的。它绘制当前收盘价和close [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的任何内置变量。因此,您将不得不手动键入该内容。

如果将这三个指标添加到图表中,则应获得类似以下内容: enter image description here

答案 1 :(得分:4)

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

//@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/