每当Fisher转换通过时,我都试图绘制一个箭头。到目前为止,我可以绘制箭头来显示上升趋势或下降趋势,但是我无法弄清楚如何存储先前的状态,因此只能显示趋势的变化。
因此,当您创建一个新的Fisher变换时,您可以看到2个变量fish1和fish2。每当以前的fish1> fish2到现在的fish1 是否有一个函数可以让我仅在条件“更大”变为“更低”时才绘制箭头? 非常感谢!//@version=3
study(title="Fisher Transform", shorttitle="Fisher")
len = input(9, minval=1, title="Length")
high_ = highest(hl2, len)
low_ = lowest(hl2, len)
round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val
value = 0.0
value := round_(.66 * ((hl2 - low_) / max(high_ - low_, .001) - .5) + .67 * nz(value[1]))
fish1 = 0.0
fish1 := .5 * log((1 + value) / max(1 - value, .001)) + .5 * nz(fish1[1])
fish2 = fish1[1]
plotshape(fish1 > fish2, style=shape.arrowup, location=location.belowbar, color=green, size=size.small, text="Buy")
plotshape(fish1 < fish2, style=shape.arrowdown, location=location.belowbar, color=red, size=size.small, text="Sell")
hline(1.5, color=orange)
hline(0.75)
hline(0, color=orange)
hline(-0.75)
hline(-1.5, color=orange)
plot(fish1, color=blue, title="Fisher")
plot(fish2, color=orange, title="Trigger")
答案 0 :(得分:1)
crossover()
和crossunder()
是您要寻找的功能。
跨界
x
系列被定义为跨越y
系列,如果x
的值大于y
的值,而x
的值是 小于紧接在前面的小节上的y
的值 当前栏。跨界
如果
x
系列已与y
系列交叉,x
的值小于y
的值,而x
的值是 大于紧接在 当前栏。
y