Написать индикатор Zigzag & Volume Fractals на Pine Script v5 (TradingView)

Specifiche

1. Общее описание
Требуется разработать индикатор на языке Pine Script v5, отображаемый в основном окне графика (overlay = true), с открытым исходным кодом. Индикатор должен объединять следующие компоненты:
• SMA(8) — простая скользящая средняя по close без смещения.
• SMA(100) — простая скользящая средняя по close.
• Фракталы по Биллу Вильямсу с фильтрацией по положению цены относительно SMA(8), SMA(100) и POC, с запретом на отображение на двух последних свечах.
• Зигзаг, строящийся по локальным максимумам/минимумам между пересечениями sma(hl2, 5) и sma(hl2, 34).
• Fixed Range Volume Profile (FRVP), рассчитываемый только между двумя соседними экстремумами зигзага и только если оба экстремума попадают в пользовательский временной диапазон.
________________________________________
2. Детали реализации
2.1. Скользящие средние
sma8   = ta.sma(close, 8)
sma100 = ta.sma(close, 100)
2.2. Фракталы
• Используются стандартные 5-баровые фракталы по Биллу Вильямсу:
• Бычий: high[2] > high[1] and high[2] > high[0] and high[2] > high[3] and high[2] > high[4]
• Медвежий: low[2] < low[1] and low[2] < low[0] and low[2] < low[3] and low[2] < low[4]
• Критическое ограничение: Фрактал может быть отмечен только на свече с индексом ≤ bar_index - 2. На двух крайних правых свечах (bar_index и bar_index - 1) фракталы НЕ отображаются.
• Условия отображения (все сравнения — со сдвигом [2]):
• Вне пользовательского временного диапазона:
• Бычий → close[2] > sma8[2] И close[2] > sma100[2]
• Медвежий → close[2] < sma8[2] И close[2] < sma100[2]
• Внутри пользовательского временного диапазона:
• Бычий → close[2] > sma8[2], close[2] > sma100[2] И close[2] > POC
• Медвежий → close[2] < sma8[2], close[2] < sma100[2] И close[2] < POC
2.3. Зигзаг
• Строится между последовательными пересечениями sma(hl2, 5) и sma(hl2, 34).
• Экстремумы — локальные максимумы и минимумы цены в этих интервалах.
• Логика non-repainting: экстремумы фиксируются после закрытия бара и не изменяются.
• Должна быть возможность программно определить последние два соседних экстремума (например, минимум → максимум).
2.4. Fixed Range Volume Profile (FRVP)
• Профиль строится ТОЛЬКО между двумя соседними экстремумами зигзага.
• Дополнительное условие: оба экстремума должны попадать в пользовательский временной диапазон, задаваемый интерактивно:
start_time = input.time(timestamp("2024-01-01T00:00"), "Start Time", confirm=true)
end_time   = input.time(timestamp("2024-01-31T23:59"), "End Time", confirm=true)
• Вне диапазона [start_time, end_time] профиль НЕ строится — это критично для производительности.
• Логика выбора таймфрейма для расчета (в точности как в TradingView)
• Дополнительно:
• POC (Point of Control) — уровень с максимальным объемом — должен быть вычислен и использован для фильтрации фракталов.
• Value Area — визуально выделяется (например, фоном или цветом).
• Объем учитывается только в свечах, которые:
1. Находятся между двумя соседними экстремумами зигзага,
2. И попадают в пользовательский временной диапазон [start_time, end_time].
2.5. Производительность
• Все расчеты FRVP прекращаются вне заданного диапазона.
• Избегать избыточных циклов и обращений к истории.
• Использовать эффективные конструкции Pine Script v5 (var, array, line, box).
________________________________________
3. Требования к коду
• Язык: Pine Script v5.
• Режим: overlay = true.
• Исходный код — полностью открытый, без обфускации.
• Все параметры — через input.* с понятными подписями и значениями по умолчанию.
• Комментарии на русском или английском.
• Поддержка всех таймфреймов, включая секундные, фьючерсы и спреды.
________________________________________
4. Дополнительно
• Индикатор должен быть non-repainting.
• Желательно приложить скриншот или короткое видео, демонстрирующее:
• Отсутствие фракталов на двух последних свечах,
• Фильтрацию фракталов по SMA(8), SMA(100) и POC,
• Профиль между экстремумами зигзага,
• Отсутствие профилей вне заданного диапазона.
Предпочтение — исполнителям с подтвержденным опытом реализации FRVP и non-repainting зигзагов на Pine Script.

Con risposta

1
Sviluppatore 1
Valutazioni
(574)
Progetti
945
47%
Arbitraggio
309
58% / 27%
In ritardo
125
13%
Gratuito
1
Sviluppatore 1
Valutazioni
(10)
Progetti
14
43%
Arbitraggio
0
In ritardo
3
21%
Gratuito
2
Sviluppatore 2
Valutazioni
(14)
Progetti
18
22%
Arbitraggio
1
100% / 0%
In ritardo
4
22%
Caricato
2
Sviluppatore 2
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
Pubblicati: 1 codice
3
Sviluppatore 3
Valutazioni
(268)
Progetti
603
34%
Arbitraggio
65
22% / 57%
In ritardo
147
24%
In elaborazione
Pubblicati: 1 articolo, 22 codici
3
Sviluppatore 3
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
4
Sviluppatore 4
Valutazioni
(298)
Progetti
478
40%
Arbitraggio
105
40% / 24%
In ritardo
82
17%
Caricato
Pubblicati: 2 codici
4
Sviluppatore 4
Valutazioni
(13)
Progetti
31
23%
Arbitraggio
8
25% / 63%
In ritardo
5
16%
Gratuito
5
Sviluppatore 5
Valutazioni
(9)
Progetti
22
9%
Arbitraggio
3
0% / 67%
In ritardo
3
14%
In elaborazione
5
Sviluppatore 5
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
6
Sviluppatore 6
Valutazioni
(54)
Progetti
102
23%
Arbitraggio
12
25% / 17%
In ritardo
13
13%
Gratuito
Ordini simili
Требуется опытный разработчик,для доработки и глубокого аудита торгового робота!Ключевые задачи: Аудит безопасности, полная проверка исходного кода на баги, уязвимости,и скрытые угрозы,а также передачи данных.Максимизация прибыли,и снижение рисков: Доработка логики для извлечения максимум профита и минимизации потерь и присадок.Штормоустойчивость:Критически важно,чтобы алгоритм и код, корректно и без сбоев
Цель доработки Исправить механизм пробойной защиты сетки. Пробойный механизм должен: защищать открытые хвосты при выходе цены из диапазона; рассчитывать объём только по текущему плавающему убытку хвостов; закрывать корзину около нуля или с небольшим плюсом; корректно переживать ложные пробои; повторять попытки защиты до закрытия корзины; не останавливать работу основной сетки; не создавать серию бессистемных

Informazioni sul progetto

Budget
100+ USD
Scadenze
da 3 a 9 giorno(i)