我正在尝试编写一个pine脚本,其中包括两个指标,一个(EMA)叠加在图表上,另一个(Stoch)单独展示。我找不到如何在视觉上分开这些指标但仍在同一个pine脚本中保留它们的任何信息,即能够基于这些指标做交易决策。
我正在尝试编写一个pine脚本,其中包括两个指标,一个(EMA)叠加在图表上,另一个(Stoch)单独展示。我找不到如何在视觉上分开这些指标但仍在同一个pine脚本中保留它们的任何信息,即能够基于这些指标做交易决策。
Luc的早期回答是正确的,不幸的是。每个脚本只能创建覆盖默认价格图表或在不同窗格中显示的图形,但不能两者兼备。但有一个解决方法。
假设您的脚本进行了一些非平凡的计算,并且您想将其放在不同的窗格中。例如下面的代码:
//@version=4
study(title="Stochastic", shorttitle="Stoch", format=format.price, precision=2)
periodK = input(14, title="K", minval=1)
periodD = input(3, title="D", minval=1)
smoothK = input(3, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
plot(k, title="%K", color=color.blue)
plot(d, title="%D", color=color.orange)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=color.purple, transp=75)
// This next plot would work best in a separate pane
someNonTrivialCalculatedSeries = close
plot(ema(someNonTrivialCalculatedSeries, 25), title="Exporting Plot")
由于它们具有不同的刻度,其中一个指标很可能会破坏另一个指标的刻度。
所以您要在不同的松木中显示Stoch
,而ema()
应该与主图叠加。 为此,您应该执行以下步骤:
//@version=4
study("NonOverlayIndicator", overlay=true)
src = input(defval=close, type=input.source)
plot(src)
但是,如果您想要拆分这些情节,因为您被允许申请的研究数量有限制(例如,免费帐户只能申请3个)-那么这并没有帮助您。
overlay=true
模式运行,但是它不能将绘图直接指向其他位置;或者在单独的窗格中运行,此时overlay=false
(默认)。当脚本在窗格中运行时,它可以使用barcolor()更改图表柱的颜色,但这是它修改图表的唯一方法。有可能重新缩放信号,以使一个脚本生成的多个有界信号(例如0-100、-1到+1)重叠在一起,但通常情况下,在覆盖模式下这是不可能的,因为垂直比例尺随着图表上的柱而变化。覆盖脚本与其自己的比例尺一起工作的唯一方法是使用无比例尺,但这会防止指标的绘图相对于价格和图表的柱进行绘制。Michael提供了一个不错的解决方法。但是,这个方法似乎只能用于传递一个图表的数据。 我想要将3个不同的图表的数据传递到股票价格图表中。 如果我尝试这样做,对于“input.source”,我只能选择标准来源:“open,high,low,close……”。我无法选择来自其他指标的数据。 如果我删除第2和第3个图表,那么它就像Michael所描述的那样工作。 有人有对这个解决方法的变通方法吗?;-)
window.user.is_pro=true;
和window.user.pro_plan="pro_premium";
- lxkarthi