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)
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.
Script open-source
In pieno spirito TradingView, il creatore di questo script lo ha reso open-source, in modo che i trader possano esaminarlo e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricorda che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.