Pine Script中如何提取外汇货币对的基准货币与报价货币数值?
在Pine Script中提取外汇基准/报价货币数值的方法
好问题!在Pine Script里,确实能拿到外汇货币对里基准货币和报价货币的单独价格数值——不过得用跨品种数据调用的方式来实现,我给你拆解清楚:
首先得明确:外汇货币对的价格是两种货币的相对价值(比如AUDCAD表示1澳元能兑换多少加元),单独的“货币数值”其实是指它们对某一通用计价货币(通常是美元)的汇率。要获取AUD和CAD的单独数值,我们可以调用它们分别与USD配对的货币对数据。
具体实现代码
这里以AUDCAD为例,用Pine Script v5写一个可直接运行的示例:
//@version=5 indicator("提取基准/报价货币数值", overlay=true) // 获取AUD对USD的价格(代表1AUD的美元价值) aud_usd_price = request.security("AUDUSD", timeframe.period, close) // 获取CAD对USD的价格:USDCAD是1USD换多少CAD,所以1CAD的美元价值是1/USDCAD cad_usd_price = 1 / request.security("USDCAD", timeframe.period, close) // 在图表上实时显示数值 var price_label = label.new(bar_index, high, "", color=color.blue, textcolor=color.white, style=label.style_label_down) label.set_text(price_label, str.format( "AUD(USD计价): %.5f\nCAD(USD计价): %.5f", aud_usd_price, cad_usd_price ))
关键细节说明
request.security()是Pine Script跨品种/跨周期调用数据的核心函数:第一个参数填目标品种代码,第二个参数用timeframe.period保证和当前图表周期一致,第三个参数指定要获取的价格字段(这里用收盘价close,也可以换成开盘价、最高价等)。- 如果需要用其他货币计价(比如欧元),只需要把配对品种换成AUDEUR和CADEUR即可,逻辑完全一致。
- 注意:要确保你的交易平台(比如TradingView)支持调用这些交叉品种的数据,主流平台一般都没问题,但个别小众平台可能有数据权限限制。
对于你的AUDCAD例子,通过上述方法就能轻松获取到AUD和CAD各自的美元计价数值啦。
内容的提问来源于stack exchange,提问作者Joseph




