#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. Большое вам спасибо за вашу огромную поддержку! Ваше решение отлично работает!