#pine-script
Вопрос:
Я пытаюсь закодировать какой-то ящик Дарваса, который отображает самые высокие максимумы и самые низкие минимумы, пока не произойдет прорыв.
обычная реализация имеет период возврата, поэтому график меняется произвольно после нескольких баров без соблюдения какой-либо логики. что я хотел бы сделать, так это: если текущее закрытие опускается ниже текущего минимума, максимум также должен обновиться и измениться на текущий или самый последний максимум,
и наоборот, если есть нарушение текущего самого высокого максимума, минимум должен переместиться к самому последнему более высокому минимуму. по сути, начните рисовать еще одну границу рамки для максимумов и минимумов каждый раз, когда происходит нарушение, показывая лучшую поддержку и сопротивление для секции.
прокомментированные строки как бы настраивают поведение, как я думаю, но это похоже на взлом, и должен быть способ сделать это лучше? также иногда я вижу, что условие верно, но сюжет не обновляется должным образом.
study("DARVAS BOX",overlay=true, shorttitle="DARVAS")
boxp=input(20, "BOX LENGTH")
LL = lowest(low,boxp)
HH=highest(high,boxp)
NH = valuewhen(high>HH[1],high,0)
NL = valuewhen(low<LL[1],low,0)
//NH := LL[1]==LL and LL[2]>LL[1] ? high : NH[1]
//NH := high>NH? high:NH
//NL := HH[1]==HH and HH[2]<HH[1] ? low : NL[1]
//NL := low<NL? low:NL
TopBox = NH// valuewhen(barssince(high>k1[1]) , NH, 1)
BottomBox = NL// valuewhen(barssince(low<LL[1]) , low, 1)
plot(TopBox, linewidth=3, color=green, title="TBbox")
plot(BottomBox, linewidth=3, color=red, title="BBbox")```