如何在PineScript(TradingView)中用ta.correlation计算不同标的相关性?
如何在Pine Script中计算不同交易标的的相关性
是的,必须通过request.security()函数加载第二个交易标的的价格数据,这是Pine Script中实现跨标的数据获取的标准方式,具体操作步骤和示例如下:
核心步骤
- 用
request.security()获取目标标的的价格序列(比如收盘价),注意标的符号的格式要符合TradingView的规范(例:美股"NASDAQ:AAPL"、加密货币"BINANCE:BTCUSDT")。 - 将当前图表标的的价格序列与加载的外部标的价格序列,一同传入
ta.correlation()函数,指定计算相关性的周期。 - 把计算出的相关性数值可视化到图表上。
完整代码示例
//@version=5 indicator("跨标的相关性指标", overlay=false) // 定义第二个对比标的的符号 target_ticker = "NASDAQ:AAPL" // 加载目标标的的收盘价,周期与当前图表保持一致 target_close = request.security(target_ticker, timeframe.period, close) // 计算20周期的相关性:当前标的收盘价 vs 目标标的收盘价 correlation = ta.correlation(close, target_close, 20) // 绘制相关性曲线与零轴参考线 plot(correlation, title="相关性", color=color.new(color.blue, 0), linewidth=2) hline(0, "零轴", color=color.gray, linestyle=hline.style_dashed)
注意事项
- 标的符号必须准确,不同市场/交易所的格式有差异,若加载失败先检查符号是否正确。
request.security()的第二个参数timeframe.period代表沿用当前图表周期,也可指定固定周期(如"D"代表日线、"H4"代表4小时线)。- 相关性数值范围在-1到1之间,1表示完全正相关,-1表示完全负相关,0表示无相关性。
内容的提问来源于stack exchange,提问作者KarlEs
相关产品推荐
相关产品推荐

