首页 > 解决方案 > 将信号/标签限制为首次出现

问题描述

我试图找到一种方法来仅显示每个信号/标签的第一次出现并连接它们。
我已经尝试过 barsince 以及我能想到的一切......

任务定义:
第一个标签必须是绿色标签
只显示第一次出现的绿色或红色标签
所以第二个标签必须是红色标签,第三个是绿色标签,依此类推。

这是一个显示太多信号的示例:
屏幕截图

//@version=4
study("LabelTest", overlay=true)
GREEN = rsi(close, 14) < 30
RED = rsi(close, 14) > 70

if(GREEN)
    label.new(bar_index, na, yloc=yloc.belowbar, color=color.green, style=label.style_label_up)

if(RED)
    label.new(bar_index, na, yloc=yloc.abovebar, color=color.red, style=label.style_label_down)

标签: pine-script

解决方案


知道了 ;)

//@version=4
study("LabelTest", overlay=true)
GREEN = rsi(close, 14) < 38
RED = rsi(close, 14) > 62

lastState = if(GREEN)
    "GREEN"
else if (RED)
    "RED"
    
if(GREEN and lastState[1]=="RED")
    label.new(bar_index, na, yloc=yloc.belowbar, color=color.green, style=label.style_label_up)

if(RED and lastState[1]=="GREEN")
    label.new(bar_index, na, yloc=yloc.abovebar, color=color.red, style=label.style_label_down)

推荐阅读