bgcolor().Исходный код
Для точного расчета мы используем астрономическую эпоху новолуния от 6 января 2000 года. Этот метод позволяет избежать тяжелых запросов к сторонним серверам и работает полностью автономно на стороне клиента. Если вы хотите объединить этот метод с другими сложными стратегиями, рекомендуем ознакомиться с нашей статьей о том, как реализована реализация стратегии парного трейдинга (Statistical Arbitrage) в Pine Script v5.
//@version=5
indicator('Dynamic Moon Phase Background', overlay=true)
// Эпоха известного новолуния: 6 января 2000 года, 18:14:00 UTC
var float NEW_MOON_EPOCH = 947182440000.0
var float SYNODIC_MONTH = 2551442849.28 // 29.530588853 дней в мс
// Расчет текущей фазы
float time_diff = time - NEW_MOON_EPOCH
float phase_cycle = (time_diff % SYNODIC_MONTH) / SYNODIC_MONTH
float phase = phase_cycle < 0 ? phase_cycle + 1.0 : phase_cycle
// Определение цветов с прозрачностью
color new_moon_color = color.new(color.black, 85)
color waxing_color = color.new(color.orange, 90)
color full_moon_color = color.new(color.blue, 85)
color waning_color = color.new(color.purple, 90)
color bg_color = na
if phase >= 0.975 or phase < 0.025
bg_color := new_moon_color
else if phase >= 0.025 and phase < 0.475
bg_color := waxing_color
else if phase >= 0.475 and phase < 0.525
bg_color := full_moon_color
else
bg_color := waning_color
bgcolor(bg_color, title='Moon Phase Background') Разбор параметров
NEW_MOON_EPOCH: Точка отсчета (эпоха) в миллисекундах, соответствующая известному новолунию 6 января 2000 года в 18:14:00 UTC.SYNODIC_MONTH: Продолжительность одного лунного цикла (синодический месяц) в миллисекундах, составляющая примерно 29.530588853 суток.phase: Нормализованное значение от 0.0 до 1.0, где 0.0 (и 1.0) — новолуние, 0.25 — первая четверть, 0.5 — полнолуние, а 0.75 — последняя четверть.bgcolor(): Встроенная функция TradingView для изменения цвета заднего фона графика на основе рассчитанной фазы.
Как запустить
Чтобы запустить этот скрипт, откройте редактор Pine Editor в TradingView, скопируйте код выше и нажмите кнопку «Добавить на график». Вы увидите, как фон графика плавно меняется в зависимости от лунного цикла. Такой подход часто используется в альтернативном техническом анализе для поиска циклических закономерностей.
При работе на младших таймфреймах вам может потребоваться оптимизация запросов данных. В таких случаях полезно знать, как обойти лимит 15 минут в request.security_lower_tf в Pine Script v5.
Кроме того, если вы занимаетесь высокорискованным трейдингом на крипторынке, обратите внимание на расчет и визуализацию уровней ликвидации Binance Futures (Kingfisher) в Pine Script v5 для улучшения вашей торговой системы.




