Я позаимствовал код из скрипта с открытым исходным кодом. Он показывает aws разворотные линии тренда максимум / минимум. Я также хочу, чтобы он рисовал горизонтальные уровни поддержки / сопротивления от каждой точки разворота, но я не уверен, как это сделать.
Я пробовал несколько возможностей, но поскольку line.new () не имеет offset или show_last, я не мог ' t исправить мою проблему.
проблема / решение: x2 необходимо установить после поворота, но bar_index [-1] невозможно
некоторые плохие результаты, которые у меня были: (1) строка извлекается из предыдущего бара за точкой поворота. (2) линия рисуется через 20 баров при подтверждении разворота. (3) линии нарисованы, кроме самого последнего поворота.
вот код. top3 - это переменная pivot high. Я написал первый оператор if. Второй оператор if в конце предназначен для диагональных линий тренда
ltop3 = valuewhen(top3, top3, 1)
bst3 = 0
bst3 := top3 ? 1 : nz(bst3[1]) + 1
float t_angle3 = 0.0
t_angle3 := t_angle3[1]
if not na(ltop3) and not na(top3)
line tline = na
line hline = na
dt = time - time[1]
if top3
hline := line.new(bar_index - bst3 - rb3, high[bst3 + rb3], bar_index - rb3, high[bst3 + rb3], color = color.purple, extend = extend.right)
if ltop3 > top3
tline := line.new(bar_index - bst3[1] - rb3, high[bst3[1] + rb3], bar_index - rb3, high[rb3], color = color.red, extend = extend.right)
Link is image. Использование приведенного выше кода дает (1) плохой результат, когда линия проводится от предыдущего максимума, а не от точки разворота