Техническое задание
Индикатор Zigzag.
Входные данные, только цвет линии (по умолчанию серый)
Условие формирования фракталов:
Верхний фрактал:
1. Если High свечи слева меньше или равен High фрактальной свечи.
2. Если High свечи справа меньше High фрактальной свечи.
3. Если Low любой свечи справа после фрактальной ниже Low фрактальной свечи, условие выполняется до образования нового фрактала.
Нижний фрактал:
1. Если Low свечи слева больше или равен Low фрактальной свечи.
2. Если Low свечи справа больше Low фрактальной свечи.
3. Если High любой свечи справа после фрактальной выше High фрактальной свечи, условие выполняется до образования нового фрактала.
Как пример, для верхнего фрактала: fractalUp = high[bar_index] >= high[bar_index-leftBars] and high[bar_index] > high[bar_index+rightBars] and далее условие чуть сложнее - low[bar_index] < low[столько баров пока пока не будет перекрыт лоем любого бара собственно сам фрактальный бар]
Для нижнего фрактала (вершины ZigZag) чётко зеркально.
Я не специалист в Pine Script и вышеприведённый код это виртуальный пример. Я не знаю как правильно написать условие. Но цель этой строки была - передать смысл.
Итог: линия которая больше или равна предыдущей, для напрвления вверх - зеленый цвет; для направления вниз - красный цвет.