Fisher变换越过时如何绘制箭头?

时间:2019-04-11 11:07:17

标签: pine-script tradingview-api

每当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")

是否有一个函数可以让我仅在条件“更大”变为“更低”时才绘制箭头?

非常感谢!

1 个答案:

答案 0 :(得分:1)

crossover()crossunder()是您要寻找的功能。

  

跨界

     

x系列被定义为跨越y系列,如果   x的值大于y的值,而x的值是   小于紧接在前面的小节上的y的值   当前栏。

     

跨界

     

如果x系列已与y系列交叉,   x的值小于y的值,而x的值是   大于紧接在   当前栏。

y