【发布时间】:2022-06-23 11:07:19
【问题描述】:
很长一段时间以来,我一直在努力将有关趋势变化的警报添加到 TradingView 上的以下指标。代码如下:
study("Nadaraya-Watson Estimator [LUX]",overlay=true,max_lines_count=500,max_bars_back=500)
h = input(8.,'Bandwidth')
src = input(close,'Source')
//----
n = bar_index
var ln = array.new_line(0)
if barstate.isfirst
for i = 0 to 499
array.push(ln,line.new(na,na,na,na))
//----
float y2 = na
float y1 = na
float y1_d = na
//----
line l = na
label lb = na
if barstate.islast
for i = 0 to min(499,n-1)
sum = 0.
sumw = 0.
for j = 0 to min(499,n-1)
w = exp(-(pow(i-j,2)/(h*h*2)))
sum += src[j]*w
sumw += w
y2 := sum/sumw
d = y2 - y1
l := array.get(ln,i)
line.set_xy1(l,n-i+1,y1)
line.set_xy2(l,n-i,y2)
line.set_color(l,y2 > y1 ? #ff1100 : #39ff14)
line.set_width(l,2)
if d > 0 and y1_d < 0
label.new(n-i+1,src[i],'▲',color=#00000000,style=label.style_label_up,textcolor=#39ff14,textalign=text.align_center)
if d < 0 and y1_d > 0
label.new(n-i+1,src[i],'▼',color=#00000000,style=label.style_label_down,textcolor=#ff1100,textalign=text.align_center)
y1 := y2
y1_d := d
在指标的 cmets 中,有人建议添加以下行以添加警报。但是,当我添加它们时,我仍然没有收到任何有效的警报。
在第 17 行和第 18 行之间添加:
m2 = 0.0
m1 = 0.0
m0 = 0.0
在第 44 行之后添加:
if m0 > m1 and m1 < m2
alerts("Estimator turns green")
if m0 < m1 and m1 > m2
alerts("Estimator turns red")
我知道这是一个重绘指标,但是在使用高带宽值(比如 50)的情况下我觉得它非常有用。
我非常感谢社区对这个问题的帮助,因为我试图自己解决它,但没有任何成功。
提前致谢。 保罗
【问题讨论】:
-
有人知道怎么做吗?请帮忙!