Pine script 在振荡器上绘制Tradingview

Pine script 在振荡器上绘制Tradingview,pine-script,Pine Script,我试图在发生交叉时在振荡器上画一个圆。 我的目标是把它放在振荡器发生交叉的地方。 使用location.bottom/top会将其置于底部/顶部,而location.absolute不会将其置于任何位置。 请帮助:( 这是代码和屏幕截图(橙色圆圈是它应该在的地方): valBottom=交叉(val,valSMA)和val上一个绿点时创建一个警报。比你更@rumpypumpydumpy var float lastCross = na if valBottom if na(lastCr

我试图在发生交叉时在振荡器上画一个圆。 我的目标是把它放在振荡器发生交叉的地方。 使用location.bottom/top会将其置于底部/顶部,而location.absolute不会将其置于任何位置。 请帮助:(

这是代码和屏幕截图(橙色圆圈是它应该在的地方):

valBottom=交叉(val,valSMA)和val<0

plotshape(valBottom?高/2:na,样式=shape.circle,颜色=绿色,位置=位置.bottom,大小=大小.small)

您可以使用
var float
声明变量来存储交叉,当下一个交叉发生时,您可以比较这两个变量:

var float lastCross = na

if valBottom
    if na(lastCross)
        lastCross := val
    else if val > lastCross
        alert(message = "Higher Cross", freq = alert.freq_once_per_bar_close)
        lastCross := val
    else
        lastCross := val

谢谢你,先生!@rumpypumpydumpy,我该如何将此事件转换为一个整数来比较它们呢?我的目标是在当前绿点>上一个绿点时创建一个警报。比你更@rumpypumpydumpy
var float lastCross = na

if valBottom
    if na(lastCross)
        lastCross := val
    else if val > lastCross
        alert(message = "Higher Cross", freq = alert.freq_once_per_bar_close)
        lastCross := val
    else
        lastCross := val