Как обновить или удалить поле после восстановления цены

Я пытаюсь создать индикатор на основе среднего дневного объема, поэтому всякий раз, когда объем превышает средний, создается новое поле, и как только будущая цена возвращается в эту область, это конкретное поле удаляет или регулирует свою высоту в зависимости от восстановленный уровень. Но я не мог понять, как обновить поле ( удалить его, если он полностью откатился, или отрегулировать высоту окна до области отката ) после отката цены.

      //@version=5
indicator(title="Liquidity Zone",overlay=true)

VolBars = input.bool(true, title='ON/OFF  ', tooltip='Colored Bars based on Average Daily 
Trading Volume (ADTV)', inline='2',group="Volume Bars")
VolLen  = input.int(10, title='Volume Length', minval=1, inline='2',group="Volume Bars")

Volume = nz(volume)
Volume2 = volume*(high-low)
HighVOL = ta.highest(Volume2,10)

VolAvg  = math.sum(Volume, VolLen) / VolLen

IncreasingVol1 = VolAvg * 1.5
IncreasingVol2 = VolAvg * 2

BullCandle = close > open

Color      = volume >= IncreasingVol1 or Volume2 >= HighVOL  ?  1 : 0
ColorCode  = volume >= IncreasingVol2 or Volume2 >= HighVOL  ?  2 : Color

BullColor  = ColorCode == 1 ? #208000 : ColorCode == 2 ? #008000 : color.new(#8c8c8c,0) 
BearColor  = ColorCode == 1 ? #801a00 : ColorCode == 2 ? #e60000 : color.new(#8c8c8c,50)

BarColor   = BullCandle ? BullColor : BearColor

barcolor(VolBars ? BarColor : na,editable=false)
plotchar(Volume > VolAvg * 3.5, char='🔥', size=size.tiny,editable=false)

BullBoxColor  = ColorCode == 1 ? #208000 : ColorCode == 2 ? #008000 : na
BearBoxColor  = ColorCode == 1 ? #801a00 : ColorCode == 2 ? #e60000 : na

BoxColor = BullCandle ? BullBoxColor : BearBoxColor

var boxes = array.new_box()

if ColorCode
    array.push(boxes, box.new(left=time, top=open, right=time+2, bottom=close, 
     extend=extend.right,
     xloc=xloc.bar_time,border_color=na,bgcolor=color.new(BoxColor,80)))

Текущий выход

0 ответов

Другие вопросы по тегам