Есть ли способ получить высокие/низкие значения выбранных баров?

#plot #pine-script

Вопрос:

С помощью скрипта Pine я хотел бы визуализировать точки разворота (максимумы и минимумы) на микроуровне, касающиеся 3 баров, в соответствии со следующим условием для максимумов разворота:

 (high[1] > high[0]) and (high[1] > high[2])
 

Затем я хотел бы визуализировать максимумы разворота более высокого порядка, следующие за условием:

 (pivothigh[1] > pivothigh[0]) and (pivothigh[1] > pivothigh[2])
 

Наконец, я хотел бы проделать тот же процесс для еще одного уровня.
Первый шаг был сделан, однако у меня возникли проблемы со второй целью. Как я могу получить максимум разворота максимумов разворота микроуровня?

 study("Pivot points")

//Define the width to look for pivot highs
leftBars = input(1)
rightBars= input(1)

pivhigh = pivothigh(high,leftBars,rightBars)

//plotting the pivot highs on the micro level (however, with an additional offset)
plotshape(pivhigh, style = shape.xcross, location = location.abovebar, color=color.green, offset = -rightBars)
 

Ответ №1:

Вы можете использовать массивы для хранения и оценки сводок, а также добавлять высокие/низкие значения сводок в массивы более высокого порядка по мере их возникновения.

 var float[] first_order_pvhs = array.new_float()
var float[] second_order_pvhs = array.new_float()
var float[] third_order_pvhs = array.new_float()

if high[1] > high[0] and high[1] > high[2]
    array.unshift(first_order_pvhs, high[1])

pvh1_0 = array.get(first_order_pvhs, 0)
pvh1_1 = array.get(first_order_pvhs, 1)
pvh1_2 = array.get(first_order_pvhs, 2)

if pvh1_1 > pvh1_0 and pvh1_1 > pvh1_2
    array.unshift(second_order_pvhs, pvh1_1)

pvh2_0 = array.get(second_order_pvhs, 0)
pvh2_1 = array.get(second_order_pvhs, 1)
pvh2_2 = array.get(second_order_pvhs, 2)

if pvh2_1 > pvh2_0 and pvh2_1 > pvh2_2
    array.unshift(third_order_pvhs, pvh2_1)
 

Вы можете увидеть мою реализацию здесь : Повороты более высокого порядка

Комментарии:

1. Большое вам спасибо за вашу огромную поддержку! Ваше решение отлично работает!