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

Şartname

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.

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(574)
Projeler
945
47%
Arabuluculuk
309
58% / 27%
Süresi dolmuş
125
13%
Serbest
1
Geliştirici 1
Derecelendirme
(10)
Projeler
14
43%
Arabuluculuk
0
Süresi dolmuş
3
21%
Serbest
2
Geliştirici 2
Derecelendirme
(14)
Projeler
18
22%
Arabuluculuk
1
100% / 0%
Süresi dolmuş
4
22%
Yüklendi
2
Geliştirici 2
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Yayınlandı: 1 kod
3
Geliştirici 3
Derecelendirme
(268)
Projeler
603
34%
Arabuluculuk
65
22% / 57%
Süresi dolmuş
147
24%
Çalışıyor
Yayınlandı: 1 makale, 22 kod
3
Geliştirici 3
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
4
Geliştirici 4
Derecelendirme
(298)
Projeler
478
40%
Arabuluculuk
105
40% / 24%
Süresi dolmuş
82
17%
Yüklendi
Yayınlandı: 2 kod
4
Geliştirici 4
Derecelendirme
(13)
Projeler
31
23%
Arabuluculuk
8
25% / 63%
Süresi dolmuş
5
16%
Serbest
5
Geliştirici 5
Derecelendirme
(9)
Projeler
22
9%
Arabuluculuk
3
0% / 67%
Süresi dolmuş
3
14%
Çalışıyor
5
Geliştirici 5
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
6
Geliştirici 6
Derecelendirme
(54)
Projeler
102
23%
Arabuluculuk
12
25% / 17%
Süresi dolmuş
13
13%
Serbest
Benzer siparişler
Требуется опытный разработчик,для доработки и глубокого аудита торгового робота!Ключевые задачи: Аудит безопасности, полная проверка исходного кода на баги, уязвимости,и скрытые угрозы,а также передачи данных.Максимизация прибыли,и снижение рисков: Доработка логики для извлечения максимум профита и минимизации потерь и присадок.Штормоустойчивость:Критически важно,чтобы алгоритм и код, корректно и без сбоев
Цель доработки Исправить механизм пробойной защиты сетки. Пробойный механизм должен: защищать открытые хвосты при выходе цены из диапазона; рассчитывать объём только по текущему плавающему убытку хвостов; закрывать корзину около нуля или с небольшим плюсом; корректно переживать ложные пробои; повторять попытки защиты до закрытия корзины; не останавливать работу основной сетки; не создавать серию бессистемных

Proje bilgisi

Bütçe
100+ USD
Son teslim tarihi
from 3 to 9 gün