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, выполните следующие шаги:
-
Откройте график Bitcoin (например,
BTCUSDилиBTCUSDT) на платформе TradingView. -
Установите желаемый интрадей таймфрейм для вашего графика (например, 1 час, 30 минут или 15 минут). Это критически важно для анализа интрадей раскорреляции.
-
Перейдите в редактор Pine Script (обычно находится в нижней части экрана TradingView).
-
Удалите весь существующий код в редакторе и вставьте предоставленный выше код.
-
Нажмите кнопку ‘Добавить на график’ (‘Add to Chart’).
-
Индикатор появится на вашем графике. Вы можете настроить параметры
Длина корреляциииПорог раскорреляциичерез меню настроек индикатора, чтобы адаптировать его под свои торговые предпочтения. -
Наблюдайте за фиолетовыми областями фона и метками ‘Раскорреляция!’, которые будут указывать на периоды, когда корреляция между BTC и DXY опускается ниже заданного порога. Эти моменты могут быть интересны для дальнейшего анализа или принятия торговых решений. Например, вы можете использовать эти сигналы в сочетании с паттернами, которые можно обнаружить с помощью Кастомного ZigZag с фильтрацией по объему в Pine Script v5.
Помните, что корреляция — это лишь один из инструментов анализа. Всегда используйте его в сочетании с другими методами и инструментами для принятия обоснованных торговых решений.




