Pine Script v5: Поиск Интрадей Раскорреляции BTC и DXY с ta.correlation

Pine Script v5: Поиск Интрадей Раскорреляции BTC и DXY с ta.correlation Pine Script
Изучите, как использовать функцию ta.correlation в Pine Script v5 для обнаружения интрадей раскорреляции между Bitcoin (BTC) и индексом доллара США (DXY), создавая торговые сигналы.
Суть: Функция ta.correlation в Pine Script v5 позволяет измерять динамическую корреляцию между двумя активами, такими как BTC и DXY, для выявления моментов интрадей раскорреляции, которые могут указывать на потенциальные торговые возможности или изменения рыночных настроений.

Исходный код

В мире криптовалют и традиционных финансов, Bitcoin (BTC) часто демонстрирует обратную корреляцию с индексом доллара США (DXY). Однако эта связь не является постоянной, и моменты раскорреляции могут предоставлять уникальные торговые возможности или сигнализировать о смене рыночных настроений. Данная статья-инструкция покажет, как использовать встроенную функцию ta.correlation в Pine Script v5 для мониторинга этой динамики внутри дня.

Мы создадим индикатор, который будет рассчитывать корреляцию между ценой BTC и DXY на выбранном таймфрейме, а затем выделять периоды, когда эта корреляция опускается ниже заданного порога, сигнализируя о раскорреляции. Это может быть полезно для трейдеров, ищущих аномалии или подтверждения для своих стратегий, например, в сочетании с анализом волатильности, как описано в нашей статье Создание Heatmap Волатильности Криптопар с Нормализованным ATR в Pine Script v5.


//@version=5
indicator("Intraday BTC-DXY Decorrelation", "BTC-DXY Corr", true, max_bars_back=500)

// --- Входные параметры ---
i_length = input.int(20, "Длина корреляции", minval=1, group="Настройки корреляции")
i_threshold = input.float(-0.5, "Порог раскорреляции", minval=-1.0, maxval=1.0, step=0.05, group="Настройки корреляции")
i_btc_src = input.src(close, "Источник данных BTC", group="Источники данных")
i_dxy_src = input.src(close, "Источник данных DXY", group="Источники данных")

// --- Получение данных DXY ---
// Используем request.security для получения данных DXY на текущем таймфрейме.
// Важно: DXY доступен на TradingView как TVC:DXY.
// Убедитесь, что ваш график BTC находится на интрадей таймфрейме (например, 1H, 15m).
dxy_data = request.security("TVC:DXY", timeframe.period, i_dxy_src[0], lookahead=barmerge.lookahead_on)

// --- Расчет корреляции ---
// Проверяем, что оба источника данных доступны, прежде чем рассчитывать корреляцию.
// Это предотвращает ошибки при отсутствии данных (например, на первых барах).
var float correlation_value = na
if not na(i_btc_src) and not na(dxy_data)
    correlation_value := ta.correlation(i_btc_src, dxy_data, i_length)

// --- Определение раскорреляции ---
// Раскорреляция считается, когда значение корреляции ниже заданного порога.
is_decorrelated = correlation_value < i_threshold

// --- Визуализация ---
// График значения корреляции
plot(correlation_value, "Корреляция BTC-DXY", color.new(color.blue, 0), linewidth=2)

// Горизонтальная линия порога
hline(i_threshold, "Порог раскорреляции", color.new(color.red, 0), linestyle=hline.style_dotted, linewidth=1)

// Заливка фона при раскорреляции
bgcolor(is_decorrelated ? color.new(color.purple, 90) : na, "Фон раскорреляции")

// Вывод текстовой метки при раскорреляции (опционально)
if is_decorrelated
    label.new(bar_index, high, "Раскорреляция!", yloc=yloc.abovebar, 
              color=color.new(color.purple, 20), textcolor=color.white, 
              style=label.style_label_down, size=size.small)

// --- Дополнительная информация (опционально) ---
// Вывод текущего значения корреляции в панель данных
plotchar(is_decorrelated, "Сигнал раскорреляции", "↓", location.top, color.purple, size=size.small)

// Пример использования в контексте торговой стратегии:
// Если вы используете этот индикатор как часть более сложной стратегии,
// вы можете интегрировать его с другими метриками, например, для создания
// кастомной таблицы статистики, как описано здесь:
// Создание кастомной таблицы статистики в Pine Script v5: Winrate и Profit Factor

Разбор параметров

  • i_length: Длина периода (количество баров), по которому рассчитывается корреляция. Чем больше значение, тем более сглаженной будет корреляция, но тем медленнее она будет реагировать на изменения. Для интрадей анализа обычно используются значения от 10 до 50.
  • i_threshold: Пороговое значение корреляции, ниже которого считается, что активы находятся в состоянии раскорреляции. Значение может варьироваться от -1.0 (идеальная обратная корреляция) до 1.0 (идеальная прямая корреляция). Для поиска раскорреляции с BTC/DXY часто ищут значения в отрицательной области (например, -0.5 или ниже).
  • i_btc_src: Источник данных для Bitcoin (BTC). По умолчанию используется цена закрытия (close) текущего графика. Вы можете выбрать другие источники, такие как open, high, low, hl2 и т.д.
  • i_dxy_src: Источник данных для индекса доллара США (DXY). Аналогично i_btc_src, по умолчанию используется цена закрытия (close) DXY.
  • request.security("TVC:DXY", timeframe.period, i_dxy_src[0], lookahead=barmerge.lookahead_on): Эта функция используется для получения данных DXY с другого символа ("TVC:DXY") на том же таймфрейме, что и текущий график (timeframe.period). Параметр lookahead=barmerge.lookahead_on позволяет избежать перерисовки, используя данные с текущего бара DXY.
  • ta.correlation(source1, source2, length): Основная функция, которая вычисляет коэффициент корреляции Пирсона между двумя сериями данных (source1 и source2) за указанный период (length). Результат находится в диапазоне от -1 до 1.

Как запустить

Чтобы использовать этот индикатор для поиска интрадей раскорреляции между BTC и DXY, выполните следующие шаги:

  1. Откройте график Bitcoin (например, BTCUSD или BTCUSDT) на платформе TradingView.

  2. Установите желаемый интрадей таймфрейм для вашего графика (например, 1 час, 30 минут или 15 минут). Это критически важно для анализа интрадей раскорреляции.

  3. Перейдите в редактор Pine Script (обычно находится в нижней части экрана TradingView).

  4. Удалите весь существующий код в редакторе и вставьте предоставленный выше код.

  5. Нажмите кнопку ‘Добавить на график’ (‘Add to Chart’).

  6. Индикатор появится на вашем графике. Вы можете настроить параметры Длина корреляции и Порог раскорреляции через меню настроек индикатора, чтобы адаптировать его под свои торговые предпочтения.

  7. Наблюдайте за фиолетовыми областями фона и метками ‘Раскорреляция!’, которые будут указывать на периоды, когда корреляция между BTC и DXY опускается ниже заданного порога. Эти моменты могут быть интересны для дальнейшего анализа или принятия торговых решений. Например, вы можете использовать эти сигналы в сочетании с паттернами, которые можно обнаружить с помощью Кастомного ZigZag с фильтрацией по объему в Pine Script v5.

Помните, что корреляция — это лишь один из инструментов анализа. Всегда используйте его в сочетании с другими методами и инструментами для принятия обоснованных торговых решений.

Оцените статью
FinFluct