OPEN-SOURCE SCRIPT
Rolling Correlation (Forex)

//version=5
indicator("Rolling Correlation (Forex)", shorttitle="ρ-Corr", overlay = false)
// ── User inputs ────────────────────────────────────────────────────────────────
sym1 = input.symbol("FX_IDC:EURUSD", "First symbol") // Change if your broker uses another prefix
sym2 = input.symbol("FX_IDC:GBPUSD", "Second symbol")
len = input.int(20, "Look-back length", minval = 2)
// ── Pull closing prices from both symbols on the chart’s timeframe ────────────
p1 = request.security(sym1, timeframe.period, close,
barmerge.gaps_off, barmerge.lookahead_on)
p2 = request.security(sym2, timeframe.period, close,
barmerge.gaps_off, barmerge.lookahead_on)
// ── Convert to log-returns (removes price-level bias) ─────────────────────────
r1 = math.log(p1 / p1[1])
r2 = math.log(p2 / p2[1])
// ── Rolling Pearson correlation ───────────────────────────────────────────────
corr = ta.correlation(r1, r2, len)
// ── Plot ──────────────────────────────────────────────────────────────────────
plot(corr, title = "ρ", linewidth = 2)
hline( 1, "+1 (perfect)", color = color.green)
hline( 0, "0", color = color.gray)
hline(-1, "-1 (inverse)", color = color.red)
indicator("Rolling Correlation (Forex)", shorttitle="ρ-Corr", overlay = false)
// ── User inputs ────────────────────────────────────────────────────────────────
sym1 = input.symbol("FX_IDC:EURUSD", "First symbol") // Change if your broker uses another prefix
sym2 = input.symbol("FX_IDC:GBPUSD", "Second symbol")
len = input.int(20, "Look-back length", minval = 2)
// ── Pull closing prices from both symbols on the chart’s timeframe ────────────
p1 = request.security(sym1, timeframe.period, close,
barmerge.gaps_off, barmerge.lookahead_on)
p2 = request.security(sym2, timeframe.period, close,
barmerge.gaps_off, barmerge.lookahead_on)
// ── Convert to log-returns (removes price-level bias) ─────────────────────────
r1 = math.log(p1 / p1[1])
r2 = math.log(p2 / p2[1])
// ── Rolling Pearson correlation ───────────────────────────────────────────────
corr = ta.correlation(r1, r2, len)
// ── Plot ──────────────────────────────────────────────────────────────────────
plot(corr, title = "ρ", linewidth = 2)
hline( 1, "+1 (perfect)", color = color.green)
hline( 0, "0", color = color.gray)
hline(-1, "-1 (inverse)", color = color.red)
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。
開源腳本
本著TradingView的真正精神,此腳本的創建者將其開源,以便交易者可以查看和驗證其功能。向作者致敬!雖然您可以免費使用它,但請記住,重新發佈程式碼必須遵守我們的網站規則。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。