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

Termos de Referência

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.

Respondido

1
Desenvolvedor 1
Classificação
(574)
Projetos
945
47%
Arbitragem
309
58% / 27%
Expirado
125
13%
Livre
1
Desenvolvedor 1
Classificação
(10)
Projetos
14
43%
Arbitragem
0
Expirado
3
21%
Livre
2
Desenvolvedor 2
Classificação
(8)
Projetos
9
22%
Arbitragem
0
Expirado
1
11%
Ocupado
2
Desenvolvedor 2
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
Publicou: 1 código
3
Desenvolvedor 3
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
3
Desenvolvedor 3
Classificação
(265)
Projetos
596
35%
Arbitragem
64
20% / 58%
Expirado
147
25%
Trabalhando
Publicou: 1 artigo, 22 códigos
4
Desenvolvedor 4
Classificação
(295)
Projetos
471
39%
Arbitragem
102
40% / 24%
Expirado
78
17%
Ocupado
Publicou: 2 códigos
4
Desenvolvedor 4
Classificação
(13)
Projetos
31
23%
Arbitragem
7
29% / 57%
Expirado
5
16%
Livre
5
Desenvolvedor 5
Classificação
(9)
Projetos
21
10%
Arbitragem
2
0% / 50%
Expirado
2
10%
Carregado
5
Desenvolvedor 5
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
6
Desenvolvedor 6
Classificação
(54)
Projetos
102
23%
Arbitragem
12
25% / 17%
Expirado
13
13%
Livre
Pedidos semelhantes
Нужен полностью автоматический робот для Meta Trade 5 По готовому техническому заданию. Стратегия: Supertrend + FVG +структура рынка+риск менеджмент Таймфрейм М5, инструмент XAUUSD Бот должен: Торговать только в заданные временные окна Открывать сделки по четким условиям Автоматически ставить SL /TP Соблюдать ограничения по риску, просадке и прибыли Не использовать усреднение, мартингейл, доливки Нужен качественный
Есть готовый индикатор, но у него нет оповещений в коде. Он служит как один из дополнительный критериев для определения точки входа. Постоянно входить на график и проверять не совсем удобно и затратно по времени, поэтому мне для него нужно добавить сигналы, чтобы я мог на этапе оповещения в телеграмм увидеть стоит открывать график для анализа или нет
Принцип торговли. Торговля происходит от уровней в автоматическом режиме, без участия человека при открытии и закрытии сделок. Первую сделку он открывает при получении сигнала с применением VSA анализа. Сигнал по объемам поступает с биржи СМЕ. Если первая торговая позиция закрывается в плюс, то робот открывает новую сделку. Если котировки пошли в обратную от открытой позиции сторону, то робот включает свой алгоритм

Informações sobre o projeto

Orçamento
100+ USD
Prazo
de 3 para 9 dias